随着FPGA设计复杂程度越来越高,芯片内部逻辑分析功能显得越来越重要.硬件层次上的逻辑分析仪价格十分昂贵,而且操作比较复杂.目前,FPGA芯片的两大供应商都为自己的FPGA芯片提供了软件层面上的逻辑分析仪,可以帮助我们在线分析芯片内部逻辑.而且操作简单方便.但是往往因为某些原因,有些信号在综合的时候就会被优化掉,就可能会导致我们的设计失败,当然在为逻辑分析仪添加观察信号的时候也无法找到该信号.从而对设计.调试人员的工作带来一定的不便.下面就分别以Xilinx公司的逻辑分析仪ChipScope和A…
http://www.fpga.com.cn/advance/skill/speed.htm http://www.fpga.com.cn/advance/skill/design_skill3.htm 时钟是整个电路最重要.最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要非常小, 否则就可能造成时序逻辑状态出错:因而明确FPGA设计中决定系统时钟的因素,尽量较小时钟的延时对保证设计的稳定性有非常重要的意义. 1.1 建立时间与保持时间 建立时间(Tsu:…
FPGA设计中遇到的奇葩问题之“芯片也要看出身”(一) 昨夜西风凋碧树.独上高楼,望尽天涯路 2000年的时候,做设计基本都是使用Xilinx公司的Virtex和Virtex-E系列芯片.那时候Altera技术实力还比较弱,基于Altera的芯片做设计是要被大家diss的.某天晚上大概十点多了吧,我正如痴如醉的沉浸在编码的快感当中.主管悄无声息的站到了我身后,我从显示器中看到了隐约的影子,转头一看果然是他老人家. 主管神色凝重,眉头紧蹙.我在脑子里迅速回顾了一下自己最近的所作所为,确信没干什么罪…
(1)异步复位与同步复位的写法 1.异步复位与同步复位的区别? 同步复位:若复位信号在时钟有效边沿到来时刻为有效,则执行一次复位操作. 优点: 1)同步复位是离散的,所以非常有利于仿真器的仿真: 2)同步复位只有在时钟有效边缘到来时才有效,所以可以滤除高于时钟频率的毛刺,提高复位的可靠性: 3)使用同步复位的系统可以被设计成为纯粹的同步时序逻辑,这样会有利于FPGA项目开发流程中的时序约 束和时序分析环节的工作,而且综合出来的FPGA设计的性能以便也会较高. 缺点: 1)必须保证复位信号有效持续…
1.一个简单的异步复位例子: module test( input clk, input rst_n, input data_in, output reg out ); always@(posedge clk or negedge rst_n) if(!rst_n) out <= ; else out <= data_in; endmodule 综合结果如下: 我们可以看到,FPGA的寄存器都有一个异步清零端(CLR),在异步复位设计中,低电平有效的rst_n复位信号就可以直接连在这个端口上.…
过去,FPGA设计者主要关心时序和面积使用率问题.但随着FPGA不断取代ASSP和ASIC器件,设计者们现正期望能够开发低功耗设计,在设计流程早期就能对功耗进行正确估算,以及管理和对与FPGA相关的各种内部电压及I/O电压排序.电源管理已成为FPGA设计者的一个重要考虑因素,特别是在设计便携式.电池供电的产品时.通过功率监控设计技术能够减少功耗.增强可靠性.降低生产成本,并减少对电源和冷却的要求.设计者可能会面临的与FPGA电源相关的主要问题如下:系统级电源要求是什么?将要消耗多少电流?要求多大…
在通常的设计中,不建议使用浮点数计算,因为浮点数计算会消耗FPGA大量的逻辑单元.但很多情况下,又需要使用浮点数进行计算提高精度. 所以需要有合适的方法计算浮点运算. 正常情况下FPGA只能以整形数据进行计算,必须将浮点数转换为二进制整形数据进行输入.那么小数点就在你的心中. 比如,当输入123乘以241给FPGA的时候,FPGA计算的就是123*241的整形乘法,得到的结果也是整形输出,但是你也可以说我做的是1.23*2.41,数据里面小数点究竟在哪里自己的程序知道就行了.比如可以统一约定,所…
Optimizing Clocking Schemes Avoid using internally generated clocks (other than PLLs) wherever possible because they can cause functional and timing problems in the design. Use clock setting assignments on any derived or internal clocks to specify th…
1 引言    基于FPGA的数字系统设计中大都推荐采用同步时序的设计,也就是单时钟系统.但是实际的工程中,纯粹单时钟系统设计的情况很少,特别是设计模块与外围芯片的通信中,跨时钟域的情况经常不可避免.如果对跨时钟域带来的亚稳态.采样丢失.潜在逻辑错误等等一系列问题处理不当,将导致系统无法运行.本文总结出了几种同步策略来解决跨时钟域问题. 2 异步设计中的亚稳态    触发器是FPGA设计中最常用的基本器件.触发器工作过程中存在数据的建立(setup)和保持(hold)时间.对于使用上升沿触发的触…
题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢.这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一个有志于FPGA/CPLD方面发展的工程师学习的. 1.硬件设计基本原则 (1).速度与面积平衡和互换原则:一个设计如果时序余量较大,所能跑的频率远高于设计要求,能可以通过模块复用来减少整个设计消耗的芯片面积,这就是用速度优势换面积的节约:反之,如果一个设计的时序要求很高,普通方法达不到设计频率,那…