作者skyinmoon86 (阿咏~^^万岁)
看板Electronics
标题[问题] 如何设计BCD adder
时间Thu Jun 3 18:40:04 2010
今天的实验课是做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
1F:推 tkhan:没同学讨论?.. 06/03 18:57
2F:→ skyinmoon86:很多都卡第一步..老师也一直不说怎麽做 06/03 18:59
3F:→ skyinmoon86:然後有个做完的人他做完马上就走了.. 06/03 18:59
5F:→ skyinmoon86:所以上面的code都没错吗? 06/03 19:22
※ 编辑: skyinmoon86 来自: 220.130.138.118 (06/03 19:38)
6F:→ ineedhope:好像是 + 6? 06/03 21:30