电 子 科 技 大 学
实 验 报 告
学生姓名:郫县阿基王 学 号:2014666666666 指导教师:
唐明
一、实验项目名称: Verilog组合逻辑设计 二、实验目的:
使用ISE软件和Verilog语言进行组合逻辑的设计与实现。
三、实验内容:
1.3-8译码器的设计和实现。
2.4位并行进位加法器的设计和实现。 3.两输入4位多路选择器的设计和实现。 实验要求如下:
1.采用Verilog语言设计,使用门级方式进行描述。 2.编写仿真测试代码。
3.编写约束文件,使输入、输出信号与开发板的引脚对应。
4.下载到FPGA开发板,拨动输入开关,观察Led灯的显示是否符合真值表。
四、实验原理:
1.74x138译码器是输出低有效的3-8译码器。表1所示为74x138译码器的真值表。
表1 74x138译码器的真值表 输入 输出 G1 G2A_L G2B_L C B A Y7_L Y6_L Y5_L Y4_L Y3_L Y2_L Y1_L Y0_L 0 x x 1 1
x 1 x 0 0 x x 1 0 0 x x x 0 0 x x x 0 0 x x x 0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 1 0 0 1 1 1 0 0 0 1 0 1 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 1 1 1 根据3-8译码器的真值表,可得输出的函数表达式为 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 G?G1?G2A_L?G2B_LY0_L?C?B?A?GY1_L?C?B?A?GY2_L?C?B?A?GY3_L?C?B?A?GY4_L?C?B?A?GY5_L?C?B?A?GY6_L?C?B?A?GY7_L?C?B?A?G根据上述函数表达式,可画出逻辑电路图为。
图1 3-8译码器的逻辑电路图
2
2. 数据选择器的逻辑功能是根据地址选择端的控制,从多路输入数据中选择一路数据输出。因此,它可实现时分多路传输电路中发送端电子开关的功能,故又称为复用器(Multiplexer),并用MUX来表示。
表2 2输入1位多路选择器的真值表 选择控制S 输出Y D0 D1 0 0 0 0 0 1 0 0 1 0 0 1 1 1 0 1 0 0 1 0 0 1 1 1 1 0 1 0 1 1 1 1 2选1数据选择器的真值表如表1所示,其中,D0、D1是2路数据输入,S为选择控制端,Y为数据选择器的输出,根据真值表可写出它的输出函数表达式为:
数据输入 Y?SD0?SD1
如果输入再加上低有效的输入使能端,则输出的表达式变为
Y?EN_L?(SD0?SD1)?EN_L?S?D0?EN_L?S?D1
根据上述函数表达式,可画出2输入4位多路选择器的逻辑电路图为。
3
图2 2输入4位多路选择器的逻辑电路图
2. 1位全加器的真值表如下
表3 1位全加器的真值表 输入变量 A 0 0 0 0 1 1 1 1 0 B 0 0 1 1 0 0 1 1 1 Ci 0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 1 1 1 输出变量 Ci+1 S 0 1 1 0 1 0 0 1 0
根据真值表,输出表达式为:
S?ABCi?ABCi?ABCi?ABCi?A?B?CiCi+1?ABCi?ABCi?ABCi?ABCi?(A?B)Ci?AB对于4位并行加法器,可以按入下公式进行设计
4
gi?Ai?Bipi?Ai?BiCi?1?gi?pi?CiC1?g0?p0?C0C2?g1?p1?C1?g1?p1?(g0?p0?C0)?g1?p1?g0?p1?p0?C0C3?g2?p2?C2?g2?p2?(g1?p1?g0?p1?p0?C0)?g2?p2?g1?p2?p1?g0?p2?p1?p0?C0C4?g3?p3?C3?g3?p3?(g2?p2?g1?p2?p1?g0?p2?p1?p0?C0)?g3?p3?g2?p3?p2?g1?p3?p2?p1?g0?p3?p2?p1?p0?C0Si?Ai?Bi?Ci?(AiBi?AiBi)?Ci?(Ai?Bi?(Ai?Bi))?Ci?(gi?pi)?Ci图3所示为4位并行进位加法器框图,本实验中用Verilog语句来描述。
5