- 博客(45)
- 收藏
- 关注
原创 官方源码,LVDS中判断数据是否对齐时钟上升沿的方法解析
为了让前后周期的数据不一样,便于检测是是都是采样同一周期还是非同一周期的数据,因此源码上面用的是边沿检测的方法。那么P端与~N端之间就会有半个周期差,在时钟上升沿同时采样P端和~N端信号,效果上就是对一个信号隔半个周期采样一次了。如果前一个采样值不相同,改变延时后采样值相同了,那么也能确定在中心附近了。如果前一个采样值不相同,改变延时后采样值相同了,那么也能确定在中心附近了。如果前一个采样值相同,改变延时后采样值不同了,那么就确定在中心附近了。采样的值相同,则增大数据的延时。
2024-11-01 10:19:28
662
原创 易灵思时钟输出问题记录
1. 时钟名不能从core直接输出,而只能使用interface中使用的时钟,如PLL输出的时钟或者GCLK输入的时钟。在添加 GPIO时,设置Mode为clkout,并在output Clock中输入时钟名。这里需要 注意的是,
2024-09-06 12:22:10
369
原创 multisim一个仿真电路图如何设置出现正负电压
如此这般,把另一个Vcc设置为Vcc2,同时设置所需电压值就行了。单击“否”,就完成了第一个Vcc的设置。
2024-04-27 12:43:44
3550
原创 AXI BRAM CONTROLLER中关于存储深度的改动
ZYNQ PL端BRAM和PS通过AXI BRAM CONTROLLER相连时,BRAM必须为BRAM CONTROLLER MODE,数据位宽和数据接口数可以在AXI BRAM CONTROLLER中修改,但是发现深度无法修改,具体方法是在ADDRESS EDITOR中修改AXI BRAM CONTROLLER的range,综合后生效。有一次在做项目的时候需要在FPGA挂载Bram,在block中添加了Bram后,Bram的设置界面的深度是没有办法做更改的,我比较郁闷。最后在上网查询后得知。
2024-04-22 10:23:35
715
2
原创 BRAM读写 “Generate address interface with 32 bits”勾选不勾选的区别
当使用bram controller时Generate address interface with 32 bits一定被勾选,估计是axi4连用的结果,axi按字节编址,这种情况下每次地址要加(width/8),而普通情况地址加1就是读下一个位宽的数据。
2024-04-21 21:54:03
356
原创 【静态时序分析】如何寻找时序路径的起点与终点
左边的电路图是需要分析的电路,我们的目的是要对此电路进行时序分析,那首先要找到该电路需要分析的时序路径,既然找路径,那找到时序分析的起点与终点即可。实际进行时序分析时,可不必每次都这么转换,但是不得不说,这种理论化的方式可以让你的分析更具理论支撑,见多了熟悉了之后便可更快速的识别时序路径。存储单元的数据输出,其实这和第2条一致,时序单元也是存储单元,例如DFF,但这里的存储单元一般指存储器,例如RAM等;时序单元的数据输入,例如上图右边的10,12,14;设计边界的输出Q0,Q1,Q2;
2024-04-19 17:01:44
501
原创 金字塔原理之表达的逻辑
原文链接:https://blog.csdn.net/Reborn_Lee/article/details/103533598。
2024-04-19 16:59:09
141
原创 FPGA开发设计规范
(1)所有综合工具都支持的结构:always,assign,begin,end,case,wire,tri,aupply0,supply1,reg,integer,default,for,function,and,nand,or,nor,xor,xnor,buf,not, bufif0,bufif1,notif0,notif1,if,inout,input,instantitation,module,negedge,posedge,operators,output,parameter。
2024-04-18 10:14:14
917
原创 书籍推荐(附上每本书的看点)
数字电子技术基础》,阎石,看一遍这本书,我感觉心里很踏实。很多基础笔试题,画图题都源于这本书,可以反复看;6、《硬件架构的艺术》,每一届都有人推荐这本书,值得拥有,我主要看了亚稳态和跨时钟域部分的内容。2、《verilog数字系统设计教程》,夏宇闻老师的蓝皮书,这本书里包含很多考试知识点;3、《SOC设计方法和实现》郭炜老师写的,我觉得他的低功耗设计讲得很好;1、《FPGA深度解析》,这本书的FIFO部分我觉得讲得很好;
2024-04-18 10:09:51
473
原创 FPGA学习路线
若想在一个领域深耕,则需要学习和了解该领域的专业和系统的知识,比如关于加密解密算法,深入学习的话需要掌握信息论、信息论与编码等更加专业知识。Pieces_thinking的博客 : https://blog.csdn.net/pieces_thinking?FPGADesigner的博客 : https://blog.csdn.net/FPGADesigner。李锐博恩(Reborn) : https://blog.csdn.net/Reborn_Lee。
2024-04-18 10:05:57
989
原创 时序分析相关考题汇总
时序分析例题_如下一个分频电路,触发器建立时间tsu = 2ns,保持时间thold = 2ns,逻辑延时tq =-CSDN博客IC/FPGA笔试/面试题分析(七)建立时间和保持时间类型考题汇总分析_建立时间 保持时间 笔试题-CSDN博客
2024-04-18 09:57:20
322
原创 时序这一章节图谱
路径加buffer解决保持时间违例。保持时间违例如何解决。时序分析:建立时间,保持时间问题,(有效建立时间,保持时间问题)考题有建立时间违例如何解决。之后文章标题应该每一次都加上前缀,理清知识架构。时序优化:流水线就是时序优化的一种方式。时序约束:4条路径,对应着不同的约束。
2024-04-18 09:51:34
138
原创 其他问题的汇总
TCM和cache应用场景的区别,如果用一个dma搬运数据到cache会不会解决内存空间的问题。flash cache DRAM SDRAM谁速度快,谁容量大?对低功耗设计有多少了解?有哪些低功耗设计方法。除了人肉看波形外,还有什么验证正确性的办法?指令乱序是出现在什么情况下是,怎么实现的。csic和risc-v的区别。分支预测是什么、有哪些方法。risc-v指令的特点。什么是cache一致性。数字IC关注什么工艺角。你了解过PCIE吗?
2024-03-31 11:15:34
145
原创 同步异步相关问题
为什么一般的设计都是同步设计?同步电路和异步电路的优缺点?同步复位和异步复位的区别,异步复位同步释放又是什么?什么是同步电路,什么是异步电路?如何实现脉冲同步器和边沿同步器?同步复位和异步复位的优缺点?什么是竞争和冒险,如何消除?什么是同步时钟和异步时钟?
2024-03-31 11:07:54
159
原创 格雷码相关
空满判断,为什么要Gray码,使用了Gray码以后对FIFO深度有要求吗,如果FIFO想一次读写都是2个bit怎么办?格雷码和二进制码应用时如何选择?状态机如果应用格雷码进行状态编码需要注意什么?解释补码,热独码,格雷码?二进制与格雷码的相互转换?
2024-03-31 10:56:38
159
原创 数字IC和FPGA基本开发流程、FPGA基本构成
在IC流片后发现频率调快后出现问题,问题出现在哪?在IC流片后发现调整频率都无法解决问题,使用热风枪吹到70度后问题解决,问题出在了哪?LUT为什么能存数据呢?LUT是如何实现组合逻辑的?Altera与xlixn的FPGA有哪些组成?在布局布线的时候除了做时序约束还要做哪些约束?对低功耗设计有多少了解?有哪些低功耗设计方法。FPGA 不同bank之间什么不同?LUT和Block RAM如何选择?数字IC流程中插入扫描链的作用?FPGA和ASIC区别?数字IC关注什么工艺角?说一下IC设计的流程。
2024-03-31 10:53:34
145
原创 FPGA基本语法的考察
parameter 和 define ,local parame 的区别?reg和wire的区别,reg定义的变量一定是寄存器吗?
2024-03-31 10:45:30
150
原创 跨时钟域FIFO相关
空满判断,为什么要Gray码,使用了Gray码以后对FIFO深度有要求吗,如果FIFO想一次读写都是2个bit怎么办?如果不考虑读写时钟频率的关系,异步FIFO的深度的设定一般有什么限制嘛?介绍一下异步FIFO的原理以及内部如何实现跨时钟域?在同步设计中,FIFO对前后级的握手信号如何产生?同步、异步FIFO的区别,在设计中有哪些不同?单bit信号从慢时钟域到快时钟域有什么方法?会不会出现FIFO永远不够深的情况,为什么?跨时钟域处理时对单bit信号有什么要求?单口RAM实现同步FIFO的设计方法?
2024-03-31 10:42:49
217
原创 时序约束、分析、优化相关的题目汇总
时钟是不是越稳定越好,如果时序域量足够,是否可以容忍时钟的质量降低一些?分频用什么约束,set_clock_groups 是什么?什么是建立时间,什么是保持时间?如何修复建立时间和保持时间违例?亚稳态产生的原因,如何消除?为什么打两拍可以处理亚稳态?时序分析的路径有哪几种?
2024-03-31 10:30:25
201
1
原创 什么是同步电路,什么是异步电路?
在电路中同一个时钟源的时钟分频出来的不同频率的时钟作用于两部分电路,这两部分电路也是同步的。反之,不同时钟源的电路就是异步电路。异步时钟域所涉及的两个时钟之间可能存在相位差,也可能没有任何的频率关系,即所谓的不同频不同相。异步逻辑电路是各时钟之间没有固定的因果关系。同步逻辑电路是时钟之间有固定的因果关系。对于数据的角度来说,数据有。
2024-03-31 10:19:50
514
1
原创 什么是竞争和冒险,如何消除?
设计中最简单的避免方法是尽量使用时序逻辑同步输入和输出。(即让系统对冒险现象不敏感)信号由于经由不同路径传输达到某一汇合点的时间有先有后的现象,就称之为。由于竞争现象所引起的电路输出发生瞬间错误的现象,就称之为。3:使用时钟同步电路,利用触发器进行拍打延迟;1:增加滤波电容,滤除窄脉冲;2:修改逻辑增加冗余项;4:用格雷码计数器。
2024-03-31 10:11:32
926
1
原创 同步复位和异步复位的优缺点
缺点: 当复位信号宽度小于时钟周期时,可能需要一个脉冲展宽器,使得复位信号在时钟边沿能被正确采样;在采用门控时钟的设计中,复位信号有效是时钟可能处于关闭状态,复位无效;复位信号独立于时钟,只要复位信号发起,电路立即复位;同步复位:优点是可以保证复位只发生在有效时钟边沿,过滤掉复位信号毛刺。从资源方面考虑:fpga底层寄存器如果是异步复位那么就使用异步复位的电路更节省资源,如果FPGA底层的寄存器是同步复位的,那么就使用同步复位的电路更节省资源。复位信号独立于时钟,只要复位信号发起,电路立即复位;
2024-03-31 10:00:48
1378
1
原创 Verilog语言中parameter、localparam和符号常量的深度解析
parameter addrwidth = addrwidth * 2 //非法。在模块或实例例化时,可通过参数传递改变在被引用模块或实例中已定义的参数。为了区分括号内是参数还是端口信号,所以再参数的前面加了一个#号来进行标记。用parameter来定义一个标示符,代表一个常量,称为符号常量。可用字符串表示的任何地方,都可用定义的参数来代替;1.parameter常量(符号常量)参数是本地的,其定义只在本模块有效;常用参数来定义延时时间和变量宽度。
2024-03-27 19:47:37
1457
原创 FPGA亚稳态学习总结
如果触发器的输入电压采样时间过短,即时序不够,则触发器需要花很长时间来实现输出逻辑达到标准电平,也就是说,电路处于中间态的时间变长,使得电路“反应”迟钝,这就是“亚稳态”。(例如输入信号在时钟有效沿的建立时间和保持时间之间改变了,导致不满足触发器的建立时间或保持时间,导致输出有一段时间的不稳定态,就是亚稳态。但是还有一种说法:亚稳态是触发器的一个固有特性,正常采样也会有一个亚稳态时间。当建立时间和保持时间满足时,触发器会经历采样,亚稳态后,进入一个正确的状态。
2024-03-26 17:28:19
1655
原创 vivado2017.4 与modelsimSE-64 10.4联合仿真
Vivado与 Modelsim 联合仿真一般有两种方法:第一种方法是将 Modelsim与 Vivado 关联起来,在 Vivado 运行仿真的时候,弹出 Modelsim 工具。这里我选择是vivado的安装目录创建一个名为vivado_library的文件夹。2、modelsim仿真:适用于高速接口之类的仿真,比如DDR3接口,modelsim可以加快仿真的速度。在刚刚的页面选择刚刚创建的文件路径,并且选择安装的modelsim win64文件路径。编译的时间可能会比较长。
2024-03-21 11:49:03
1490
1
原创 win11 远程打印机凭证不足解决方式
的时候想要去进行共享打印机的连接使用,但是却出现了凭证不足导致无法正常连接的情况。遇到这个情况要怎么去进行解决呢?接下来我们一起来看看以下的处理方法吧。3、填写你要访问的IP、用户名称和密码 (用户名填guest,密码为空即可),填写好之后确认退出。1、打开控制面板在地址栏中输入“ 控制面板\用户帐户\凭据管理器 ”回车。Win11提示凭证不足无法访问这台打印机怎么办?2、选择Windows凭据,点击添加 Windows凭据。
2024-03-15 19:32:50
14060
2
原创 FPGA设计中,到底用FIFO还是RAM?
有的场景是只能使用RAM,比如存放表项的时候,有的场景是RAM和FIFO都可以使用,比如存放数据的时候,从功能的角度来讲,FPGAer都知道这两种存储单元如何使用,但是从工程的角度,比如板上问题的定位、存储单位读写逻辑的修改和维护等方面来看,用FIFO还是用RAM还是有点点讲究了。最后在一些特殊的应用场景下,比如对数据从写入到读出有延时需求的场景,不同的FIFO设计,有可能不满足要求。问题定位难:除了上述地址错误导致写入的数据错误不好定位外,RAM没有空满状态,做缓存的时候,RAM的溢出同样不好定位。
2024-02-22 21:28:36
1110
1
原创 FPGA 串口波特率和时钟周期的换算问题
但是在FPGA中,时间的最小单位是时钟周期,例如100Mhz的时钟,那么我们在这个系统衡量时间的最小单位就是10ns。一般FPGA编写相关的程序时,主要是需要做一个分频计数器。以上问题转换为如何计算这个计数器是多少进制的问题。以下附上一个完整的根据波特率产生采样和发送使能的完整代码。(tip:一般时间以ns为换算单位)这里波特率的单位是绝对的,用秒相关的单位进行衡量。
2024-01-18 16:01:20
1670
1
原创 挑战异步FIFO设计时序的全解析:时序问题与同步策略大揭秘
如果没有适当的延时,可能会出现这样的情况:在低速时钟域中读取数据时,读指针仍然指向旧的位置,数据计数没有减少,almost_empty 信号没有及时更新。当高速时钟域写入数据时,需要确保低速时钟域读取数据时,写指针、读指针、数据计数以及空和满的状态信号都已经在低速时钟域中更新。通过引入适当的延时和同步信号,我们可以确保在不同时钟域之间进行稳定的状态同步,从而有效地解决异步FIFO设计中的时序挑战。因此,通过引入适当的延时,可以确保在进行下一步操作之前,涉及到的所有状态信号都已经在异步时钟域中稳定。
2024-01-18 14:40:31
2884
1
原创 从传统设计到现代设计:SystemVerilog在RTL可综合设计中的优势
通过赋值 ‘1 , '0 , 'Z , 'X。来赋值全0、1、X、Z。枚举类型主要用在状态机状态变量的定义时。下面是各个语句的语法。
2024-01-17 23:02:57
901
原创 告别困扰:解决VMware Workstation中Linux虚拟机关机再开机后无history记录问题的终极指南
此外,重启命令包括reboot和shutdown -r。在Linux系统中,常用的关机命令包括shutdown、halt、poweroff和init。需要注意的是,在Linux系统中只有拥有root权限的用户才能执行这些命令。因此,在使用这些命令时需要具有相应的权限。出问题的原因:通过了VMware Workstation的关机键关机的。听课的时候写的指令第二天还想再看一下,可是却没有记录。history 指令是查看之前输入的命令历史记录的指令。解决方法:通过linux系统的命令进行关机。
2024-01-16 09:54:06
1073
1
原创 vim 列编辑:提高文本处理的效率
列插入 ctrl+v, 选中后 shift+i ,编辑完毕 ESC。列替换 ctrl+v, 选中后 s ,编辑完毕 ESC。列删除 ctrl+v, 选中后 d。列复制 ctrl+v, 选中后 y。
2024-01-13 17:00:41
459
1
原创 Verilog中的‘repeat‘关键字:使用方法与技巧
Example2中,repeat (3) @(posedge clk);语句后有一个分号,也就是空语句,什么都不执行,当遇到3次时钟上升沿后,才会执行adder1
2024-01-13 16:03:13
6399
1
ADS8674/ADS8678数据手册
2024-01-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人