Re: [問題] 請教Verilog入門書籍
有些人說"用C(behavioral-level)的方式去寫Verilog(gate-level)會令人想哭",
這句話有些情況是這樣沒錯。
但把這句反過來,也一樣會讓人想哭:
"用gate-level的方式去寫behavioral-level會令人想哭"
怎麼說?我舉個例子,雖然應該沒有人會這樣寫,
但結果應該會讓一些人有些驚訝:
module t(
output reg o,
input a,
input b,
input s
);
always@(*) begin
if(s)
o = a;
else
o = b;
if(s)
o = b;
else
o = a;
end
endmodule
如果是以gate-level的解度去解釋這段code,可能會得到以下結論:
有兩個if,所以會合出兩個多工器,第一個是"s為1選a, 0選b",
另一個是"s為1選b, 0選a",兩個多工器輸出都接到o...應該不能合成!?
但若是懂sequential block就會知道它只會合出一個"s為1選b, 0選a"多工器。
若能掌控sequential block合成的結果,
有很多高階、方便的語法就能用得得心應手寫出可合成的電路,
如"設定初值避免合出latch"、for loop、function。
--
楞嚴咒(附注音):
https://skydrive.live.com/?cid=87cef5e6683b5427&sc=documents&id=87CEF5E6683B5427%21312#
縮址:
http://bit.ly/r3bgEo
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.220.54
→
08/14 23:06, , 1F
08/14 23:06, 1F
推
08/14 23:42, , 2F
08/14 23:42, 2F
→
08/14 23:42, , 3F
08/14 23:42, 3F
→
08/15 07:56, , 4F
08/15 07:56, 4F
→
08/15 07:58, , 5F
08/15 07:58, 5F
→
08/15 08:03, , 6F
08/15 08:03, 6F
→
08/15 08:07, , 7F
08/15 08:07, 7F
→
08/15 08:09, , 8F
08/15 08:09, 8F
→
08/15 08:13, , 9F
08/15 08:13, 9F
→
08/15 08:14, , 10F
08/15 08:14, 10F
→
08/15 08:17, , 11F
08/15 08:17, 11F
→
08/15 10:43, , 12F
08/15 10:43, 12F
推
08/15 11:39, , 13F
08/15 11:39, 13F
→
08/15 11:40, , 14F
08/15 11:40, 14F
→
08/15 11:41, , 15F
08/15 11:41, 15F
推
08/15 11:57, , 16F
08/15 11:57, 16F
→
08/15 12:06, , 17F
08/15 12:06, 17F
→
08/15 12:07, , 18F
08/15 12:07, 18F
→
08/15 12:14, , 19F
08/15 12:14, 19F
→
08/15 12:23, , 20F
08/15 12:23, 20F
→
08/15 12:25, , 21F
08/15 12:25, 21F
→
08/15 12:25, , 22F
08/15 12:25, 22F
→
08/22 18:53, , 23F
08/22 18:53, 23F
→
08/22 18:58, , 24F
08/22 18:58, 24F
→
08/22 19:02, , 25F
08/22 19:02, 25F
→
08/22 19:07, , 26F
08/22 19:07, 26F
→
08/22 21:58, , 27F
08/22 21:58, 27F
→
08/22 21:59, , 28F
08/22 21:59, 28F
→
08/22 22:01, , 29F
08/22 22:01, 29F
→
08/22 22:01, , 30F
08/22 22:01, 30F
→
08/22 22:03, , 31F
08/22 22:03, 31F
→
08/22 22:04, , 32F
08/22 22:04, 32F
→
08/22 22:04, , 33F
08/22 22:04, 33F
→
08/22 22:16, , 34F
08/22 22:16, 34F
→
08/22 22:16, , 35F
08/22 22:16, 35F
→
08/22 22:19, , 36F
08/22 22:19, 36F
→
08/22 22:22, , 37F
08/22 22:22, 37F
→
08/22 22:23, , 38F
08/22 22:23, 38F
→
08/22 22:25, , 39F
08/22 22:25, 39F
→
08/22 22:26, , 40F
08/22 22:26, 40F
→
08/22 22:26, , 41F
08/22 22:26, 41F
→
08/22 22:28, , 42F
08/22 22:28, 42F
→
08/22 22:41, , 43F
08/22 22:41, 43F
→
08/22 22:43, , 44F
08/22 22:43, 44F
→
08/22 22:44, , 45F
08/22 22:44, 45F
→
08/22 22:47, , 46F
08/22 22:47, 46F
→
08/22 22:48, , 47F
08/22 22:48, 47F
→
08/22 22:49, , 48F
08/22 22:49, 48F
→
08/13 19:30, , 49F
08/13 19:30, 49F
→
08/13 19:30, , 50F
08/13 19:30, 50F
→
09/17 23:23, , 51F
09/17 23:23, 51F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
問題
10
34