END example; 4.七段译码器: 程序如下:
--DecL7S
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 ;
ARCHITECTURE one OF DecL7S IS BEGIN
PROCESS( A ) BEGIN
CASE A(3 DOWNTO 0) IS
WHEN \ LED7S <= \°80?±0 WHEN \ LED7S <= \°79?±1 WHEN \ LED7S <= \°24?±2 WHEN \ LED7S <= \°30?±3 WHEN \ LED7S <= \°19?±4 WHEN \ LED7S <= \°12?±5 WHEN \ LED7S <= \°02?±6 WHEN \ LED7S <= \°78?±7 WHEN \ LED7S <= \°00?±8 WHEN \ LED7S <= \°10?±9 WHEN \ LED7S <= \°08?±10 WHEN \ LED7S <= \°03?±11 WHEN \ LED7S <= \°46?±12 WHEN \ LED7S <= \°21?±13 WHEN \ LED7S <= \°06?±14 WHEN \ LED7S <= \°0E?±15 WHEN OTHERS => NULL ; END CASE ; END PROCESS ; END ;
5.顶层设计的VHDL 源程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY TIMES IS
PORT(CLR:IN STD_LOGIC; CLK:IN STD_LOGIC; ENA:IN STD_LOGIC;
DOUT:OUT STD_LOGIC_VECTOR(23 DOWNTO 0)); END TIMES;
ARCHITECTURE ART OF TIMES IS COMPONENT CLKGEN
PORT(CLK:IN STD_LOGIC;
NEWCLK:OUT STD_LOGIC); END COMPONENT; COMPONENT CNT10
PORT(CLK,CLR,ENA:IN STD_LOGIC;
CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CARRY_OUT:OUT STD_LOGIC); END COMPONENT; COMPONENT CNT6
PORT(CLK,CLR,ENA:IN STD_LOGIC;
CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CARRY_OUT:OUT STD_LOGIC); END COMPONENT;
SIGNAL NEWCLK:STD_LOGIC; SIGNAL CARRY1:STD_LOGIC; SIGNAL CARRY2:STD_LOGIC; SIGNAL CARRY3:STD_LOGIC; SIGNAL CARRY4:STD_LOGIC; SIGNAL CARRY5:STD_LOGIC; BEGIN
U0:CLKGEN PORT MAP(CLK=>CLK,NEWCLK=>NEWCLK); U1:CNT10 PORT MAP(CLK=>NEWCLK,CLR=>CLR,ENA=>ENA, CQ=>DOUT(3 DOWNTO 0),CARRY_OUT=>CARRY1); U2:CNT10 PORT MAP(CLK=>CARRY1,CLR=>CLR,ENA=>ENA, CQ=>DOUT(7 DOWNTO 4),CARRY_OUT=>CARRY2); U3:CNT10 PORT MAP(CLK=>CARRY2,CLR=>CLR,ENA=>ENA, CQ=>DOUT(11 DOWNTO 8),CARRY_OUT=>CARRY3); U4:CNT6 PORT MAP(CLK=>CARRY3,CLR=>CLR,ENA=>ENA, CQ=>DOUT(15 DOWNTO 12),CARRY_OUT=>CARRY4); U5:CNT10 PORT MAP(CLK=>CARRY4,CLR=>CLR,ENA=>ENA, CQ=>DOUT(19 DOWNTO 16),CARRY_OUT=>CARRY5); U6:CNT6 PORT MAP(CLK=>CARRY5,CLR=>CLR,ENA=>ENA,
CQ=>DOUT(23 DOWNTO 20)); END ART;
五.实验结果
(Cnt6波形图)
(cnt10波形图)
(秒表波形图)
六.遇到的问题及解决方案
1.在对程序进行编译时出现了很多错误,因此需要耐心进行排错,要充分利用上课时所学的理论知识,找出其中的语法错误
2.在用软件进行时序仿真时,刚开始没考虑信号的延迟也没考虑仿真的延迟,因此波形和理论不一致,因此需要设置合理的初值。 七.建议及意见
1.对于此种课程,我觉得应该在老师引导的前提下多给学生操作,实践的机会,让学生能够及时的进行理论与实践的相结合。 2.对于一些新的软件 ,我希望老师能够首先大体的把操作过程跟我们讲一下,让我们能有一个大体的思路,因此不至于只是跟着老师的步骤知道点那些项而不了解 自己在干什么,要实现的是什么?
3.老师能够及时的了解学生的情况并引导学生解决问题。
学号:02091370
班级:020914 姓名:吴再婕