Re: [問題] 關於verilog coding style的問題

看板Electronics作者 (evered)時間18年前 (2007/04/26 13:00), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串5/5 (看更多)
※ 引述《renj (地下情人)》之銘言: : ※ 引述《flawless (o_O)》之銘言: : : 可能我沒說清楚我的意思 : : 我想問的是...我是希望在RTL code中, 把carry out 丟給另一個sub-module : : 問題是怎麼寫?? : : 在RTL中 加法就直接 S=A+B+CI; : : 這樣在synthesis過程中,就會直接叫用design ware的adder module : : 可是我的RTL code 要寫成怎樣.... : : 才能在synthesis的過程中,design compiler 會辨認你的語法,是要將adder : : 的 carry out bit assign給某個 variable 'CO' ?? : : 感激不盡!! : wire [19:0] A,B; : wire [20:0] S; : wire CI,CO; : assign S = A + B + CI; : assign CO = S[20]; 如果想在這邊作一個條件限制 例如 if A+B>const(ex:65525) { comtent } 這樣寫法可行嗎?? : 直接把 S 做多一個 bit 的宣告 carry out 自然會進位 MSB 所以 CO 就等於 S[20] : 但 S 就會是 21-bits 輸出,若堅持要 20-bits 輸出的話就另外把輸出拉到 S[19:0] : 希望這樣可以解決你的問題... : 在不行的話,你可能得自己去把 gate-level 的 1-bit adder 寫出來一個一個兜? : 或者還有其他作法嗎?還請多多指教 :P -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.131.92

04/26 13:57, , 1F
為何要加這個限制?..
04/26 13:57, 1F

04/26 13:57, , 2F
這不是在寫C喔..
04/26 13:57, 2F
文章代碼(AID): #16C37-Kt (Electronics)
討論串 (同標題文章)
文章代碼(AID): #16C37-Kt (Electronics)