您的位置:首页 > 产品设计 > UI/UE

FPGA 时序约束(altera timequest)

2014-08-04 15:32 471 查看
1 好的时序约束可以指导布局布线工具进行权衡,获得最优的器件性能,使设计代码最大可能的反映设计者的设计意图。时序约束的目的就是发现设计中的时序违规,然后通过改正,调整关键路径的逻辑关系实现时序收敛。

2 TimeQuest 是Altera 在6.0 版的软件中加入的具备ASIC 设计风格的静态时序分析(STA)工具。采用Synopsys Design Constraints(SDC)文件格式作为时序约束输入.

3 TimeQuest所做的就是建立时间和保持时间的检查。对于异步信号就是恢复时间和移除时间。此外还有多周期约束。

4 时序检查的目的就是确认信号跳变发生在“信号跳变抵达窗口”内,而不会发生在“信号电平采样窗口”内。

5 加法器的Verilog代码如图4所示。注意到代码中的注释“synthesis keep”,这个注释插入到代码中,用来命令Quartus II软件在最后的电路实现中保留指定的节点和该节点的名称。这样做可以允许我们以保留的节点作为参考。



图4 示例中加法器Verilog代码

6 Timequest 中常用的时序约束语句

Collections:Searches and returns from the design netlist with a list of namesmeeting criteria

-get_ports
-get_pins
-get_clocks
-all_clocks
-all_registers
-all_inputs
-all_outputs

clocks: two types

absolute clock or base clock and generated clock: All clock are related by default;

Clock Constraints:

nCreate clock
nCreate generated clock
nPLL clocks
nAutomatic clock detection & creation
nDefault constraints
nClock latency
nClock uncertainty
nCommon clock path pessimism removal

Create a clock:
command: create_clock -name ? -period ? -waveform{risetime fall time} targets -add

nIf no clock constraints exist, default constraints created through two commands

derive_clocks-period 1.0

derive_pll_clocks

nDefault constraints not applied if at least one clockconstraint exists
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: