Re: [問題] verilog自學線上課程或書本推薦
我看你4bit adder寫得差不多了 基本概念也就這樣
這裡還是大概講一下題目的硬體要怎麼組合出來
首先當然就是確定in,output
input有a0~3, b0~3, Ci; output有s0~3跟Co
先宣告IO
module decAdder(input a3, a2, a1, a0, b3, b2, b1, b0, Ci,
output s3, s2, s1, s0, Co);
接下來輸入直接連接至4bit adder input
fulladder4bit U0(.A( {a3,a2,a1,a0} ), .B( {b3,b2,b1,b0} ), .Cin(Ci),
這裡{}目的在把a3~a0,b3~b0組成4bit以符合4bit adder的輸入
接下來輸出由於是內部的接線 所以要先宣告 (實際在寫時必須宣告在前面)
wire z3, z2, z1, z0, K;
剛剛的fulladder4bit輸出端則繼續寫完,這裡我們也連接完一個4bit adder
.Z( {z3,z2,z1,z0} ), .Cout(K));
而另外一個4bit adder一樣按圖連接 輸出直接連到output(s3~s0)
fulladder4bit U1(.A( {z3,z2,z1,z0} ), .B( {1'b0,Co,Co,1'b0} ), .Cin(1'b0),
.Z( {s3,s2,s1,s0} ), .Cout());
這樣兩個4bit adder就搞定了 只剩下2個and閘跟1個三輸入xor閘
先宣告兩個and閘的輸出再接線
wire o1, o2;
and U2(o1, z3, z2);
and U3(o2, z3, z1); 這種是邏輯閘層次的寫法
最後的三輸入xor輸出端Co用另外一種寫法
assign Co = K^o1^o2;
endmodule
差不多就是這樣了......verilog基本上就是在組合硬體元件
在寫之前一定要有一張硬體藍圖在腦中
規劃硬體從大至小 寫則是從小到大
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.176.83.78
※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1472129868.A.19B.html
推
08/26 00:34, , 1F
08/26 00:34, 1F
→
08/26 00:34, , 2F
08/26 00:34, 2F
→
08/26 00:34, , 3F
08/26 00:34, 3F
→
08/26 00:34, , 4F
08/26 00:34, 4F
→
08/26 00:34, , 5F
08/26 00:34, 5F
推
08/26 12:33, , 6F
08/26 12:33, 6F
→
08/26 12:33, , 7F
08/26 12:33, 7F
→
08/26 12:36, , 8F
08/26 12:36, 8F
→
08/26 12:36, , 9F
08/26 12:36, 9F
→
08/26 12:36, , 10F
08/26 12:36, 10F
→
08/26 12:36, , 11F
08/26 12:36, 11F
→
08/26 12:38, , 12F
08/26 12:38, 12F
→
08/26 12:38, , 13F
08/26 12:38, 13F
推
08/26 23:47, , 14F
08/26 23:47, 14F
→
08/26 23:47, , 15F
08/26 23:47, 15F
推
08/30 13:43, , 16F
08/30 13:43, 16F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章