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;