请教在DC时,异步信号的set_input_delay如何设置
时间:10-02
整理:3721RD
点击:
请教各位大神,设计有两个输入信号input_A和clk,input_A的波形变化与clk没有任何关系,在代码中,首先用clk对input_A采样得到input_A_sync,然后使用input_A_sync做后续处理。
input input_A, clk;
always@(posedge clk)
begin
input_A_sync <= input_A;
end
请问在DC综合的时候,如何约束input_A和clk之间的关系呢?也就是input_A的set_input_delay怎么设置呢?谢谢了!
input input_A, clk;
always@(posedge clk)
begin
input_A_sync <= input_A;
end
请问在DC综合的时候,如何约束input_A和clk之间的关系呢?也就是input_A的set_input_delay怎么设置呢?谢谢了!
貌似你寫一個 DFF 沒寫全, 可能會合成出 latch 八.
DFF 只要給 create_clock 在 clk pin, set_input_delay 在 input_A 上.
基本上 Tool 就會去分析 input_A_sync output 至下一個 DFF 的 timing check.
完整 DFF 敘述:
always@(posedge clk or negedge rst_n)
if (!rst_n)
input_A_sync <= 0;
else
input_A_sync <= input_A;
既然input A和clk没有任何关系,就应该用寄存器打2拍同步,而不是只采一次(亚稳态)
如果用两拍同步了,input_A的input delay可以不用约束
如果非要约束,可以先定义一个虚拟时钟clkx,然后设置input_A的input delay和clkx相关,且把clkx和clk约束为两个独立的时钟域即可。