网站重新上线,多谢朋友们的关心
May 14
ISE6以前: Xilinx Answer Record 19604
ISE7以后: Xilinx Answer Record 21508
ISE9的compxlib已经有图形界面,就更方便了一些。Xilinx Answer Record 24800

修改了ModelSim.ini后,要注意这个ini是不是真正起作用,因为modelsim有比安装目录中的优先级更高的modelsim.ini,他们分别是工程目录中的modelsim.ini和在环境变量MODELSIM中指定的modelsim.ini。
Tags: , ,
Apr 13

Smart Reset 不指定

RickySu , 18:28 , 技术经验 , 评论(0) , 引用(0) , 阅读(1108) , Via 本站原创
当FPGA设计的Timing Performance要求越来越高,工作速度越来越快,设计越来越大(Reset fanout大)时,Reset信号也成为一个需要考虑的问题。那么到底应该使用同步复位还是异步复位?

Xilinx 推荐使用同步复位,但是只使用同步复位还是有些问题的,下面简单分析一下:
(本文主要是对参考资料1的一个笔记)

问题1、Setup Time
当同步复位信号到达寄存器的时间不满足寄存器的Setup Time怎么办?

在同步设计中,如果输入信号不满足建立时间,那么一般认为会出现亚稳态。不过对于reset,这个问题还是比较好解决的。因为我们通常reset的时间都不止一个周期,即使第一个周期的reset结果我们不能确定,第二个后,我们总能保证所有的寄存器都被reset了。


问题2、由于Fanout太大,导致在net上的传输时间过长,那么如果reset的传输时间大于Period时间怎么办?

如果从Pin传输到寄存器的reset信号延迟大于了Period时间,那么就有可能导致在某一个时刻,有些寄存器复位了,有些还没有。延迟时间的长短导致了不同寄存器的不同状态。reset到达的时间可能有三种状态:满足setup time要求;不满足setup time要求;到了下一个时钟Period的区间。

点击在新窗口中浏览此图片

在仅考虑复位时,解决方法还是和问题1的方法一样,将reset保持长一点的时间就能解决问题。
但是复位后还需要释放复位信号。释放信号到达寄存器的时间不一致将导致某些电路工作不正常。

问题3、什么样的电路工作会不正常?又该怎么解决?

有两种性质的电路

点击在新窗口中浏览此图片

点击在新窗口中浏览此图片

前一种Pipe line的,如果后面的寄存器暂时不能在第一个时钟周期内复位,问题还是不大的,只要第一个寄存器保证工作正常就可以了。

后一种电路,由于有一些反馈系统,第一个寄存器用到了最后一级寄存器的结果,那么他们都需要在一个时钟Period内释放复位。

要注意的是,对于异步复位,这个问题更为明显。因为在一个时钟周期内任何时间都能释放复位信号,这样就增加了负载寄存器工作在不同状态的可能性大大增加了。也可以说,没有什么方法可以保证所有寄存器工作在相同的状态。而同步释放复位则可以保证都是在前一个时钟上升沿后一定时间内变化,这样只要设计保证了reset信号的延迟小于Period时间,设计的功能正确就能被保证。

要解决这种方法,参考资料2中的文章称用一种“异步复位同步置位”的方法解决问题,这种解决方法其实就是下图了。

点击在新窗口中浏览此图片

前级使用异步复位,移位寄存器的初始值为1,那么当有一个异步复位脉冲时,可以保证输出N个周期的复位信号。
后级采用同步复位,将复位信号的时序要求降为最低(一个Period时间)。





参考资料:

Get Smart About Reset (Think Local, Not Global)

同步复位和异步复位的比较

Asynchronous & Synchronous Reset - Design Techniques - Part Deux[PDF]

Comments on the previous paper
Tags: ,
Mar 29

FPGA 热插拔 不指定

RickySu , 09:41 , 技术经验 , 评论(0) , 引用(0) , 阅读(713) , Via 本站原创
Xapp251: Hot-Swapping Virtex-II and Virtex-II Pro Devices

Answer Record 19777: Are Spartan-3/-3E devices hot-swappable?
Tags: ,
Mar 8
对于纯ISE用户:
1、新的工程尽量用最新的ISE版本
2、已有的设计,如果正在使用的版本没有暴露什么缺陷,就不要更新到新的ISE了,因为更新有时候会带来问题。
3、如果使用的ISE不是当前最新版本,那么请升级到这个主要版本的最高版本并打上所有的Service Pack和IP Update。所有的升级补丁可以在www.xilinx.com/download找到。

对于EDK, ChipScope Pro, System Generator用户:
1、已有的设计,如果正在使用的版本没有暴露什么缺陷,就不要更新到新的ISE了,因为更新有时候会带来问题。
2、在10.1版本以前,由于EDK, ChipScipe Pro, System Generator的发布都会晚于同版本的ISE一到两个月,而且这些软件的使用都需要严格与ISE的版本匹配,比如ISE8.2不能和EDK8.1混用,所以,使用这些软件不必急着使用新版本的ISE。
3、10.1以后,ISE,EDK,ChipScope等软件和补丁都是同时放出的,所以可以立即更新到最新的补丁版本。


注1:Xilinx软件由于使用Java,所以不要将它们安装在带空格的路径下!给SysGen宿主的Matlab也一定要注意这一点。
注2:升级ISE会带来Map/Par算法的更新,通常这些更新会提高整个设计的Performance,但是Performance降低(比如占用面积增大)也是有可能的。
注3:最新的软件Update都可以在www.xilinx.com/download找到。
Tags:
分页: 6/11 第一页 上页 3 4 5 6 7 8 9 下页 最后页 [ 显示模式: 摘要 | 列表 ]