EDA技术与应用
实验报告
实验名称:格雷码、二进制转换及译码电路
姓名:陈丹
学号:2
班级:电信(2)班
时间:
南京理工大学紫金学院电光系
一、实验目的
1)学习用VHDL代码描述组合逻辑电路的方法。
2) 掌握when….else….,generate和case并行语句的使用。
二、实验原理
1)学习VHDL的when….else….,generate和case并行语句。
2)利用when….else….并行语句描述4位二进制码/格雷码转换电路。
3)利用generate并行语句描述n位格雷码/二进制码转换电路。
4)利用case并行语句实现译码电路。
5)利用实验箱验证所设计的电路的正确性,要求将输入输出的数据用数码管显示。
三、实验内容
1、二进制转换为格雷码
4位二进制格雷码转换的真值表如图所示:
建立工程,输入代码
先建立工程,工程命名为“btog”,顶层文件名为“btog”。
选择“file→new”,在弹出的窗口中选择“VHDL File”建立“VHDL”文件。
在新建的VHDL文件中输入二进制格雷码转换的VHDL代码,将文件保存。
二进制转换为格雷码的代码:
编译仿真
对当前文件进行编译,编译通过以后建立仿真波形,保存为“”.为波形文件添加节点,将“end time”设置为100μs ,将输入输出编组,并为输入信号赋值,其中“start value”为“0000”,“count every”设置为5μs.其波形如下:
仿真结果
2、generate语句实现格雷码转换为二进制
对于n位二进制转换为格雷码的码转换电路,转换表达式如下:
Bn=Gn
Bi=Gi⊕B(i+1)
建立工程,输入代码
先建立工程,工程命名为“gtob”,顶层文件名为“g_to_b2”。
选择“file→new”,在弹出的窗口中选择“VHDL File”建立“VHDL”文件。
在新建的VHDL文件中输入格雷码二进制转换的VHDL代码,将文件保存。
转换代码:
编译仿真
对当前文件进行编译,编译通过以后建立仿真波形,保存为“”.为波形文件添加节点,将“end time”设置为100μs ,将输入输出编组,并为输入信号赋值,其中“start value”为“0000”,“count every”设置为5μs.其波形如下:
3、case语句实现译码电路
代码描述:
仿真波形:
4、管脚配置
利用实验箱的模式6来验证设计电路的正确性。
用键5~键8表示输入管脚g0~g3,发光二极管D1~D4表示输出管脚b0~b4。
用7、8两个七段显示译码管表示格雷码和二进制码。
选择“assignment→assignment editor”弹出管脚配置图,在“location”一栏中填入相应器件的管脚。
5、下载
将文件下载到实验箱,对实验箱进行操作,将键5~键8按钮设置为不同的电平,观察七段显示译码管的情况。
五、小结与体会
通过这次试验我对软件的运用又有了更一步的认识,熟练地操作。
而且将学过的知识用新的编程来做,通过此次实验学会了二进制和格雷码之间的转换,以及用generate和generic 方法书写程序。
对于n位二进制码转换为格雷码的码转换电路,转换表达式如下:
在软件编程时遇见了错误,然后经自己的检查将程序修改好。
这样下次才不会犯错而且要注意。