数字电路实验报告

发布时间 : 星期五 文章数字电路实验报告更新完毕开始阅读

实验五 十六位运算器的逻辑设计

实验目的:

1·掌握算术了逻辑部件74181和提前进位发生器74182等集成块的结构原理和应用。 2·熟悉运算器基本组成的控制方法,以及不同的结构进位速度情况。

实验内容:

1.用74181,74182等集成块和数字逻辑实验仪组成16位可控运算器。 2. 控制不同运算方式,并列表记录运算结果

3. 设计一个选择,分别利用超前进位和不利用超前进位进行加法运算,并比较所用时间的差。

实验原理:

ALU功能表,74181

25

超前进位推导

4位之间采用先行进位公式,每一位的进位公式可递推如下: 第0位向第1位的进位公式为 Cn+1=Y0+X0Cn

其中Cn是向第0位(末位)的进位。 第1位向第2位的进位公式为

Cn+2=Y1+X1Cn+1=Y1+Y0X1+X0X1Cn 第2位向第3位的进位公式为

Cn+3=Y2+X2Cn+2=Y2+Y1X1+Y0X1X2+X0X1X2Cn 第3位的进位输出(即整个4位运算进位输出)公式为

串行计算:直接使用74181,将进位串联起来就可以 并行计算:加上74182超前进位。

Cn+4=Y3+X3Cn+3=Y3+Y2X3+Y1X2X3+Y0X1X2X3+X0X1X2X3Cn 利用四片74181构成16位的ALU,然后利用74182实现超前进位,并且利用数据选择器

26

74157进行超前进位与非超前进位间的选择。

实验实现:

1.利用Quartus II 工具,画出实验的TTl电路如下图

经过编译仿真之后,仿真波形图如下图:

如图,输入a和b分别为16进制的1234和2222是,sel从0开始计数,则输出如下,与实验时老师给我们的标准相同。 2.利用verilog进行描述

Verilog只描述了16位的超前进位加法器的实现,以及串行加法器的实现,以运算速度的比较。

module yunsuan(

27

wire wire wire wire wire

input input

[15:0] [15:0] [15:0]

A, B, OUT,

output

output reg [15:0] out2 ); CX; CY; CZ; [3:0] P; [3:0] G;

reg ci; integer i;

Tadder4 adder4_0(.a(A[3:0]), .b(B[3:0]), .ci(0), .f(OUT[3:0]), .p(P[0]), .g(G[0])); Tadder4 adder4_1(.a(A[7:4]), .b(B[7:4]), .ci(CX), .f(OUT[7:4]), .p(P[1]), .g(G[1])); Tadder4 adder4_2(.a(A[11:8]), .b(B[11:8]), .ci(CY), .f(OUT[11:8]), .p(P[2]), .g(G[2])); Tadder4 adder4_3(.a(A[15:12]), .b(B[15:12]), .ci(CZ), .f(OUT[15:12]), .p(P[3]), .g(G[3])); Tadvance adva(.p(P), .g(G), .ci(0), .cx(CX), .cy(CY), .cz(CZ));

always @(A or B) begin

28

联系合同范文客服:xxxxx#qq.com(#替换为@)