正在加载图片...
268第九章硬作描述语青 endmodule ∥模块描述结束 【题9.4】用 Verilog hDl语言描述一个4位超前进位加法器。 解:4位超前进位加法器的原理和实现见4.3.4节。其银本的解决思路是 设法减小或消除由于进位信号逐级传递所耗费的时间,在相加运算开始的同时 就知道高位的进位信号。因此每一位在计算本位结果的同时,还需要有一个模 块根据低位的输入计算出该位所需要的进位信号。 电路大致可以分为两个部分:第一部分计算各位的相加结果,首先定义一个 不进行进位运算的1位加法器 adder l bit,各位的相加运算可以通过调用来实现。 So=A,OB,eCI S1=A1由B,⊕C S2=A2⊕B2C2 s,=A-OBec 其屮A、B和C是整个加法器电路的输人,C1、C2和C3则需要第二部分电 路来实现。第二部分电路根据A、B和CⅠ计算出各位的进位信号,据分析可得 各位的进位信号如下 C1=ABn+(A。+B0) C2=A,B1+(A1+B1)(A。B+(A+B)CD) C3=A2B2+(A2+B2)(A1B1+(A:+B1)(AB+(A+B0)C1)) C1、C2和C3都直接输入信号A、B和C唯一确定,因此可以通过逻辑运 算求出每一位全加器所需的进位信号。根据以上的分析,可以得到如下的用 Verilog HDl.语言描述程序。 ∥主模块 module adder _4bil(A, B, s. Cl, CO) input CI input [3: 0A, B; outpul CO output「3:0]S; wire C1. C2. C3 adder_] bit mo(S[OJ, A[O],BlOl, CI ∥调用 adder1bi模块,生成模块m0 ml(S[1],A[1],B[l],CI ∥调用ader1bit模块,生成模块m1 2(S[2],A[2],B[2],C2) ∥调用 adder i bit模坎,生成模块m2 m3(S[3],A[3],B[3],C3);
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有