傳統(tǒng)的硬件電路設(shè)計(jì)方法是采用自下而上的設(shè)計(jì)方法,即根據(jù)系統(tǒng)對硬件的要求,詳細(xì)編制技術(shù)規(guī)格書,并畫出系統(tǒng)控制流圖;然后根據(jù)技術(shù)規(guī)格書和系統(tǒng)控制流圖,對系統(tǒng)的功能進(jìn)行細(xì)化,合理地劃分功能模塊,并畫出系統(tǒng)的功能框圖;接著就進(jìn)行各功能模塊的細(xì)化和電路設(shè)計(jì);各功能模塊電路設(shè)計(jì)、調(diào)試完成后,將各功能模塊的硬件電路連接起來再進(jìn)行系統(tǒng)的調(diào)試,最后完成整個系統(tǒng)的硬件設(shè)計(jì)。采用傳統(tǒng)方法設(shè)計(jì)數(shù)字系統(tǒng),特別是當(dāng)電路系統(tǒng)非常龐大時,設(shè)計(jì)者必須具備較好的設(shè)計(jì)經(jīng)驗(yàn),而且繁雜多樣的原理圖的閱讀和修改也給設(shè)計(jì)者帶來諸多的不便。
為了提高開發(fā)的效率,增加已有開發(fā)成果的可繼承性以及縮短開發(fā)周期,各ASIC研制和生產(chǎn)廠家相繼開發(fā)了具有自己特色的電路硬件描述語言(Hardware Description Language,簡稱HDL)。但這些硬件描述語言差異很大,各自只能在自己的特定設(shè)計(jì)環(huán)境中使用,這給設(shè)計(jì)者之間的相互交流帶來了極大的困難。因此,開發(fā)一種強(qiáng)大的、標(biāo)準(zhǔn)化的硬件描述語言作為可相互交流的設(shè)計(jì)環(huán)境已勢在必行。于是,美國于1981年提出了一種新的、標(biāo)準(zhǔn)化的HDL,稱之為VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,簡稱VHDL。這是一種用形式化方法來描述數(shù)字電路和設(shè)計(jì)數(shù)字邏輯系統(tǒng)的語言。設(shè)計(jì)者可以利用這種語言來描述自己的設(shè)計(jì)思想,然后利用電子設(shè)計(jì)自動化工具進(jìn)行仿真,再自動綜合到門級電路,最后用PLD實(shí)現(xiàn)其功能。
vhdl特點(diǎn)
與其他硬件描述語言相比,VHDL具有以下特點(diǎn):
功能強(qiáng)大、設(shè)計(jì)靈活
VHDL具有功能強(qiáng)大的語言結(jié)構(gòu),可以用簡潔明確的源代碼來描述復(fù)雜的邏輯控制。它具有多層次的設(shè)計(jì)描述功能,層層細(xì)化,最后可直接生成電路級描述。VHDL支持同步電路、異步電路和隨機(jī)電路的設(shè)計(jì),這是其他硬件描述語言所不能比擬的。VHDL還支持各種設(shè)計(jì)方法,既支持自底向上的設(shè)計(jì),又支持自頂向下的設(shè)計(jì);既支持模塊化設(shè)計(jì),又支持層次化設(shè)計(jì)。
支持廣泛、易于修改
由于VHDL已經(jīng)成為IEEE標(biāo)準(zhǔn)所規(guī)范的硬件描述語言,大多數(shù)EDA工具幾乎都支持VHDL,這為VHDL的進(jìn)一步推廣和廣泛應(yīng)用奠定了基礎(chǔ)。在硬件電路設(shè)計(jì)過程中,主要的設(shè)計(jì)文件是用VHDL編寫的源代碼,因?yàn)閂HDL易讀和結(jié)構(gòu)化,所以易于修改設(shè)計(jì)。
強(qiáng)大的系統(tǒng)硬件描述能力
VHDL具有多層次的設(shè)計(jì)描述功能,既可以描述系統(tǒng)級電路,又可以描述門級電路。而描述既可以采用行為描述、寄存器傳輸描述或結(jié)構(gòu)描述,也可以采用三者混合的混合級描述。另外,VHDL支持慣性延遲和傳輸延遲,還可以準(zhǔn)確地建立硬件電路模型。VHDL支持預(yù)定義的和自定義的數(shù)據(jù)類型,給硬件描述帶來較大的自由度,使設(shè)計(jì)人員能夠方便地創(chuàng)建高層次的系統(tǒng)模型。
獨(dú)立于器件的設(shè)計(jì)、與工藝無關(guān)
設(shè)計(jì)人員用VHDL進(jìn)行設(shè)計(jì)時,不需要首先考慮選擇完成設(shè)計(jì)的器件,就可以集中精力進(jìn)行設(shè)計(jì)的優(yōu)化。當(dāng)設(shè)計(jì)描述完成后,可以用多種不同的器件結(jié)構(gòu)來實(shí)現(xiàn)其功能。
很強(qiáng)的移植能力
VHDL是一種標(biāo)準(zhǔn)化的硬件描述語言,同一個設(shè)計(jì)描述可以被不同的工具所支持,使得設(shè)計(jì)描述的移植成為可能。
易于共享和復(fù)用
VHDL采用基于庫(Library)的設(shè)計(jì)方法,可以建立各種可再次利用的模塊。這些模塊可以預(yù)先設(shè)計(jì)或使用以前設(shè)計(jì)中的存檔模塊,將這些模塊存放到庫中,就可以在以后的設(shè)計(jì)中進(jìn)行復(fù)用,可以使設(shè)計(jì)成果在設(shè)計(jì)人員之間進(jìn)行交流和共享,減少硬件電路設(shè)計(jì)。
vhdl20秒倒計(jì)時源代碼
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity js is
port(clk_1s,rst,s:in std_logic;
ta,tb:out integer range 0 to 9);
end js;
architecture one of js is signal co:std_logic;
signal ta1,tb1:integer range 0 to 9;
begin
p1:process(clk_1s,rst,s,ta1) begin
if rst=‘0’ then
ta1<=4;
elsif clk_1s‘event and clk_1s=’1‘ then
co<=’0‘;
if s=’1‘ then
if ta1= 0 then
ta1<=9;
co<=’1‘;
else ta1<=ta1-1;
end if;
end if;
end if;
end process p1;
p2:process(co,rst,s,tb1)
begin
if rst=’0‘ then
tb1<=1;
elsif co’event and co=‘1’ then
if s=‘1’ then
if tb1=0 then
tb1<=1;
else tb1<=tb1-1;
end if; end if;
end if;
end process p2;
ta<=ta1;
tb<=tb1;
end one;
評論
查看更多