课程名称:
实验项目:显示译码器
实验地点:矿院楼二层
专业班级:电子信息工程 学号:
学生姓名:
本科实验报告
CPLD/FPGA应用设计 EDA实验室 1101班 年月日
实验二显示译码器
一、实验目的
1、学习七段显示译码器设计。
2、学习进程PROCESS和CASE语句的设计方法。 3、熟悉VHDL文本输入设计的流程。 二、实验原理
设计共阴极数码管的七段显示译码电路,VHDL参考程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY YIMA7 IS
PORT(A :IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END;
ARCHITECTURE ART OF YIMA7 IS BEGIN
PROCESS(A) BEGIN
CASE A IS
WHEN \ LED7S <=\ WHEN \ LED7S <=\ WHEN \ LED7S <=\ WHEN \ LED7S <=\ WHEN \ LED7S <=\ WHEN \ LED7S <=\ WHEN \ LED7S <=\ WHEN \ LED7S <=\ WHEN \ LED7S <=\ WHEN \ LED7S <=\ WHEN \ LED7S <=\ WHEN \ LED7S <=\ WHEN \ LED7S <=\ WHEN \ LED7S <=\ WHEN \ LED7S <=\ WHEN \ LED7S <=\ WHEN OTHERS => NULL; END CASE; END PROCESS; END;
三、实验内容
1、完成显示译码器的VHDL描述 2、在QuartusⅡ上对显示译码器的VHDL描述进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。
3、进行引脚锁定以及硬件下载测试。
四、实验步骤
1、打开软件,新建一个VHDL File文件,输入需要设计的程序。
2、对该VHDL语言进行编辑,无误后进行编译。
3、编译完成后分配管脚,之后进行编译。
4、波形仿真
5、由程序进行RTL仿真生成电路图。 Mux0A[3..0]16' hEF7C --SEL[3..0]DATA[15..0]OUTMUXMux1SEL[3..0]16' hDF71 --DATA[15..0]OUTMUXMux2SEL[3..0]16' hFD45 --DATA[15..0]OUTMUXMux3SEL[3..0]16' h7B6D --DATA[15..0]OUTLED7S[6..0]MUXMux4SEL[3..0]16' h2FFB --DATA[15..0]OUTMUXMux5SEL[3..0]16' h279F --DATA[15..0]OUTMUXMux6SEL[3..0]16' hD7ED --DATA[15..0]OUTMUX
6、硬件测试。把实验箱连接好电源和计算及接口,通过JTAG接口把程序下载下来,即可在实验箱上通过按键和发光二极管来检验实验的正确性。
五、思考题
讨论语句when others=>null作用,对于不同的VHDL综合器,此句是否具有相同的含义和功能?
答:这个语句在本实验中有无没有影响,因为case中包含了所有16种可能,如果在其他的程序,case下的可能不是所有,就可能提示出错。对于不同的综合器,得到的结果是相同的,跟综合器无关,都是保持原样值不变的意思。 六、实验感想
。