实验二 基于VHDL格雷码编码器的设计 下载本文

实验二 基于VHDL格雷码编码器的设计

一、 实验目的

1、 了解格雷码变换的原理。

2、 进一步熟悉QUARTUSII软件的使用方法和VHDL输入的全过程。 3、 进一步掌握实验系统的使用。

二、 实验原理

格雷(Gray)码是一种可靠性编码,在数字系统中有着广泛的应用。其特点是任意两个相邻的代码中仅有一位二进制数不同,因而在数码的递增和递减运算过程中不易出现差错。但是格雷码是一种无权码,要想正确而简单的和二进制码进行转换,必须找出其规律。

根据组合逻辑电路的分析方法,先列出其真值表再通过卡诺图化简,可以很快的找出格雷码与二进制码之间的逻辑关系。其转换规律为:高位同,从高到低看异同,异出‘1’,同出‘0’。也就是将二进制码转换成格雷码时,高位是完全相同的,下一位格雷码是‘1’还是‘0’,完全是相邻两位二进制码的“异”还是“同”来决定。下面举一个简单的例子加以说明。

假如要把二进制码10110110转换成格雷码,则可以通过下面的方法来完成,方法如图2-1。

图2-1 格雷码变换示意图

因此,变换出来的格雷码为11101101。

三、 实验内容

本实验要求完成的任务是变换12位二进制码到12位的格雷码。实验中用12位拨动开关模块的K1~K12表示8位二进制输入,用LED模块的LED1~LED12来表示转换的实验结果十二位格雷码。实验LED亮表示对应的位为‘1’,LED灭表示对应的位为‘0’。通过输入不同的值来观察输入的结果与实验原理中的转换规则是否一致。实验箱中的拨动开关、与FPGA的接口电路,LED灯与FPGA的接口电路以及拨动开关、LED与FPGA的管脚连接在实验一中都做了详细说明,这里不在赘述。

四、 实验步骤

1、 2、

打开QUARTUSII软件,新建一个工程。

建完工程之后,再新建一个VHDL File。新建一个VHDL文件的过程如下: 1)选择QUARTUSII软件中的File>New命令,出现New对话框。如图2-2所示。

图2-2 新建设计文件选择窗口

2)在New对话框(图2-2)中选择Device Design Files页下的VHDL File,点击OK按钮,打开VHDL编辑器对话框,如图2-3所示。

图2-3 VHDL编辑窗口

3、 按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘

中提供的示例程序。

4、 编写完VHDL程序后,保存起来。方法同实验一。

5、 对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。

6、 编译仿真无误后,依照拨动开关、LED与FPGA的管脚连接表(表1-1、表1-2)或

参照附录进行管脚分配,表2-1是示例程序的管脚分配表。分配完成后,再进行全编译一次,以使管脚分配生效。

端口名 K1 K2 K3 使用模块信号 拨动开关K1 拨动开关K2 拨动开关K3 对应FPGA管脚 Pin_AH12 Pin_AF14 Pin_AA8 格雷编码器 的数据输入 说 明 K4 K5 K6 K7 K8 K9 K10 K11 K12 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 拨动开关K4 拨动开关K5 拨动开关K6 拨动开关K7 拨动开关K8 拨动开关K9 拨动开关K10 拨动开关K11 拨动开关K12 LED灯LED1 LED灯LED2 LED灯LED3 LED灯LED4 LED灯LED5 LED灯LED6 LED灯LED7 LED灯LED8 LED灯LED9 LED灯LED10 LED灯LED11 LED灯LED12 Pin_AB8 Pin_AE4 Pin_AC5 Pin_AF12 Pin_AG12 Pin_AA10 Pin_U8 Pin_AE3 Pin_AD4 Pin_AE8 Pin_J22 Pin_M24 Pin_L24 Pin_L23 Pin_H23 Pin_H24 Pin_F24 Pin_E24 Pin_F22 Pin_E22 Pin_F21 格雷编码器 的编码输出 表2-1 端口管脚分配表

7、 用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与

自己的编程思想一致。

五、 实验现象与结果

以设计的参考示例为例,当设计文件加载到目标器件后,拨动拨动开关,LED会按照实验原理中的格雷码输入一一对应的亮或者灭。

六、 实验报告

1、 绘出仿真波形,并作说明。 2、 进一步熟悉QUARTUSII软件。

3、 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。