Re: [問題] 關於verilog coding style的問題
※ 引述《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
04/26 13:57, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 5 之 5 篇):