vhdl语言编写 9秒倒计时器
VHDL全称Very-High-Speed Integrated Circuit Hardware DescripTIon Language,问世于1982年。1987年底,VHDL被IEEE和美国防部确定为规范硬件配置描述语言 。自IEEE-1076(通称87版)以后,各EDA企业陆续推出了自个的VHDL设计方案自然环境,或公布自个的设计工具能够和VHDL插口。1993年,IEEE对VHDL开展了修定,从更多的抽象层次和系统软件叙述工作能力上拓展VHDL的內容,发布了最新版本的VHDL,即IEEE规范的1076-1993版本号,通称93版。VHDL和Verilog做为IEEE的行业标准硬件配置描述语言,获得诸多EDA企业适用,在电子技术行业,已变成实际上的通用性硬件配置描述语言。
文中为各位共享用vhdl语言表达撰写的9秒倒计时器程序流程。
VHDL语言表达优点
(1)与其余的硬件配置描述语言对比,VHDL具备更强的方式叙述工作能力,进而影响了他变成控制系统设计行业最好的硬件配置描述语言。强劲的方式叙述工作能力是绕开实际的元器件构造,从逻辑性个人行为上叙述和设计方案规模性电子控制系统的主要确保。
(2)VHDL丰富多彩的模拟仿真句子和函数库,促使在一切大体系的设计方案初期就能检查设计方案体系的作用可行性分析,随时随地可对设计方案开展模拟仿真。
(3)VHDL句子的方式叙述功能和程序结构决策了他具备适用规模性设计方案的溶解和现有设计方案的再使用作用。合乎市场前景的大量系统软件高效率,快速的进行务必有多的人乃至好几个开发设计组一同并行处理工作中能够完成。
(4)针对用VHDL进行的一个明确的设计方案,能够运用EDA专用工具开展逻辑性综合性和提升,并全自动的把VHDL叙述设计方案转化成门级网表。
(5)VHDL对设计方案的叙述具备相应自觉性,设计师能够不明白硬件配置的构造,也无须管理方法最后设计方案完成的总体目标元器件是啥,而开展单独的设计方案。
详细程序流程
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
--------------------------------------------------------------------------------------------
ENTITY CNT9 IS
PORT
( CLK,en: IN STD_LOGIC;
PLD,ENB : IN STD_LOGIC; -------PLD表明校准数据信号
WARN: OUT STD_LOGIC;
S0 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0));------------译码器輸出,S0为个位数
END CNT9;
--------------------------------------------------------------------------------------------
ARCHITECTURE A OF CNT9 IS
SIGNAL SS : STD_LOGIC_VECTOR (3 DOWNTO 0) ; -------------SS表明个位数
BEGIN
PRO1: PROCESS (CLK,en,ENB)
VARIABLE TMPA: STD_LOGIC_VECTOR (3 DOWNTO 0);
VARIABLE TMPWARN: STD_LOGIC;
BEGIN
IF en=‘1’ THEN TMPA:=“1001”;TMPWARN:=‘0’;
ELSIF CLK‘EVENT AND CLK=’1‘ THEN
TMPA:=TMPA-1;
if tmpa=’0‘ then TMPWARN:=’1‘;
END IF;
END IF;
SS<=TMPA;WARN<=TMPWARN;
PROCESS(SS)
BEGIN
CASE SS IS --------------------------个位数表明一部分
WHEN “0000” => S0 <=“0111111”;--表明0
WHEN “0001” => S0 <=“0000110”;--表明1
WHEN “0010” => S0 <=“1011011”;--表明2
WHEN “0011” => S0 <=“1001111”;--表明3
WHEN “0100” => S0<=“1100110”;--表明4
WHEN “0101” => S0 <=“1101101”;--表明5
WHEN “0110” => S0 <=“1111101”;--表明6
WHEN “0111” => S0 <=“0000111”;--表明7
WHEN “1000” => S0 <=“1111111”;--表明8
WHEN “1001” => S0 <=“1101111”;--表明9
WHEN OTHERS =>S0<=“0000000”;
END CASE ;
END PROCESS;
END A;
下一篇:可控硅型号与参数表