..
实验一 3-8译码器
1. 实验目的
1) 了解组合逻辑电路。
2) 掌握VHDL基本结构,学习编写简单的VHDL程序。 3) 掌握VHDL行为描述方法。
2. 实验任务
设计并实现一个3-8译码器,通过实验箱进行显示验证。
3. 实验原理
通常的译码器,就是输入二进制编码,输出一路有效电平,类似选择电路。
译码器典型用途是实现存储器的地址译码、控制器中的指令译码、代码翻译、显示译码等。除此之外,还可用译码器实现各种组合逻辑功能。在FPGA实际应用中,译码器的功能就是把一种代码转换为另一种代码。常用的译码器有二进制译码器、二—十进制译码器和显示译码器三类。
3-8译码器是常用的二进制译码器,其原理是对输入码(3位码)进行译码。 3-8译码器真值表如表4.1所示
表 1.1 3-8译码器真值表
输入 A[2~0] X X X 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 输出 Y[7~0] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 4. 实验内容
1)编写3-8译码器的VHDL程序。
2)分析综合,用RTL Viewer观察电路综合结果。 3)进行功能仿真。如图2.1
..
..
图 2.3 功能仿真
4)引脚锁定,编译下载。 管脚分配见图2.2。
图 2.4 管脚分配
输入端口:KEYIN[2:0]分别对应 SW[2:0]。 输出端口:LEDOUT[7:0]分别对应LEDG[7:0]。 5)拨动开关SW2~0,观看LED7~0的变化。
5. 注意事项
1)编码器输出有效电平是高还是低。
2)用JTAG方式对CPLD编程时,需将开发板上的W1、W2开关分别拨至M1和N0处。 3)将未设定的引脚设置为三态输入。单击菜单“Assignments /Device…”项,弹出器件选择对话框如图2.3所示。点“Device and Pin Options”,如图2.3所示。在“Device and Pin Options”对话框中选“Unused Pins”,再在“Reserve all unused pins”中选“As input tri-stated Unused Pins”,如图2.4所示。之后点确定,再点OK。
..
..
图 2.5 器件选择对话框
图 2.6 未设定的引脚设置
6. 习题与思考题
1) 什么是译码?什么是唯一地址译码?
2) 何种译码器可以作为数据分配器使用?为什么?
3) 用原理图设计并实现一个3-8译码器(可以调用74138)。 4) 设计并实现一个4-16译码器,并通过实验箱演示。
..
..
实验二 4位加法器
1. 实验目的
掌握加法器的基本原理,并用数据流描述编写相应的VHDL程序;
2. 实验任务
设计并实现一个4位加法器,通过试验箱进行显示验证。
3. 实验原理
加法器即是产生数的和的装置。加数和被加数为输入,和数与进位为输出的装置为半加器。若加数、被加数与低位的进位数为输入,而和数与进位为输出则为全加器。常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。
常用的有逐位进位加法器和超前进位加法器 列出1位全加器真值表,如表2.2所示。
表 2.2 1位全加器真值表
A 0 B 0 Cin 0 Sum 0 Cout 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 1 1 0 1 0 0 1 0 0 1 0 1 1 1 4. 实验内容
1)编写4位加法器的VHDL程序。
2)分析综合,用RTL Viewer观察电路综合结果。 3)进行功能仿真。如下图所示。
图 功能仿真
..
相关推荐: