[問題] verilog the fan-out number of signal "target_b_0_0" is 4

看板Electronics作者 (Up2u)時間13年前 (2012/10/06 03:55), 編輯推噓3(307)
留言10則, 4人參與, 最新討論串1/1
the fan-out number of signal "target_b_0_0" is 43 whereas the limitation is 10. 請問這是甚麼意思 用 nLint 跑出的錯誤 我在gate level的時候 OUT_VALID 會自動變成XX RTL正常 我只有在這個block裡面控制而已 always @(posedge CLK) begin if(!RESET_n)begin OUT_VALID<=0; end else if(o1==1) begin OUT_VALID<=1; OUT<=sub_temp_com4_0_1+1; end else if(o2==1) begin OUT<=sub_temp_com4_0_0; end if(o3==1) begin OUT_VALID<=0; end end -- When we toss a coin , we obtain either head or tail. Now we toss a coin 5 times. There are 2^5 possible outcomes. How many of them contain no two consecutive heads? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.56.69

10/06 07:31, , 1F
code語意怪怪的 當o1及o3等於1時 同時OUT_VALID又1又0的??
10/06 07:31, 1F
請問我本來用 s1,s2,s3,s4..... 進入下個階段就把 s1<=0 ; s2<=1.... 這樣寫是不是不太好 後來我改成 stage 進入下個階段就把 stage <= stage+1 這樣是不是比較好 ※ 編輯: bjk 來自: 140.113.56.69 (10/06 11:16) 另外再問我這樣寫法是不是會錯阿 http://codepad.org/2E7Oq9OU 我可以只宣告一次變數,讓他重複當作for的變數嗎 就像fori這樣 always @(posedge CLK) begin if(stage==4) begin for(fori=0;fori<9;fori=fori+1) for(forj=0;forj<2;forj=forj+1) begin sub_temp3[fori][forj]<=sub_temp2[fori][forj]+sub_temp2[fori][forj+2]; end end end always @(posedge CLK) begin if(stage==4) begin for(fori=0;fori<9;fori=fori+1) sub_temp4[fori][0]<=sub_temp3[fori][0]+sub_temp3[fori][1]; end end ※ 編輯: bjk 來自: 140.113.56.69 (10/07 00:50)

10/07 23:41, , 2F
請問你一個問題 假如o1=1 o3=1 那OUT_VALID=0還是=1壓?
10/07 23:41, 2F

10/07 23:43, , 3F
你可不可以不要用迴圈寫Verilog壓?
10/07 23:43, 3F

10/07 23:43, , 4F
你這樣只是在搞自己而已 = ="
10/07 23:43, 4F

10/07 23:45, , 5F
你再用迴圈 我想你自己只會先陷入 這樣寫會不會有問題的迷
10/07 23:45, 5F

10/07 23:45, , 6F
10/07 23:45, 6F

10/08 00:28, , 7F
那是 nLint default, 提醒你可能是 heavy loader
10/08 00:28, 7F

10/08 14:33, , 8F
重複那應該會變成多重驅動?? 而且變數也會交錯亂掉 有問題~
10/08 14:33, 8F

10/08 18:55, , 9F
很簡單 不會用 就不要用 很難嗎? 看到一堆喜歡把RTL當C寫
10/08 18:55, 9F

10/08 18:55, , 10F
實在很乾扣
10/08 18:55, 10F
文章代碼(AID): #1GRpiqTK (Electronics)