EDA在數(shù)字系統(tǒng)設(shè)計(jì)中的應(yīng)用
本文引用地址:http://m.butianyuan.cn/article/190215.htm
WHEN S3=>IF w3=’1’THEN
state=S0;
END IF;
END CASE;
END IF;
END PROCESS;
c1=’1’WHEN state=S0 ELSE’0’;
c2=’1’ WHEN state=S2 ELSE’0’;
c3=’1’ WHEN(state=S1 OR state=S3)ELSE’0’;
r1=’1’ WHEN(state=S2OR state=S3)ELSE’0’;
g1=’1’ WHEN state=S0 ELSE’0’;
y1=’1’ WHEN state=S1 ELSE’0’;
r2=’1’ WHEN(state=S0 OR state=S1)ELSE’0’;
g2=’1’ WHEN state=S2 ELSE’0’;
y2=’1’ WHEN state=S3 ELSE’0’;
END beh_control;
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY timer IS ——定時(shí)器實(shí)體說明
PORT(clk,c:IN STD_LOGIC;
d:IN INTEGER RANGE 1TO 31;
w:OUT STD_LOGIC);
END timer;
ARCHITECTURE beh_timer OF timer IS ——定時(shí)器結(jié)構(gòu)體
BEGIN
PROCESS(clk)
VARIABLE cnt: INTEGER RANGE 0 TO 31;
BEGIN
IF(clk=’1’)THEN
IF(c=’1’AND cnt>0)THEN
cnt:=cnt-1;
ELSE
cnt:=d;
END IF;
END IF;
IF cnt=0 THEN
w=’1’;
ELSE
w=’0’;
END IF;
END PROCESS;
END beh_timer;
完成了上述兩個(gè)基本模塊,可以形成頂層文件,在MAX+plusII環(huán)境下進(jìn)行編譯和仿真,驗(yàn)證系統(tǒng)功能是否正確,如果出現(xiàn)錯(cuò)誤,需要進(jìn)行修改,直到完全通過為止。當(dāng)設(shè)計(jì)人員確定設(shè)計(jì)工作已基本成功時(shí),即可通過編程電纜下載數(shù)據(jù)流來進(jìn)行硬件驗(yàn)證。驗(yàn)證合格后,總體設(shè)計(jì)工作即圓滿結(jié)束。該系統(tǒng)在編寫控制器的源程序時(shí),有多種編寫方法,以下是控制器的VHDL程序的另外兩種定義方法:
(1)
…
ARCHITECTURE con1_arc OF con1 IS
SIGNAL current_state:state;
BEGIN
…
在進(jìn)行時(shí)序分析時(shí),卻出現(xiàn)了不按設(shè)定的計(jì)數(shù)順序工作的結(jié)果:14,13,2,1,0… 經(jīng)過反復(fù)修改調(diào)試,對(duì)程序進(jìn)行修改,如(2)所示:
(2)
ARCHITECTURE con1_arc OF con1 IS
SIGNAL current_state:state;
SIGNAL TEMP_STATE:state;
...
TEMP STATE=current_state;
BEGIN
...
在這種設(shè)計(jì)方法中,多定義了一個(gè)信號(hào)變量,從而使得程序能按設(shè)定的狀態(tài)14,13,12,11…進(jìn)行轉(zhuǎn)換。
從上述可知:EDA技術(shù)的優(yōu)越性在于可以直接從程序中修改錯(cuò)誤及系統(tǒng)功能,而不需要硬件電路的支持, 即把后期進(jìn)行的系統(tǒng)調(diào)試轉(zhuǎn)移到設(shè)計(jì)實(shí)現(xiàn)之前在計(jì)算機(jī)上進(jìn)行的功能仿真和時(shí)序仿真。使系統(tǒng)的功能修改及調(diào)試比較方便、快捷、準(zhǔn)確,既縮短了研發(fā)周期,又大大節(jié)約了成本。
6 結(jié)語
電子系統(tǒng)的設(shè)計(jì)輸入可以用原理圖、波形、VHDL語言等方式輸入,下載配置前的整個(gè)過程幾乎不涉及到整個(gè)硬件,而硬件設(shè)計(jì)的修改也如同修改軟件程序一樣快捷方便,即通過軟件方式的設(shè)計(jì)與測(cè)試,達(dá)到對(duì)特定功能的硬件電路的設(shè)計(jì)實(shí)現(xiàn),這種現(xiàn)代電子系統(tǒng)設(shè)計(jì)技術(shù)采用自頂向下分層次、模塊化設(shè)計(jì)方法,先化整為零,再優(yōu)化綜合,靈活通用,已成為研制、開發(fā)數(shù)字系統(tǒng)最理想的選擇,是現(xiàn)代電子電路設(shè)計(jì)方法的一個(gè)趨勢(shì),體現(xiàn)了硬件設(shè)計(jì)向軟件化方向發(fā)展的新思路。
評(píng)論