|  | 
 
 发表于 2022-11-16 23:13:57
|
显示全部楼层 
| 本帖最后由 thjan65 于 2022-11-16 23:34 编辑 
 
 RTL 出現某些地方用 @(posedge clock) 某些地方用 @(negedge clock).  這是可以的.
 如果DFT compiler時, 使用MIX EDGE 選項, 則 tool 會自動處理.
 
 但某些人偏好要求Scan chain pre/post sim時, D-FF 輸出都是 posedge.
 這就需要一些技巧了, 個人看過以下二種做法.
 
 (1)
 assign CLK = dft_mode ? dft_clk : CLK_in;
 assign CLK_n = dft_mode ? dft_clk : ~CLK_in;
 原來的always @(negedge CLK) 此時改寫成 always @(posedge CLK_n)
 
 (2)
 assign CLK1 = dft_mode ? ~dft_clk : CLK_in;
 原先的always @(negedge CLK) 此時改寫為always @(negedge CLK1)
 
 
 | 
 |