Re: [問題] 關於verilog coding style的問題
※ 引述《flawless (o_O)》之銘言:
: : 我覺得講法有點怪怪的,為什麼是synthesis之後,才開始想要
: : 做"接線動作"...
: : 我的想法是,為什麼不是在RTL code裡面就已經進行好"接線動作"...
: : 然後才拿去跑design vision嗎?
: : 我的意思是你所講的將進位餵給其他模組,不是應該在RTL code裡面就
: : 寫好了嗎???
: 可能我沒說清楚我的意思
: 我想問的是...我是希望在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];
直接把 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: 61.216.194.56
討論串 (同標題文章)