电子科大-计算机学院-数字逻辑实验报告-Verilog组合逻辑设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子科技大学
实验报告
学生姓名:郫县阿基王学号:26 指导教师:唐明
一、实验项目名称:Verilog组合逻辑设计
二、实验目的:
使用ISE软件和Verilog语言进行组合逻辑的设计与实现。
三、实验内容:
1.3-8译码器的设计和实现。
2.4位并行进位加法器的设计和实现。
3.两输入4位多路选择器的设计和实现。
实验要求如下:
1.采用Verilog语言设计,使用门级方式进行描述。
2.编写仿真测试代码。
3.编写约束文件,使输入、输出信号与开发板的引脚对应。
4.下载到FPGA开发板,拨动输入开关,观察Led灯的显示是否符合真值表。
四、实验原理:
1.74x138译码器是输出低有效的3-8译码器。表1所示为74x138译码器的真值表。
1 0 0 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 0 1 0 1 1 1 1 1 1 1
0 0 1 1 1 0 1 1 1 1 1 1 1
根据3-8译码器的真值表,可得输出的函数表达式为
12_2_0_1_2_3_4_5_6_7_G G G A L G B L Y L C B A G Y L C B A G Y L C B A G Y L C B A G Y L C B A G Y L C B A G Y L C B A G Y L C B A G
=⋅⋅=⋅⋅⋅=⋅⋅⋅=⋅⋅⋅=⋅⋅⋅=⋅⋅⋅=⋅⋅⋅=⋅⋅⋅=⋅⋅⋅
根据上述函数表达式,可画出逻辑电路图为。
图1 3-8译码器的逻辑电路图
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所示,其中,D 0、D 1是2路数据输入,S 为选择控制端,Y 为数据选择器的输出,根据真值表可写出它的输出函数表达式为:
01Y SD SD =+
如果输入再加上低有效的输入使能端,则输出的表达式变为
0101
_()__Y EN L SD SD EN L S D EN L S D =⋅+=⋅⋅+⋅⋅
根据上述函数表达式,可画出2输入4位多路选择器的逻辑电路图为。
图2 2输入4位多路选择器的逻辑电路图
2. 1位全加器的真值表如下
根据真值表,输出表达式为:
对于4位并行加法器,可以按入下公式进行设计
110002111
110001*********
2211010022121021004333
33221210210()()(i i i i i i i i i i g A B p A B C g p C C g p C C g p C g p g p C g p g p p C C g p C g p g p g p p C g p g p p g p p p C C g p C g p g p g p p g p p p C +=⋅=+=+⋅=+⋅=+⋅=+⋅+⋅=+⋅+⋅⋅=+⋅=+⋅+⋅+⋅⋅=+⋅+⋅⋅+⋅⋅⋅=+⋅=+⋅+⋅+⋅⋅+⋅⋅⋅0332321321032100)()(())()i i i i i i i i i i i i i i i i i
g p g p p g p p p g p p p p C S A B C A B A B C A B A B C g p C =+⋅+⋅⋅+⋅⋅⋅+⋅⋅⋅⋅=⊕⊕=+⊕=⋅⋅+⊕=⋅⊕
i+1()i i i i
i
i i i i
i S ABC ABC ABC ABC A B C C ABC ABC ABC ABC A B C AB
=+++=⊕⊕=+++=⊕+
图3所示为4位并行进位加法器框图,本实验中用Verilog语句来描述。
图3 4位并行进位加法器
五、实验器材(设备、元器件):
PC机、Windows XP、Anvyl或Nexys3开发板、Xilinx ISE 14.7开发工具、Digilent Adept下载工具。
六、实验步骤:
实验步骤包括:建立新工程、原理图或代码输入、设计仿真、输入输出引脚设置、生成流代码与下载调试。
七、关键源代码:
1.在ISE设计中可以直接输入如下3-8译码器的代码
2.3-8译码器的仿真测试代码
仿真结果如下图所示。
图4 译码器的仿真结果3.译码器在Nexys3开发板上的约束文件
#Switch
NET A LOC= T10;
NET B LOC= T9;
NET C LOC= V9;
NET G2B_L LOC = M8 ;
NET G2A_L LOC = N8 ;
NET G1 LOC = U8 ;
#Led
NET Y0_L LOC=U16;
NET Y1_L LOC=V16;
NET Y2_L LOC=U15;
NET Y3_L LOC=V15;
NET Y4_L LOC=M11;
NET Y5_L LOC=N11;
NET Y6_L LOC=R11;
NET Y7_L LOC=T11;
4.4位并行加法器的代码
module Adder_4Bit(A3,A2,A1,A0,
B3,B2,B1,B0,
C0,
C4,S3,S2,S1,S0 );