《实验三-七段数码显示译码器设计.doc》由会员分享,可在线阅读,更多相关《实验三-七段数码显示译码器设计.doc(7页珍藏版)》请在金锄头文库上搜索。
1、EDA实验报告七段数码显示译码器设计信息学院 10级电子2班 王勇勇 20104634一、实验目的学习7段数码显示译码器设计;学习VHDL的CASE语句应用及多层次设计方法。二、实验原理 7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能做十进制BCD码,然而数字系统中的数据处理和运算都是二进制的,所以输出表达都是十六进制的,为了满足十六进制的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。三、实验内容实验内容1:说明例6-18中各语句的含义,以及该例的整体功能。在Quartus II上对该例进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真
2、波形。实验内容2:引脚锁定及硬件测试。建议选GW48系统的实验电路模式6,用数码8显示译码输出,键8、键7、键6、键5四位控制输出,硬件验证译码器的工作性能。实验内容3:用例化语句按6-19的方式连接成顶层设计电路,CNT4B是一个四位二进制加法器,模块DECL7S即为6-18实体元件,重复以上实验过程。注意TMP是4位总线,led是7位总线,对于引脚锁定和试验,建议选电路模式6,用数码8显示译码输出,用键3做时钟输入或直接接时钟信号CLOCK0四、设计思路/原理图五、程序设计1. 7段译码器程序语句:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTIT
3、Y DECL7S ISPORT (A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END ;ARCHITECTURE ONE OF DECL7S ISBEGIN PROCESS(A)BEGINCASE A ISWHEN 0000 =LED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SLED7SNULL;END CASE;END PROCESS; END;2. 4位二进制加法计数器程序语句:LIBRAR
4、Y IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS PORT (CLK,RST,EN: IN STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR (3 DOWNTO 0); COUT:OUT STD_LOGIC);END CNT10;ARCHITECTURE BEHAV OF CNT10 ISBEGIN PROCESS (CLK,RST,EN) VARIABLE CQI:STD_LOGIC_VECTOR (3 DOWNTO 0);BEGIN IF RST=1 TH
5、EN CQI:=(OTHERS =0); ELSIF CLKEVENT AND CLK =1 THENIF EN=1 THEN IF CQI0); END IF;END IF;END IF;IF CQI=9 THEN COUT=1; ELSE CUT=0; END IF; CQCNT_TO_DECL7S,LED7S=LED);UUT_CNT10: CNT10 PORT MAP (CLK=CLK,RST=RST,EN=EN,cq=CNT_TO_DECL7S,COUT=COUT);END;六、管脚设计及仿真波形分析1. 七段显示管脚连接:2. 立化管脚连接:3. 七段显示波形图:4. 立化波形图:七、实验体会本次试验内容较多,但不复杂,但我做的却不是很熟练。对于立化程序语句不大会写,立化操作更是不会,幸亏在同学的帮助下,理解了实验操作思路,才独自圆满完成了实验。今后还得加倍努力,多写多练,熟能生巧!7