[問題] 如何設計BCD adder
今天的實驗課是做BCD adder
老師說要照他的步驟做
1.設計一個4-bit full adder,然後使用四個1-bit full adder組成
2.設計一個1-digit BCD full adder,然後要用4-bit full adder組成
3.設計一個2-digit BCD adder然後要使用1-digit full adder組成
我只做完第一步
2.3就不會做了
因為不知道該如何把4-bit full adder跟1-digit BCD full adder用在一起
想了三個小時也想不出來
以下是我的code
module onebit(xi,yi,ci,si,ct);
input xi,yi,ci;
output si,ct;
xor(si,xi,yi,ci);
wire w1,w2,w3;
and(w1,xi,yi);
and(w2,xi,ci);
and(w3,yi,ci);
or(ct,w1,w2,w3);
endmodule
module fourbit (SW,co,z3,z2,z1,z0);
input [7:0]SW;
output co,z3,z2,z1,z0;
onebit(SW[0],SW[4],0,z0,o1);
onebit(SW[1],SW[5],o1,z1,o2);
onebit(SW[2],SW[6],o2,z2,o3);
onebit(SW[3],SW[7],o3,z3,co);
endmodule
懇請高手幫忙解決2.3兩步該如何做..
然後使用Verilog只能使用gate level的型式
----------------------------------------------------------------------------
剛剛才看到課本有one-digit BCD adder的圖
所以我就把他打成Verilog的形式
module bcd (co,z3,z2,z1,z0,LEDR);
input co,z3,z2,z1,z0;
output [4:0]LEDR;
wire p1,p2,l,x;
and(p1,z3,z2);
and(p2,z3,z1);
or(LEDR[4],co,p1,p2);
and(LEDR[0],z0,z0);
onebit(0,z2,z1,LEDR[1],l);
onebit(l,out,out,LEDR[2],x);
xor(LEDR[3],z3,x);
endmodule
但是我不知道打下來的結果對不對..
手上沒有DE2可以測試
而且我也不太會用Quartus II
所以就不知道對不對
希望有人能幫我看結果對不對
拜託..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.138.118
推
06/03 18:57, , 1F
06/03 18:57, 1F
→
06/03 18:59, , 2F
06/03 18:59, 2F
→
06/03 18:59, , 3F
06/03 18:59, 3F
推
06/03 19:06, , 4F
06/03 19:06, 4F
→
06/03 19:22, , 5F
06/03 19:22, 5F
※ 編輯: skyinmoon86 來自: 220.130.138.118 (06/03 19:38)
→
06/03 21:30, , 6F
06/03 21:30, 6F