二位十进制计数显示译码电路
一、实训目的
1.巩固编译、仿真VHDL文件的方法。 2.掌握VHDL程序并行语句的综合应用。 二、实训器材
计算机与Quartus Ⅱ工具软件。 三、实训指导 (一)实训原理
1.纯VHDL描述设计
下面是一种2位十进制计数显示译码电路的VHDL描述,其中2位十进制计数是异步电路,编辑输入下面代码,并通过编译与仿真。
VHDL代码如下:
cnt10.vhd文件VHDL文件代码如下:
LIBRARY ieee;
USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.ALL; ENTITY cnt10 IS
PORT(Clrn,Clk: IN STD_LOGIC;
q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); Co : OUT STD_LOGIC); END cnt10;
ARCHITECTURE a OF cnt10 IS
SIGNAL tmp:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN
PROCESS(Clk,Clrn,tmp) BEGIN
IF Clrn='0' THEN tmp<=\ ELSIF(Clk'event AND Clk='1')THEN IF tmp<9 THEN tmp<=tmp+1; ELSE tmp<=\
END IF; END IF; q<=tmp; END PROCESS;
Co<=NOT(tmp(0) AND tmp(3)); END a;
decl7s.vhd文件VHDL文件代码如下: LIBRARY ieee;
USE ieee.std_logic_1164.ALL; ENTITY decl7s IS
PORT(a: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
Led7s : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END decl7s;
ARCHITECTURE one OF decl7s IS BEGIN
PROCESS(A) BEGIN
CASE a IS
WHEN\ WHEN\ WHEN\ WHEN\ WHEN\ WHEN\ WHEN\ WHEN\ WHEN\ WHEN\ WHEN OTHERS=>led7s<=\ END CASE; END PROCESS; END one;
BCD_Disply.vhd文件VHDL文件代码如下: LIBRARY ieee;
USE ieee.std_logic_1164.ALL; ENTITY BCD_Disply IS
PORT(Clrn,Clk: IN STD_LOGIC;
led7s1,led7s0: OUT STD_LOGIC_VECTOR(6 DOWNTO 0));
END BCD_Disply;
ARCHITECTURE one OF BCD_Disply IS COMPONENT cnt10
PORT(Clrn,Clk: IN STD_LOGIC;
q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); Co : OUT STD_LOGIC); END COMPONENT; COMPONENT decl7s
PORT(a: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
Led7s : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END COMPONENT;
SIGNAL Coi1,coi0:STD_LOGIC;
SIGNAL qi1,qi0:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN
cnt0:cnt10 PORT MAP(Clrn,Clk,qi0,Coi0); cnt1:cnt10 PORT MAP(Clrn,Coi0,qi1,Coi1); decl7s0:decl7s PORT MAP(qi0,Led7s0); decl7s1:decl7s PORT MAP(qi1,Led7s1); END one;
1.混合描述设计
试用VHDL设计输入法设计底层文件cnt10.vhd和decl7s.vhd,再用原理图设计输入法设计顶层文件BCD_Disply_g。编译仿真设计BCD_Disply_g。 (二)实训步骤
1.纯VHDL描述设计 (1)建立工程项目。
(2)建立VHDL文件,以顶层实体名为文件名。 (3)设计输入VHDL文件。 (4)编译VHDL文件。
如果有错误,检查并纠正错误,直至最后通过。 (5)仿真VHDL文件。
认真核对输入/输出波形,检查设计的功能正确与否。
2位十进制计数显示译码电路的仿真波形图如图2-1和2-2所示。
图2-1 2位十进制计数显示译码电路高位的仿真波形图
图2-2 2位十进制计数显示译码电路低位的仿真波形图
2.混合描述设计
(1)设计输入cnt10.vhd。
编写cnt10.vhd文件,并以此文件建立工程,编译通过,执行File→Greate/Update→Greate Symbol Files for Current File命
令,生成符号cnt10.bsf。
(2)设计输入decl7s.vhd文件。
用同样的方法编写decl7s.vhd文件和生成decl7s. bsf符号。 (3)设计输入BCD_Disply_g.bdf文件。
另建一个工程文件夹BCD_Disply_g,把cnt10.vhd、cnt10.bsf、decl7s.vhd和decl7s.bsf文件放入其中,新建一个原理图文件BCD_Disply_g.bdf并保存到BCD_Disply_g文件夹中,以此文件新建工程,使用插入符号命令,出现选择符号的界面,选择cnt10.bsf和decl7s.bsf,将它们放置于原理图编辑区中,按2位十进制计数显示译码电路的原理图连线,保存、编译并通过仿真。若有错误,检查、修改设计直到正确。二位十进制计数显示译码电路的原理图如图2-3所示:
cnt10clrnclkINPUTVCCINPUTVCCdecl7sa[3..0]Led7s[6..0]OUTPUTClrnq[3..0]ClkCodecl7s0[6..0]instinst1cnt10Clrnq[3..0]ClkCodecl7sa[3..0]Led7s[6..0]OUTPUTdecl7s1[6..0]inst2inst4 图2-3 二位十进制计数显示译码电路原理图

