一、时序路径
1)从输入端口到触发器的数据D端;
2)从触发器的时钟clk端到触发器的数据D端
3)从触发器的时钟clk端到输出端口
4)从输入端口到输出端口

二、pin、port、cell、net

cell就是基本的模块,如触发器、查找表;每个cell都有自己的pin(引脚),pin有方向(pin和port是相对的,根据处理问题的作用域来区分,在一个作用域是pin在另一个作用域也有可能是port);cell之间通过net相连。
三、时序约束

1,寄存器到寄存器之间路径的约束:
约束时序路径是为了满足寄存器的建立时间和保持时间。寄存器到寄存器之间的路径主要需要包括Tco、Tlogic、Trouting和Tskew。因为数据是随着时钟的节拍一拍一拍往后传的,因此这里的寄存器与寄存器之间的路径约束,就是对时钟的建模,或者是说对时钟的约束。

定义时钟时钟的命令为:create_clock。假设时钟周期为10ns,定义时钟的命令是:
create_clock -period 10 [get_ports clk]
定义时钟时,我们必须定义时钟周期(也就是-period这个选项)和时钟源(端口或引脚)(也就是设计中的clk),也可以加上一些可选项(option)来定义时钟的占空因数(duty cycle),偏移(offset/skew)和时钟名( clock name),我们可以通过man create_clock 来查看命令的相关选项。
2,输入端口到寄存器D端的约束
偏移约束是指数据和时钟之间的约束,规定了外部时钟和数据输入输出引脚之间的时序关系;

偏置输入:输入管脚到同步元件
OFFSET_IN_AFTER:Tarrival=Tco+Toutput+Tlogic
OFFSET_IN_BEFORE:T-Tarrival=Tinput+Tsu
两者的约束描述等价。
set_input_delay -clock clk max [4] [get_ports name] //即Tarrival
3,寄存器D端到输出端口的约束
偏置输出:同步元件到输出管脚
OFFSET_OUTPUT_BEFORE:Tstable=Tlogic+Tinput+Tsu
OFFSET_OUTPUT_AFTER:T-Tstable=Tco+Tinput
两者的约束描述等价。
set_output_delay -clock clk max [4] [get_ports name] //即Tstable
参考链接
https://wenku.baidu.com/view/6babc8e286c24028915f804d2b160b4e777f8157.html
https://www.cnblogs.com/IClearner/p/6624722.html

本文详细介绍了FPGA设计中时序路径的概念,包括输入端口到触发器、触发器之间的路径约束,以及如何使用create_clock命令定义时钟。时序约束对于满足寄存器的建立时间和保持时间至关重要,同时讲解了OFFSET_IN_AFTER和OFFSET_OUTPUT_BEFORE等偏移约束,以确保数据和时钟之间的正确同步。

4772

被折叠的 条评论
为什么被折叠?



