软件:Quartus
语言:Verilog
代码功能:
11位全加器设计
代码功能:
先设计1位全加器、2位全加器、8位全加器
然后将上述3个全加器串联,组成11位加法器
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
11位全加器仿真
1.工程文件
2.程序文件
3.程序编译
4.程序结构(RTL图)
5.程序仿真
Testbench
十进制表示
11位加法器,最大值为2的11次方=2048,和大于2048时需要向前进位
25+8+进位=34
1620+1021=2641,大于2048,需要向前进位(cout=1),2641-2048=593
646+78+进位=725
部分代码展示:
//4位加法器 module?adder_4bit(A,?B,?CIN,?COUT,?S); ???input?[3:0]??A;//输入A ???input?[3:0]??B;//输入B ???input????????CIN;//输入进位 ???output???????COUT;//输出进位 ???output?[3:0]?S;//输出和 ??? ??? ???wire?[3:0]???G; ???wire?[3:0]???P; ???wire?[4:0]???C; ??? ???//根据并行四位加法器结构编写代码 ???assign?G?=?A?&?B;//与 ???assign?P?=?A?^?B;//异或 ??? ???assign?C[0]?=?CIN; ??? ???assign?C[1]?=?(CIN?&?P[0])?|?G[0]; ??? ???assign?C[2]?=?(CIN?&?P[0]?&?P[1])?|?(G[0]?&?P[1])?|?G[1]; ??? ???assign?C[3]?=?(CIN?&?P[0]?&?P[1]?&?P[2])?|?(G[0]?&?P[1]?&?P[2])?|?(G[1]?&?P[2])?|?G[2]; ??? ???assign?C[4]?=?(CIN?&?P[0]?&?P[1]?&?P[2]?&?P[3])?|?(G[0]?&?P[1]?&?P[2]?&?P[3])?|?(G[1]?&?P[2]?&?P[3])?|?(G[2]?&?P[3])?|?G[3]; ??? ???assign?COUT?=?C[4]; ??? ???assign?S?=?C?^?P;//异或 ??? endmodule
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1268
阅读全文
590