FPGA/ASIC设定约束条件的使用
看了很综合工具都解释到约束条件的问题,但是一直不清楚编译工具的约束条件与编程语言的约束条件有做区别,它们在综合与仿真时有做不同的用处!
FPGA/ASIC设定约束条件的使用
不同工具都有自己的约束方法,写在语言里面的一般叫directive,我觉得它的功能会比约束少一些。存在的功能也往往和约束类似。
不同的语句有不同的用处,很难概括的说。
FPGA/ASIC设定约束条件的使用
建议在专题讨论中名字不要采用提问的方式,否则与一般的就讨论不就没有区别了么?设立专题讨论也就没有太大意义了。
因此建议题目可以改为:asic/fpga设计中约束的使用或者其他更确切的名字
大家的意见?
FPGA/ASIC设定约束条件的使用
我已经把标题改了!
FPGA/ASIC设定约束条件的使用
在综合与仿真时这两种对你所设计的程序有没有影响啊!
我们应该在什么时候考虑它的约束条件呢,
FPGA/ASIC设定约束条件的使用
我做fpga和asic时,约束使用不太相同。
先说fpga, 我做fpga综合时从来没有用过约束文件,只是在座P&R时使用约束,约束条件主要有:时钟约束、位置约束、输入输出时序约束等
而作ASIC时,在综合时就要考虑约束,主要有时钟约束、输入输出时序约束、工作条件约束、线型、最大扇出扇入等
FPGA/ASIC设定约束条件的使用
我做FPGA的一般流程是1.写代码。2.综合。3。做时序仿真(验证时序逻辑)。4.布线下载然后验证硬件。在保证第三步正确的前提下,如果我们设计出现不稳定的情况(保证硬件无误),应考虑约束文件还是代码的可能性大一些呢。
FPGA/ASIC设定约束条件的使用
约束其实有两个目的:
1.给定p&r或综合的规则
2.给出时序指标,待p&r之后进行时序分析
首先你的约束必须写全写准,P&R之后会给出时序是否匹配的说明。如果不匹配,那么你的硬件就有可能过不了。
但是,一般情况下都应该在P&R之后作后仿真,如果后仿真通过了,硬件再不通过则很有可能问题出在硬件上.
FPGA/ASIC设定约束条件的使用
同意楼上的观点。个人觉得如果问题出现在硬件上,也多半是因为FPGA与其他处理器或存储器之间的时序匹配上,一定要注意接口的时序,以及接口数据的稳定性。我觉得如果接口时序匹配,数据稳定那么一般如果后仿真通过了,在板子上跑应该是没什么问题的。
FPGA/ASIC设定约束条件的使用
其实我觉得大部分针对综合工具的约束都可以写在code里, 两者的作用一般相同,比如Syplify Pro用于综合FPGA的设计;
而一般综合工具对生成的网表加约束;
但有个问题,加在code里的约束会对不同的综合工具和code类型(VHDL或Verilog)敏感,所以,一般建议在综合的时候加约束,写在SDC中,
另外,个人觉得在综合的时候加约束很有效,尤其对于非全同步设计
像一些gatedclock fix, retiming,加probe,FSM编译,还有针对一些电路的优化等;
还有,大部分综合工具有的约束不会带到仿真中去,但仿真的约束一般会带到综合中去;
例如: ’ifdef; tanslate on/off,等
如果那位有兴趣,可以总结这些仿真和综合的约束;
虽然还不太懂,不过觉得分析的挺好
FPGA/ASIC设定约束条件的使用
是亚,我现在正在用synopsys综合一个电路,但是好像对那些具体的约束条件,如时间,面积还有功耗等等的约束条件,具体实现出来好像对于电路来说的优化好像体现不太出来,是不是在分析报告中可以体现出来这些约束是否达到要求。
应该加上约束条件对整体电路结构来说应该是有比较大的影响的啦。
呵呵,这只是我的一点浅浅的见解,说的不对,让各位见笑啦