摘 要: 通過對數(shù)字頻率計系統(tǒng)的設(shè)計,介紹了基于VHDL語言的數(shù)字系統(tǒng)層次化設(shè)計方法。首先將數(shù)字系統(tǒng)按功能劃分為不同的模塊,各模塊電路的設(shè)計通過VHDL語言編程實現(xiàn),然后建立頂層電路原理圖。使用MAX+PLUS II開發(fā)軟件完成設(shè)計輸入、編譯、邏輯綜合和功能仿真,最后在CPLD上實現(xiàn)數(shù)字系統(tǒng)的設(shè)計。結(jié)果表明,使用這種設(shè)計方法可以大大地簡化硬件電路的結(jié)構(gòu),具有可靠性高、靈活性強等特點。
關(guān)鍵詞: EDA技術(shù);VHDL;數(shù)字系統(tǒng);CPLD
電子設(shè)計自動化EDA(Electronic Design Automation)是隨著電子系統(tǒng)設(shè)計技術(shù)的發(fā)展而發(fā)展起來的一門新技術(shù)。它是以計算機為工作平臺,以EDA軟件為開發(fā)環(huán)境,以硬件描述語言HDL(Hardware Description Language)為設(shè)計語言,以可編程邏輯器件PLD(Programmable Logic Device)為實驗載體,以專用集成電路(ASIC)芯片為設(shè)計的目標(biāo)器件,自動完成用軟件的方式設(shè)計電子系統(tǒng)到硬件系統(tǒng)的一門新技術(shù)[1-2]。參考文獻[3-6]闡述了隨著電子設(shè)計技術(shù)的發(fā)展EDA技術(shù)的發(fā)展過程,直到20世紀(jì)90年代EDA技術(shù)得到全新的發(fā)展。這一階段的主要特征是以高級硬件描述語言(VHDL、AHDL或Verilog HDL)、系統(tǒng)級仿真和綜合技術(shù)為特點,采用“自頂向下”的設(shè)計理念,實現(xiàn)了整個系統(tǒng)設(shè)計過程的自動化。
EDA技術(shù)的關(guān)鍵之一是用硬件描述語言對硬件電路進行描述。在各種類型的硬件描述語言中,超高速集成電路硬件描述語言VHDL(Very High Speed Integrated Circuit Hardware Description Language)是一種全方位的硬件描述語言,1987年被IEEE和美國國防部確認為標(biāo)準(zhǔn)硬件描述語言[7-8]。它用軟件編程的方式來描述硬件系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接形式,包括系統(tǒng)行為級、寄存器傳輸級和邏輯門級多個設(shè)計層次,支持結(jié)構(gòu)、數(shù)據(jù)流、行為3種描述形式的混合描述,幾乎覆蓋了以往各種硬件描述語言的功能,整個“自頂向下”或“自底向上”的電路設(shè)計過程都可以用VHDL來完成。在電子設(shè)計工程領(lǐng)域,它承擔(dān)了幾乎全部數(shù)字系統(tǒng)的設(shè)計任務(wù),更適合大規(guī)模數(shù)字系統(tǒng)的設(shè)計。本文以Altera公司提供的MAX+PLUS II為平臺,通過對數(shù)字頻率計的設(shè)計,介紹基于VHDL的數(shù)字系統(tǒng)層次化設(shè)計方法。
1 數(shù)字頻率計設(shè)計系統(tǒng)的組成
本設(shè)計中的數(shù)字頻率計是一個8位十進制數(shù)字頻率計,它由3個模塊組成:一個測頻控制信號發(fā)生器模塊TESTCTL、8個具有時鐘使能的十進制計數(shù)器模塊CNT10和一個32 bit鎖存器模塊REG32B。數(shù)字頻率計系統(tǒng)的頂層電路原理圖如圖1所示。
2 各模塊電路的設(shè)計及仿真
2.1 測頻控制信號發(fā)生器的設(shè)計
頻率測量的基本原理是計算每秒中內(nèi)待測信號的脈沖個數(shù),這就要求測頻信號發(fā)生器TESTCTL的計數(shù)使能信號TSTEN能產(chǎn)生一個1 s脈寬的周期信號,并對頻率計的每一計數(shù)器的使能端EN進行同步控制。當(dāng)TSTEN為高電平時,允許計數(shù);低電平時,停止計數(shù),并保持其所計的數(shù)。在停止計數(shù)期間,首先需要一個鎖存信號LOAD的上升沿將計數(shù)器在前1 s鐘計數(shù)值鎖存進32 bit鎖存器REG32B,由外部的7段譯碼器譯出并穩(wěn)定顯示。鎖存信號之后,必須有一清零信號CLR對計數(shù)器進行清零,為下一秒鐘的計數(shù)作準(zhǔn)備。測頻控制信號發(fā)生器模塊用VHDL語言編程實現(xiàn),程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY TESTCTL IS
PORT(CLK:IN STD_LOGIC;
TSTEN: OUT STD_LOGIC;
CLR: OUT STD_LOGIC;
LOAD: OUT STD_LOGIC);
END TESTCTL;
ARCHITECTURE BEHAVE OF TESTCTL IS
SIGNAL DIV2CLK: STD_LOGIC;
BEGIN
PROCESS (CLK)
BEGIN
IF CLK′EVENT AND CLK=′1′ THEN
DIV2CLK<=NOT DIV2CLK;
END IF;
END PROCESS;
PROCESS (CLK, DIV2CLK)
BEGIN
IF CLK=′0′ AND DIV2CLK=′0′ THEN
CLR<=′1′;
ELSE CLR<=′0′;
END IF;
END PROCESS;
LOAD<=NOT DIV2CLK;
TSTEN<=DIV2CLK;
END BEHAVE;
將該模塊的設(shè)計通過MAX+PLUS II軟件進行輸入、編譯、邏輯綜合和功能仿真,驗證設(shè)計的正確性。測頻控制信號發(fā)生器的仿真結(jié)果如圖2所示。
2.2 十進制計數(shù)器的設(shè)計
此計數(shù)器的特殊之處在于有一個時鐘使能輸入端EA,用于鎖定計數(shù)值。當(dāng)EA為高電平時允許計數(shù),低電平時禁止計數(shù)。十進制計數(shù)器的仿真波形如圖3所示。
2.3 32位鎖存器的設(shè)計
設(shè)置鎖存器的作用是使顯示的數(shù)據(jù)穩(wěn)定,不會由于周期性的清零信號而不斷閃爍。如果有32 bit BCD碼存在于此模塊的輸入口,在信號LOAD的上升沿后即被鎖存到寄存器內(nèi)部,并由鎖存器的輸出端輸出,然后由7段譯碼器譯成能在數(shù)碼管上顯示的對應(yīng)數(shù)值。
3 頂層電路的設(shè)計及仿真
使用MAX+PLUS II的文本輸入方式完成各模塊程序的輸入,將各程序進行編譯、仿真,然后生成各模塊的默認電路符號。建立系統(tǒng)頂層原理圖文件,調(diào)用各模塊電路符號,按圖1完成系統(tǒng)頂層原理圖設(shè)計,并對系統(tǒng)原理圖進行編譯、邏輯綜合及仿真。最后將設(shè)計結(jié)果下載到指定的CPLD芯片,連接硬件電路,最終完成整個系統(tǒng)的設(shè)計。8位十進制數(shù)字頻率計系統(tǒng)的仿真結(jié)果如圖4所示。
EDA技術(shù)徹底改變了數(shù)字系統(tǒng)的設(shè)計方法和實現(xiàn)手段,使電子系統(tǒng)的設(shè)計由硬件設(shè)計轉(zhuǎn)變?yōu)橐訴HDL語言為核心的編程設(shè)計,借助于國際標(biāo)準(zhǔn)的VHDL語言和強大的EDA工具,使電子系統(tǒng)的設(shè)計變得思路簡單,功能明了。使用CPLD可以反復(fù)進行硬件實驗,降低了硬件電路的復(fù)雜程度,且設(shè)計電路的保密性強。通過修改程序就可以非常方便地修改設(shè)計,提高了設(shè)計的靈活性,大大縮短了設(shè)計周期,提高了設(shè)計的效率。與以前的傳統(tǒng)設(shè)計相比,本文的設(shè)計具有硬件電路簡單、可靠性高、靈活性強等特點。
參考文獻
[1] Wang Liqin, Shen Lin. The application of EDA technology in education reform of system of hardware courses for electric information specialties[C]. Proceedings of 2010 International Conference on Future Information Technology and Management Engineering, 2010:268-271.
[2] 譚會生,張昌凡.EDA技術(shù)及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2004.
[3] 廖超平,鄧力,韋彬,等.EDA技術(shù)[M].北京:北京理工大學(xué)出版社,2009.
[4] Qi Haibing. Application of EDA technology on professional teaching for electronic information engineering[C]. 2010 International Conference on E-Health Networking, Digital Ecosystems and Technologies Proceedings,2010(2):203-206.
[5] SCHEFFER L, LAVAGNO L, MARTIN G. EDA for IC system design, verification, and testing[M]. U.S.A. Florida: CRC Press, 2006.
[6] 韓威.EDA技術(shù)中的可靠性設(shè)計方法與策略[J].計算機與數(shù)字工程,2000,28(5):6-10,20.
[7] 劉愛榮,王振成,曹瑞,等.EDA技術(shù)與CPLD/FPGA開發(fā)應(yīng)用簡明教程[M].北京:清華大學(xué)出版社,2007.
[8] 駱珊,黃明達.VHDL電路結(jié)構(gòu)優(yōu)化設(shè)計探討[J].計算機應(yīng)用,2001,27(4):14-15,26.