时序问题请教!
时间:12-11
整理:3721RD
点击:
一个信号d由时钟c_1产生, 但是d每2个c_1时钟才变换一次。
现在用一个时钟c_2 = c_1/2 取读取这个信号d。 有没有时序隐患。。
c_2 由c_1产生, 就是在每一个时钟上升沿反一下相,然后接了一个buf得到
目前我测试的现象是 直接用c_2 读取 数据有时候会不对, ( 难道采到亚稳态了 )
中间加一个fifo 就对了
我想知道 直接读为什么不可以。
是不是我的时序约束有问题?
在 ise 工程中,时序约束为以下
NET "c_2" TNM = "c_2";
TIMESPEC "TS_CLK_2M" = PERIOD "c_2" 200 ns HIGH 50 %;
NET "c_1" TNM = "c_1";
TIMESPEC "TS_CLK_4M" = PERIOD "c_1" 100 ns HIGH 50 %;
谢谢
现在用一个时钟c_2 = c_1/2 取读取这个信号d。 有没有时序隐患。。
c_2 由c_1产生, 就是在每一个时钟上升沿反一下相,然后接了一个buf得到
目前我测试的现象是 直接用c_2 读取 数据有时候会不对, ( 难道采到亚稳态了 )
中间加一个fifo 就对了
我想知道 直接读为什么不可以。
是不是我的时序约束有问题?
在 ise 工程中,时序约束为以下
NET "c_2" TNM = "c_2";
TIMESPEC "TS_CLK_2M" = PERIOD "c_2" 200 ns HIGH 50 %;
NET "c_1" TNM = "c_1";
TIMESPEC "TS_CLK_4M" = PERIOD "c_1" 100 ns HIGH 50 %;
谢谢
c2相对c1有一点延时,因此拿c2采样d可能会有hold time的问题吧