数字逻辑实验报告.docx
《数字逻辑实验报告.docx》由会员分享,可在线阅读,更多相关《数字逻辑实验报告.docx(8页珍藏版)》请在冰豆网上搜索。
数字逻辑实验报告
武汉理工大学
院校:
计算机科学与技术学院
专业:
计算机科学与技术
学生姓名:
王旭
班级:
Y1606
学号0121610870113
2017年月日
实验一:
一位全加器
实验目的:
1.掌握组合逻辑电路的设计方法;
2.熟悉Vivado2014集成开发环境和Verilog编程语言;
3.掌握1位全加器电路的设计与实现。
试验工具:
1.Basys3FPGA开发板
2.Vivado2014集成开发环境和Verilog编程语言。
实验原理:
Ci+A+B={Co,S}全加器真表
A
B
Ci
Co
S
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
全加器逻辑表达式
S=A
B
Ci
Co=A.B+(A
B).Ci全加器电路图
实验步骤:
(一)新建工程:
1、打开Vivado2014.2开发工具,可通过桌面快捷方式或开始菜单中XilinxDesign
Tools->Vivado2014.2下的Vivado2014.2打开软件;
2、单击上述界面中CreateNewProject图标,弹出新建工程向导。
3、输入工程名称、选择工程存储路径,并勾选Createprojectsubdirectory选项,为工程在指定存储路径下建立独立的文件夹。
设置完成后,点击Next。
注意:
工程名称和存储路径中不能出现中文和空格,建议工程名称以字母、数字、下划线来组成
4、选择RTLProject一项,并勾选Donotspecifysourcesatthistime,为了跳过在新建工程的过程中添加设计源文件。
5、根据使用的FPGA开发平台,选择对应的FPGA目标器件。
(在本手册中,以Xilinx大学计
划开发板DigilentBasys3为例,FPGA采用Artix-7XC7A35T-1CPG236-C的器件,即Family和Subfamily均为Artix-7,封装形式(Package)为CPG236,速度等级(Speedgrade)为-1,温度等级(TempGrade)为C)。
点击Next。
6、确认相关信息与设计所用的的FPGA器件信息是否一致,一致请点击Finish,不一致,请返回上一步修改。
7、得到如下的空白Vivado工程界面,完成空白工程新建。
(二)设计文件输入:
8、点击FlowNavigator下的ProjectManager->AddSources或中间Sources中的对话框打开设计文件导入添加对话框。
9、选择第二项AddorCreateDesignSources,用来添加或新建Verilog源文件。
10、如果有现有的V文件,可以通过AddFiles一项添加。
在这里,我们要新建文件,所以选择CreateFile一项。
11、在CreateSourceFile中输入FileName,这里为full_adder,点击OK。
注:
名称中不可出现中文和空格。
12、新建的设计文件(此处为full_adder.v)即存在于Sources中的DesignSources中。
打开该文件,输入相应的设计代码。
根据已知的电路图得到以下verilog代码:
module
fulladder(inoutx,inputy,inputz,
outputs,outputc,
);
wirew1,w2,w3;
xor(w1,x,y);
and(w2,x,y);
xor(s,w1,z);
and(w3,w1,z);
or(c,w3,w2);
endmodule
13、点击FlowNavigator中Synthesis中的RunSynthesis,对工程进行综合
14、综合完成之后,选择OpenSynthesizedDesign,打开综合结果
15、在layout中选择IOplanning一项。
16、在右下方的选项卡中切换到I/Oports一栏,并在对应的信号后,输入对应的FPGA管脚标号,c,s,x,y,z的管脚分别设为E19,U19,V16,V17和w16(也可根据下方的引脚分配图1自行选择)并指定I/Ostd电压为“LVCMOS33
17、完成之后,点击左上方工具栏中的保存按钮,工程提示新建XDC文件或选择工程中已
有的XDC文件。
点击OK完成约束过程。
(三)工程实现
18、在FlowNavigator中点击ProgramandDebug下的GenerateBitstream选项,工程会自动完成综合、实现、Bit文件生成过程,完成之后,可点击OpenImplementedDesign来查看工程实现结果。
19、将basys3板用miniusb线连上电脑,打开basys3上的电源开关,在FlowNavigator中展开HardwareManager,点击OpenNewTarget)在FlowNavigator中展开HardwareManager,点击OpenNewTarget)
20、拨动开关键,测试LED灯的亮灭是否与全加器的逻辑功能相符。
试验现象:
将basys3板用miniusb线连上电脑,打开basys3上的电源开关
拨动开关1,LED1亮;拨动开关2,LED灯1灭,灯2亮;拨动开关3,LED灯1亮,LED灯2灭,LED灯3亮。
实验结论:
通过对比开关控制下灯的熄灭与否和真值表,得出结论,全加器的输入与输出与实际相符,实验步骤无误
实验二:
一位BCD码转余三码
试验内容:
1.利用“与门”、“或门”、“非门”设计并实现BCD码转余三码的电路。
实验目的:
1.掌握组合逻辑电路的设计方法;
2.熟悉Vivado2014集成开发环境和Verilog编程语言;
3.掌握BCD码转余三码电路的设计与实现。
实验工具:
1.Basys3FPGA开发板,69套。
2.Vivado2014集成开发环境Verilog编程语言。
实验原理:
(1)功能描述:
将10个BCD码(0000——1001)转成余3码(0011——1100),BCD的输入为ABCD,输出为WXYZ,对应的真值表为:
(2)布尔表达式
d=∑m(10,11,12,13,14,15)
W=ABCD+ABCD+ABCD+ABCD+ABCD
X=ABCD+ABCD+ABCD+ABCD+ABCD
Y=ABCD+ABCD+ABCD+ABCD+ABCDZ=ABCD+ABCD+ABCD+ABCD+ABCD
化简如下:
T=C+DX=BT+BT
W=A+BT
Y=CD+T
Z=D
(3)逻辑电路图
AW
(1)门电路级别的Verilog代码如下:
(2)操作符级别的Verilog代码和约束文件分别如下:
实验现象:
成功完成BCD码转余三码,与预期现象相符。
实验结论:
通过对实验现象的分析,得出代码与门电路图的结合很好的印证了真值表。