⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 counter_100.vhd

📁 使用Quartus II 5.0开发指导手册
💻 VHD
字号:
-------------------------------------------    QUARTUS II TECHNICAL TRAINING    ----       2-Digit Decimal 		       ----            Modulus-100 Counter      -------------------------------------------library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;use IEEE.STD_LOGIC_ARITH.ALL;entity COUNTER_100 IS	port	(		CLK			: in std_logic;--		CLR			: in std_logic;  --  Removed as is it unnecessary.  All registers p0wer									 --    up low		ONES_OUT	: out std_logic_vector (5 downto 0);		TENS_OUT	: out std_logic_vector (5 downto 0);		ROW_OUT		: out std_logic_vector (7 downto 0)	);end entity COUNTER_100;architecture LOGIC of COUNTER_100 is	signal CLR 		: std_logic;	signal MEM_COUNT_OUT : std_logic_vector (2 downto 0);	signal CNT_ONE_OUT : std_logic_vector (3 downto 0);	signal CNT_TEN_OUT : std_logic_vector (3 downto 0);	signal LED_IN_ONES : std_logic_vector (6 downto 0);	signal LED_IN_TENS : std_logic_vector (6 downto 0);		signal Q_A_OUT     : std_logic_vector (7 downto 0);	signal Q_B_OUT     : std_logic_vector (7 downto 0);		component MEM_COUNT is  -- Counter		port		(			CLK                 : in    std_logic;			RESET				: in	std_logic;			CNT 				: out	std_logic_vector(2 downto 0)		);	end component MEM_COUNT;--------  LED_STORAGE : ROM to store number patterns for LED display -----------	component LED_STORAGE 		PORT		(			clock		: IN STD_LOGIC ;			aclr		: IN STD_LOGIC  := '0';			address_a	: IN STD_LOGIC_VECTOR (6 DOWNTO 0);			address_b	: IN STD_LOGIC_VECTOR (6 DOWNTO 0);			q_a			: OUT STD_LOGIC_VECTOR (7 DOWNTO 0);			q_b			: OUT STD_LOGIC_VECTOR (7 DOWNTO 0)		);	end component LED_STORAGE;---------  COUNTER : Two digit decimal counter ---------------------------------	component COUNTER	generic (			PRESCALER : integer			);	port(			CLOCK   : in std_logic;			RESET   : in std_logic;			CNT_ONE : out std_logic_vector(3 downto 0);			CNT_TEN : out std_logic_vector(3 downto 0)		    );	end component COUNTER;	---------  ROW_MEM : ROM which cycles rows for LED display---------	component row_mem		PORT		(			address	: IN STD_LOGIC_VECTOR (2 DOWNTO 0);			clock	: IN STD_LOGIC ;			q		: OUT STD_LOGIC_VECTOR (7 DOWNTO 0)		);	end component;		begin		CLR <= '1';	MEM_COUNT_INT : MEM_COUNT 		port map (			CLK 	=> CLK,			RESET	=> CLR,			CNT		=> MEM_COUNT_OUT		);		LED_STORAGE_INST : LED_STORAGE		port map (			clock	 => CLK,			aclr	 => CLR,			address_a	 => LED_IN_ONES,			address_b	 => LED_IN_TENS,			q_a	 => q_a_out,			q_b	 => q_b_out		);			COUNTER_INST : COUNTER		generic map (			PRESCALER => 8388608 * 2		)		port map (			CLOCK	=> CLK,			RESET	=> CLR,			CNT_ONE => CNT_ONE_OUT,			CNT_TEN => CNT_TEN_OUT		);			row_mem_inst : row_mem 		port map (			address	 => MEM_COUNT_OUT,			clock	 => CLK,			q	 => ROW_OUT		);		LED_IN_ONES <= MEM_COUNT_OUT + (CNT_ONE_OUT & "000");	LED_IN_TENS <= MEM_COUNT_OUT + (CNT_TEN_OUT & "000");		ONES_OUT  <= Q_A_OUT(5 downto 0);	TENS_OUT  <= Q_B_OUT(5 downto 0);end architecture LOGIC;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -