fpga中的input delay 该如何利用vivado设置,使用(1)第五天

问题:该怎么确认输入的最小和最大延迟?同理怎么确认例外和多周期。

上一节了解建立时间和保持时间,其实就是知道fpga的芯片的基本时钟工作。

接着上一篇了解了基本时钟,以及时钟路径之后就需要知道该怎么设置最大最小时钟延迟。

关于输入延迟

 

关于输入延迟,我觉得用上面的图标方式描述比较合适,文字描述还需要去理解路径,接下来对上述时钟做一个解释。

set_input_delay -clock CLKB -max [Tclkd_ext_max + Tco_max + Tbd_max – Tclkd_int_min] [ get_ports DIN ]

Tbd_data 代表这数据传输,因为触发器需要时钟驱动数据传输,所以Tbd_data代表时钟驱动下的数据从板子到FPGA的时间。

Tclk_ext,代表着时钟从板子到FPGA的的时间。

T_co代表着板子驱动板子电路的时钟。

如果时钟来自于晶振呢?

 

针对同源时钟,需要知道如果时钟和数据同步,那么分边缘对齐和中心对齐。如果是中心对齐,可以通过对数据时钟添加延迟add_delay,来有效采集数据。

set_input_delay -clock[get_clocks CLKB] -max max_input_delay [get_ports indata]

set_input_delay -clock[get_clocks CLKB] -min min_input_delay [get_ports indata] -add_delay

如果是边沿采集,就需要对时钟进行相位延迟采集。

set_input_delay -clock[get_clocks CLKB_90] -min min_input_delay [get_ports indata] -add_delay

另外如果是双沿采集,就需要对下降沿也进行同样的约束,原约束默认对上升沿约束。并且需要区分Clock_fall,是对时钟进行约束。

set_input_delay -clock[get_clocks CLKB] -max max_input_delay [get_ports indata] -clock_fall -add_delay

set_input_delay -clock[get_clocks CLKB] -min min_input_delay [get_ports indata] -clock_fall -add_delay

建立时间=数据所要求的建立时间-数据到达时间

保持松弛=测出数据的时间-数据所要求的保持时间

 

上面叭叭说一堆,但是具体该怎么用呢?从哪知道要吃时间呢?该怎么计算呢?

哈哈,开玩笑,计算可以不了解。但是确实需要知道时间应该从哪里找。对于芯片时间来说,最主要的时间参数就是Tco。TCO在各自的芯片手册上可以找到。

V=C/Er0.5

 T=V*L

介绍完输入延迟和输出延迟,接下来会对如果利用时钟和管教约束,优化电路设计。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章