作者:chenjieb520
一.设计目的
学习七段数码管显示译码器设计,学习VHDL的CASE语句应用及多层次设计方法。
二.设计内容
利用译码程序,构造七段数码管,并完成编译、综合、适配、仿真和硬件测试。
三.程序设计原理
实验步骤:请按照以下步骤实现七段解码器电路:
(1) 新建一个QuartusⅡ工程,用以在DE2平台上实现所要求的电路。
(2) 建立一个VHDL文件,实现七段解码器电路,用SW2~SW0作为输入c2~c0,DE2平台上的数码管分别为HEX0~HEX7,输出接HEX0。
(3) 参照DE2平台的引脚分配表分配引脚。
(4) 编译工程,完成后下载到FPGA中。
(5) 拨动波段开关并观察七段数码管HEX0的显示,以验证设计的功能是否正确。
四.程序流程图
五.源程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY DECL7S IS
PORT(A:IN STD_LOGIC_VECTOR(1 DOWNTO 0);
LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END;
ARCHITECTURE one OF DECL7S IS
BEGIN
PROCESS(A)
BEGIN
CASE A IS
WHEN "00" => LED7S<="0001001";
WHEN "01" => LED7S<="0000110";
WHEN "10" => LED7S<="1000111";
WHEN "11" => LED7S<="1000000";
WHEN OTHERS=>NULL;
END CASE;
END PROCESS;
END;
六.调试过程
实验结果就是:当
A=00 时 在LED上显示字符“H”
A=01 时 在LED上显示字符“E”
A=10 时 在LED上显示字符“L”
A=11 时 在LED上显示字符“O”
实验结果和实验要求相吻合。
七.遇到的问题及解决方法
1、在本次实验中,由于实验的内容比较简单,没有遇到比较大的问题,主要是在仿真的波形的建立方面,比较没有技巧,导致花费了很多时间。
2、在其他的代码方面,由于有课本的代码可以进行改造,所以没有遇到比较大的问题。
八.参考文献
EDA技术与VHDL(第二版) 潘松 黄继业 编著