大前提:先写好了功能模块和testbench文件,并且综合后没有问题。
(1)在Source下,选拦野择Post-Route Simulation。
(2)将testbench文件添加进去。右键->Add Cope of Source...,选择testbench文件。
(3)在Source下选择testbench文件,在Processes下,单击Xilinx ISE Simulator展开。
(4)右键Simulate Post-Place &Route Model,选择Properties。
(5)Simulation Model Properties类:简纯喊里面参数设置NetGen在生成仿真网表时使用的选项。(确保设置显示级别到Advanced。可默认使用默认仿真模型参数)
(6)ISE Simulator Properties类:里面参数设置仿真器运行时序仿真的相关选项。根据testbench文件中设置的仿真参数修改。
(7)单击OK,关闭Process Properties对话框。
(8)双击Simulate Post-Place &Route Model运行仿真。
使用ISE仿真器进行时序仿真的注意事项:
(1)当需要修改testbench文件时,需注意,我们之前是选择Add Cope of Source...所以修改原来文件是不会对仿真有什么改变的。
(2)当仿真时间不确定不易计算定值时,可在testbench中加入$stop命令来控制仿真时间,随后运行时选择Run All即可。
最基大汪本的约束唤仿键是管脚约束,让你的逻辑通过对应的io连接到电路板上面对应的外设。然后是时钟和巧约束,告诉ise布局布线要满足的时序要求
还有区域约束,相当于手工布局,以优化时序设计。
占空比约束没问题 不写也银型空可以 缺省就是50%虽然都是用于pin的约束 tsu/th和offset不是一回事(offset是io的数据和时钟的延迟 tsu/th是芯片里的dff的数据和时钟的延迟关系 不考虑clock skew的话 应该满足offset+tsu+delay <= T) 如果是registered-in/registered-out的设计 没必要加tsu/th约束了
原租蠢则上讲hold time不需要设的 这就是工锋瞎艺的一个参数 选择了器件以及环境条件以后 工具自然获取了该参数
不管哪个厂家的fpga 肯定hold violation都少于setup violation的
如果出现这种情况 一般都是时钟有问题 查一下clk是否使用了全局时钟资源 再查一下TimeQuest选项Common Clock Path Pessimism Removal是否使能
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)