|
請教 Synplify Pro9.6.1 Warning Message
/ q3 ~9 l3 a- l6 h% j: JSequential instance sLateCol_p has been Sequential instance sLateCol_p has been reduced to a combinational gate by constant propagation
# H5 [) o) D; f% F) Z% W4 ]( U+ [" o( X2 d- m2 H+ L* R
請教個問題,下面是Synplify 9.6.1 出現的Warning message ,
3 H4 }1 W6 d1 O k! C! S+ R請問這是什麼意思 ??
5 Y# i* r! X a% p' t& L9 N+ I我由字面上的理解得到的猜測是,將一個本應該是FIFO Sequential circuit ,合成為 Multiplier Combinational circuit
! V; T7 z; Q. m6 L為什麼 ld_tdr_cur_f 會被合成為Combinational, 但是 dly_tdr_wrn 卻不會 ??
3 a0 {- ]! O( S' R! K誰有相關的經驗嗎 ??3 V/ Y( N6 R, |; [ Y1 j3 t0 W6 E6 l
1 X5 |* V, E9 [/ C1 `$ A) g+ b. O& q@W: MO129 :"\projects\dm8606c\rtl\tff256x64.v":932:3:932:8|
( p7 |5 ?2 u/ T) \# d* oSequential instance ld_tdr_cur_f has been reduced to a combinational gate by constant propagation
* U5 L6 k8 B3 w( J* i
9 S, i8 x D7 x( o$ S0 q9 k( k+ \4 B4 a Q; k8 q3 |. t
reg ld_tdr_cur_f; * y1 I# Y6 W( _& B( B
reg dly_tdr_wrn;6 s7 L0 q0 F5 I) o6 t
//------------------------
2 x4 h; T+ N( `# l% k3 I // delay 1 clk; `. E0 t$ M" i0 g# ]- G1 }
//------------------------
% t3 T2 F% `$ e4 o; c always@(posedge sclk) ; L% N% o$ _- M F G% v) }
begin
1 u- q5 W7 O6 O' |# d2 o4 `1 m ld_tdr_cur_f <=#td1 ld_tdr_cur;
* J0 E" U! J5 S: |+ v dly_tdr_wrn <=#td1 tdr_wrn;
6 d# v& l2 h$ w0 Q/ `! ~6 G$ @, T- T1 d& F end u5 j& E3 Q' B, i
/ l; @( i, a5 d. i
// 下面是 ld_tdr_cur_f , dly_tdr_wrn 的loading
% H+ K# q) Q4 t1 x0 ^
4 h7 s8 V7 A' d2 S( U y, x always @(posedge sclk)% d" j! P, G# N& P2 M
if (ld_madr & !wr_nxt_tdr) 1 B9 @# ]" N# y2 S" G. P
wr_save_1st <= #td1 wr_counter;# i4 C: K( L/ Z3 r4 h" A
else if (ld_tdr_cur_f)
9 x3 E( V" Y# L wr_save_1st <= #td1 wr_save_2nd;
6 r& I* N+ W$ V; ~" ?) R# Z3 x
) o' l! P$ @# H) S/ b! y
5 N7 O0 [* U1 {1 s9 j always @(posedge sclk or negedge rstn), ^: R, C- r& ~: X- T* [! x
if (!rstn)
8 G7 y7 U: g- T$ | rst_ff_pt <= #td1 1'b0;
$ h) e9 l7 f1 ^ else
3 I9 x) F7 }" a2 }: b; l V rst_ff_pt <= #td1 (!tdr_wrn & dly_tdr_wrn & tdr_empty);9 |! N/ P6 U. } {7 L9 s8 j
. E5 V2 z8 |; Z# N
% ^8 p% }6 V6 e; Q% j& G' D9 l# l. M3 p1 G. _
always @(posedge sclk or negedge rstn)
+ p* w. p4 x+ c if (!rstn)
8 y# S, ~8 ] w0 h3 d# @+ z rst_ffpt_sync <= #td1 1'b0;
& U# p7 J1 Q+ |* J else if (!tdr_wrn & dly_tdr_wrn & tdr_empty) 2 T! O# h2 w6 \- ]1 E, N# `
rst_ffpt_sync <= #td1 1'b1;
: I# O: w& p# d j. C7 n, y else if (rst_ffpt_clr2) : X, B& v8 U1 e+ S7 ^
rst_ffpt_sync <= #td1 1'b0; |
|