在实时信号处理中,常常要用到多位数字量的加法运算,但串行加法器速度较慢,超前进位加法器则能满足要求,且结构并不复杂。现在普遍使用的并行加法器是超前进位加法器,只是在几个全加器的基础上增加了一个超前进位形成逻辑,以减少由于逐步进位信号的传递所造成的时延。
具体的算法为:
S_i = x_i ^ y_i ^ C_i;
C_i = G_i-1 + P_i-1 * C_i-1;
其中: G_i = x_i * y_i
P_i = x_i + y_i
对应的HDL代码为:
module adder_4bits_parallel(a,b,c_in,sum,c_out);
input [3:0] a;
input [3:0] b;
input c_in;
output [3:0] sum;
output c_out;
wire [3:0] G, P;
wire [3:0] C;
assign G[0] = a[0] & b[0];
assign P[0] = a[0] | b[0];
assign C[0] = G[0] | (P[0] & c_in);
assign sum[0] = a[0] ^ b[0] ^ c_in;
assign G[1] = a[1] & b[1];
assign P[1] = a[1] | b[1];
assign C[1] = G[1] | (P[1] & C[0]);
assign sum[1] = a[1] ^ b[1] ^ C[0];
assign G[2] = a[2] & b[2];
assign P[2] = a[2] | b[2];
assign C[2] = G[2] | (P[2] & C[1]);
assign sum[2] = a[2] ^ b[2] ^ C[1];
assign G[3] = a[3] & b[3];
assign P[3] = a[3] | b[3];
assign C[3] = G[3] | (P[3] & C[2]);
assign sum[3] = a[3] ^ b[3] ^ C[2];
assign c_out = C[3];
endmodule
对应功能仿真图为:
注意:由真值表推导设计电路的输出表达式后,再通过Verilog HDL语言建模是设计全加器的一种方法,但这并不是最好的方法。最简便的方法是利用运算符“+”,其本质上是一种并行加法器。
- 大小: 5.7 KB
分享到:
相关推荐
4bit超前进位加法器(CLA)源代码,用组合逻辑实现
32位超前进位加法器(Verilog HDL),由8个四位超前进位生成。
本代码使用门及描述的四位超前进位加法器,简单易懂!
计算机组成及汇编原理实验报告-----超前进位加法器设计实验 (1)掌握超前进位加法器的原理及其设计方法。 (2)熟悉CPLD应用设计及EDA软件的使用。
采用门级电路实现4位超前进位加法器,文档含有门级电路图设计,代码以及仿真截图
组成原理-超前进位加法器设计.pdf组成原理-超前进位加法器设计.pdf组成原理-超前进位加法器设计.pdf组成原理-超前进位加法器设计.pdf组成原理-超前进位加法器设计.pdf组成原理-超前进位加法器设计.pdf组成原理-超前...
4位超前进位加法器74LS283实验电路multisim源文件,multisim10及以上版本可以正常打开仿真,是教材上的电路,可以直接仿真,方便大家学习。
由4008组成的4位超前进位加法器电路+Proteus仿真
这个zip包包含三个项目文件,分别是数据运算定点加法器、4bit超前进位加法器、使用4bit CLA 组合设计的一个 16bit 加法器。
超前进位加法器的设计超前进位加法器的设计
eetop.cn_Verilog 实现一个16位超前进位加法器.对初学者是十分有帮助的
四位超前进位加法器实验报告,图形及图形分析
此设计是超前进位加法器,包括ise工程,应用于CPU设计之中。
代码准确可靠。4位超前进位加法器的数据流建模。利用Verilog HDL数据流建模方法建立4位超前进位加法器,并完成仿真和综合
8 位超前进位加法器
参考4位超前进位加法器的8位超前进位加法器数据流建模+层次建模,试用Verilog HDL对其进行建模,有测试文件,代码准确无错。
超前进位加法器verilog代码 verilog代码 , 超前进位
用verilog在FPGA上实现超前进位加法器。
32位超前进位加法器设计verilog 分成几个部分啊
使用Verilog语言实现四位超前进位加法器设计,并使用Quartes编写程序,使用modelsin进行仿真验证设计