一、 实验目的
1、 了解格雷码变换的原理。
2、 进一步熟悉QUARTUSII软件的使用方法和VHDL输入的全过程。
3、 进一步掌握实验系统的使用。
二、 实验原理
格雷(Gray)码是一种可靠性编码,在数字系统中有着广泛的应用。其特点是任意两个相邻的代码中仅有一位二进制数不同,因而在数码的递增和递减运算过程中不易出现差错。但是格雷码是一种无权码,要想正确而简单的和二进制码进行转换,必须找出其规律。
根据组合逻辑电路的分析方法,先列出其真值表再通过卡诺图化简,可以很快的找出格雷码与二进制码之间的逻辑关系。其转换规律为:高位同,从高到低看异同,异出‘1’,同出‘0’。也就是将二进制码转换成格雷码时,高位是完全相同的,下一位格雷码是‘1’还是‘0’,完全是相邻两位二进制码的“异”还是“同”来决定。下面举一个简单的例子加以说明。
假如要把二进制码10110110转换成格雷码,则可以通过下面的方法来完成,方法如图4-2-1。
图4-2-1 格雷码变换示意图
因此,变换出来的格雷码为11101101。
三、 实验内容
本实验要求完成的任务是变换8位的二进制码到8位的格雷码。实验中用八位拨动开关模块的K1~K8表示8位二进制输入,用LED模块的D1~D8来表示转换的实验结果8位格雷码。实验LED亮表示对应的位为‘1’,LED灭表示对应的位为‘0’。通过输入不同的值来观察输入的结果与实验原理中的转换规则是否一致。
四、 实验步骤
1、 打开QUARTUSII软件,新建一个工程。
2、 建完工程之后,再新建一个VHDL File。新建一个VHDL文件的过程如下:
1)选择QUARTUSII软件中的File>New命令,出现New对话框。如图4-2-2所示。
图4-2-2 新建设计文件选择窗口
2)在New对话框(图4-2-2)中选择Device Design Files页下的VHDL File,点击OK按钮,打开VHDL编辑器对话框,如图4-2-3所示。
图4-2-3 VHDL编辑窗口
3、 按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光盘中提供的示例程序。
4、 编写完VHDL程序后,保存起来。方法同实验一。
5、 对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。
6、 编译仿真无误后,根据用户自己的要求进行管脚分配。分配完成后,再进行全编译一次,以使管脚分配生效。
7、 根据实验内容用实验导线将上面管脚分配的FPGA管脚与对应的模块连接起来。
如果是调用的本书提供的VHDL代码,则实验连线如下:
K1-K8:被编码信号,接8个拨动开关K1-K8(LOCK KEY AREA)。
D1-D8:编码输出信号,接8个LED灯D1-D8(LED AREA)。
8、 用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的编程思想一致。
五、 实验现象与结果
以设计的参考示例为例,当设计文件加载到目标器件后,确认信号连接线已正确连接,拨动拨动开关,LED会按照实验原理中的格雷码输入一一对应的亮或者灭。
六、 实验报告
1、 绘出仿真波形,并作说明。
2、 进一步熟悉QUARTUSII软件。
3、 将实验原理、设计过程、编译仿真波形和分析结果、硬件测试结果记录下来。