二十世紀(jì)后半期,隨著集成電路和計(jì)算機(jī)技術(shù)的飛速發(fā)展,數(shù)字系統(tǒng)也得到了飛速發(fā)展,其實(shí)現(xiàn)方法經(jīng)歷了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI的過程。同時(shí),為了提高系統(tǒng)的可靠性與通用性,微處理器和專用集成電路(ASIC)逐漸取代了通用全硬件LSI電路,而在這二者中,ASIC以其體積小、重量輕、功耗低、速度快、成本低、保密性好而脫穎而出。總的來(lái)說(shuō),ASIC的制作可粗略地分為掩膜方法和現(xiàn)場(chǎng)可編程方法兩大類。目前,業(yè)界大量可編程邏輯器件(PLD),尤其是現(xiàn)場(chǎng)可編程邏輯器件(FPLD)被大量地應(yīng)用在ASIC的制作當(dāng)中。在可編程集成電路的開發(fā)過程中,電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)應(yīng)運(yùn)而生。EDA技術(shù)的出現(xiàn),不僅為電子系統(tǒng)設(shè)計(jì)帶來(lái)了一場(chǎng)革命性的變化,從某種角度來(lái)說(shuō),也成為其發(fā)展的必然。
1 EDA技術(shù)的基本特征及發(fā)展
1.1 EDA技術(shù)的基本概念
EDA(Electronics Design Automation)即電子設(shè)計(jì)自動(dòng)化技術(shù),是一種以計(jì)算機(jī)為基本工作平臺(tái),利用計(jì)算機(jī)圖形學(xué)、拓?fù)溥壿媽W(xué)、計(jì)算數(shù)學(xué)以至人工智能學(xué)等多種計(jì)算機(jī)應(yīng)用學(xué)科的最新成果而開發(fā)出來(lái)的一整套軟件工具,是一種幫助電子設(shè)計(jì)工程師從事電子元件產(chǎn)品和系統(tǒng)設(shè)計(jì)的綜合技術(shù)。
1.2 EDA技術(shù)的發(fā)展歷程及發(fā)展趨勢(shì)
EDA技術(shù)的發(fā)展經(jīng)歷了一個(gè)由淺到深的過程。二十世紀(jì)70年代,隨著中小規(guī)模集成電路的開發(fā)應(yīng)用,傳統(tǒng)的手工制圖設(shè)計(jì)印刷電路板和集成電路的方法已無(wú)法滿足設(shè)計(jì)精度和效率的要求,因此工程師們開始進(jìn)行二維平面圖形的計(jì)算機(jī)輔助設(shè)計(jì),以便解脫繁雜、機(jī)械的版圖設(shè)計(jì)工作,這就產(chǎn)生了第一代EDA工具。
到了80年代,為了適應(yīng)電子產(chǎn)品在規(guī)模和制作上的需要,應(yīng)運(yùn)出現(xiàn)了以計(jì)算機(jī)仿真和自動(dòng)布線為核心技術(shù)的第二代EDA技術(shù)。其特點(diǎn)是以軟件工具為核心,通過這些軟件完成產(chǎn)品開發(fā)的設(shè)計(jì)、分析、生產(chǎn)、測(cè)試等各項(xiàng)工作。
90年代后,EDA技術(shù)繼續(xù)發(fā)展,出現(xiàn)了以高級(jí)語(yǔ)言描述、系統(tǒng)級(jí)仿真和綜合技術(shù)為特征的第三代EDA技術(shù)。它們的出現(xiàn),極大地提高了系統(tǒng)設(shè)計(jì)的效率,使廣大的電子設(shè)計(jì)師開始實(shí)現(xiàn)“概念驅(qū)動(dòng)工程”的夢(mèng)想。設(shè)計(jì)師們擺脫了大量的輔助設(shè)計(jì)工作,而把精力集中于創(chuàng)造性的方案與概念構(gòu)思上,從而極大地提高了設(shè)計(jì)效率,縮短了產(chǎn)品的研制周期。
由此可見,EDA技術(shù)可以看作是電子CAD的高級(jí)階段。EDA工具的出現(xiàn),給電子系統(tǒng)設(shè)計(jì)帶來(lái)了革命性的變化。隨著Intel公司Pentium處理器的推出,Xilinx等公司幾十萬(wàn)門規(guī)模的FPGA的上市,以及大規(guī)模的芯片組和高速、高密度印刷電路板的應(yīng)用,EDA技術(shù)在仿真、時(shí)序分析、集成電路自動(dòng)測(cè)試、高速印刷電路板設(shè)計(jì)及操作平臺(tái)的擴(kuò)展等方面都面臨著新的巨大的挑戰(zhàn)。這些問題實(shí)際上也是新一代EDA技術(shù)未來(lái)發(fā)展的趨勢(shì)。
1.3 EDA技術(shù)的基本特征和基本工具
總的來(lái)說(shuō),現(xiàn)代EDA技術(shù)的基本特征是采用高級(jí)語(yǔ)言描述,具有系統(tǒng)級(jí)仿真和綜合能力。它主要采用并行工程和“自頂向下”的設(shè)計(jì)方法,使開發(fā)者從一開始就要考慮到產(chǎn)品生成周期的諸多方面,包括質(zhì)量、成本、開發(fā)時(shí)間及用戶的需求等等。然后從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)設(shè)計(jì),在方框圖一級(jí)進(jìn)行仿真、糾錯(cuò),并用VHDL、Verilog-HDL、ABEL等硬件描述語(yǔ)言對(duì)高層次的系統(tǒng)行為進(jìn)行描述,在系統(tǒng)一級(jí)進(jìn)行驗(yàn)證,最后再用邏輯綜合優(yōu)化工具生成具體的門級(jí)邏輯電路的網(wǎng)表,其對(duì)應(yīng)的物理實(shí)現(xiàn)級(jí)可以是印刷電路板或?qū)S眉呻娐贰=鼛啄陙?lái),硬件描述語(yǔ)言等設(shè)計(jì)數(shù)據(jù)格式的逐步標(biāo)準(zhǔn)化、不同設(shè)計(jì)風(fēng)格和應(yīng)用的要求導(dǎo)致各具特色的EDA工具被集成在同一個(gè)工作站上,從而使EDA框架日趨標(biāo)準(zhǔn)化。
EDA工具的發(fā)展經(jīng)歷了兩個(gè)大的階段:物理工具和邏輯工具?,F(xiàn)在EDA和系統(tǒng)設(shè)計(jì)工具正逐漸被理解成一個(gè)整體的概念:電子系統(tǒng)設(shè)計(jì)自動(dòng)化。物理工具用來(lái)完成設(shè)計(jì)中的實(shí)際物理問題,如芯片布局、印刷電路板布線等等;邏輯工具是基于網(wǎng)表、布爾邏輯、傳輸時(shí)序等概念,首先由原理圖編輯器或硬件描述語(yǔ)言進(jìn)行設(shè)計(jì)輸入,然后利用EDA系統(tǒng)完成綜合、仿真、優(yōu)化等過程,最后生成物理工具可以接受的網(wǎng)表或VHDL、Verilog-HDL的結(jié)構(gòu)化描述。現(xiàn)在常見的EDA工具有編輯器、仿真器、檢查/分析工具、優(yōu)化/綜合工具等等。
目前,PLD已成為現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)的主要手段。傳統(tǒng)的編程技術(shù)是將PLD器件插在編程器上進(jìn)行編程,而“在系統(tǒng)可編程”(ISP,即In-System Programmable)邏輯器件的問世,將可編程器件的優(yōu)越性發(fā)揮到了極致。它允許用戶“在系統(tǒng)中”編輯和修改邏輯,給使用者提供了在不修改系統(tǒng)硬件設(shè)計(jì)的條件下重構(gòu)系統(tǒng)的能力和硬件升級(jí)能力,使硬件修改變得象軟件修改一樣方便,系統(tǒng)的可靠性因此而提高。ISP技術(shù)即直接在用戶設(shè)計(jì)的目標(biāo)系統(tǒng)中或線路板上對(duì)PLD器件進(jìn)行編程的技術(shù),打破了使用PLD必先編程后裝配的慣例,而可以先裝配后編程,成為產(chǎn)品后還可反復(fù)編程,從而開創(chuàng)了數(shù)字電子系統(tǒng)設(shè)計(jì)技術(shù)新的一頁(yè)。
下面,筆者即以基于Xilinx的CPLD器件XC95108-7PC84C和Foundation 2.1軟件平臺(tái)的一個(gè)簡(jiǎn)單的四位扭環(huán)形計(jì)數(shù)器(即四位循環(huán)彩燈)的設(shè)計(jì)為例,談?wù)凟DA技術(shù)在ISP數(shù)字邏輯系統(tǒng)中的具體應(yīng)用。
2 EDA技術(shù)在一個(gè)簡(jiǎn)單的數(shù)字系統(tǒng)設(shè)計(jì)中的具體應(yīng)用
2.1 設(shè)計(jì)要求
本系統(tǒng)要求設(shè)計(jì)一個(gè)四位扭環(huán)形計(jì)數(shù)器,時(shí)鐘上升沿觸發(fā),可進(jìn)行復(fù)位(即清零)和時(shí)鐘使能控制,其結(jié)果要求通過四個(gè)一字排列的發(fā)光二極管顯示出來(lái)(構(gòu)成一種簡(jiǎn)單的循環(huán)彩燈圖案),同時(shí)其輸出讀數(shù)(十六進(jìn)制)亦要求通過數(shù)碼管進(jìn)行顯示。
2.2 設(shè)計(jì)分析
根據(jù)設(shè)計(jì)要求,本系統(tǒng)可以通過四個(gè)帶時(shí)鐘使能和異步清零端的上升沿觸發(fā)的D觸發(fā)器來(lái)完成計(jì)數(shù)部分,且時(shí)鐘同步,若四位輸出的初始值為“0000”,則經(jīng)過8個(gè)時(shí)鐘脈沖激勵(lì)的輸出依次為:“0001”(1)、“0011”(3)、“0111”(7)、“1111”(F)、“1110”(E)、“1100”(C)、“1000”(8)、“0000”(0)。這些時(shí)刻的輸出,一方面將送至發(fā)光二極管進(jìn)行顯示;另一方面將送至數(shù)碼管的七個(gè)管腿,并通過七段共陰BCD碼顯示譯碼器顯示該讀數(shù)。總的邏輯框圖如圖1所示。
2.3 具體實(shí)現(xiàn)
經(jīng)過總體分析即“頂層”設(shè)計(jì)之后,就可以利用EDA工具和ISP技術(shù)“向下”進(jìn)行具體的模塊設(shè)計(jì)了。
2.3.1 邏輯輸入
2.3.1.1 計(jì)數(shù)器部分
EDA工具的重要特征之一是支持多種輸入方式,如原理圖輸入方式、狀態(tài)機(jī)輸入方式、HDL高級(jí)語(yǔ)言輸入方式等等。Foundation 2.1軟件平臺(tái)對(duì)以上三種輸入方式都能很好地支持。此部分的設(shè)計(jì)即以原理圖輸入方式為例來(lái)實(shí)現(xiàn)。四位扭環(huán)形計(jì)數(shù)器原理圖如圖2所示。
2.3.1.2 數(shù)碼管顯示部分
實(shí)質(zhì)上是設(shè)計(jì)一個(gè)4~7線的BCD碼顯示譯碼器。此部分?jǐn)M用IEEE通用硬件描述語(yǔ)言VHDL來(lái)設(shè)計(jì),完成編譯和綜合后即生成相應(yīng)的宏模塊,設(shè)計(jì)代碼如下:
library IEEE;
use IEEE.std_logic_1164.all;
entity HEX2LED is
port (
HEX: in STD_LOGIC_VECTOR (3 downto 0);
LED: out STD_LOGIC_VECTOR (6 downto 0)
);
end HEX2LED;
architecture HEX2LED_arch of HEX2LED is
begin
with HEX SELect
LED<=“1111001” when “0001”, --1
“0100100” when “0010”, --2
“0110000” when “0011”,--3
“0011001” when “0100”,--4
“0010010” when “0101”,--5
“0000010” when “0110”,--6
“1111000” when “0111”,--7
“0000000” when “1000”,--8
“0010000” when “1001”,--9
“0001000” when “1010”,--A
“0000011” when “1011”,--b
“1000110” when “1100”,--C
“0100001” when “1101”,--d
“0000110” when “1110”,--E
“0001110” when “1111”,--F
“1000000” when others;--0
end HEX2LED_arch;
2.3.1.3發(fā)光二極管顯示部分
發(fā)光管的顯示只需將Q0~Q3的輸出引線直接與四個(gè)并行排列的發(fā)光二極管管腳一一相連即可。
至此,各部分設(shè)計(jì)工作基本完成,我們只需將各個(gè)部分按連線規(guī)則嚴(yán)格進(jìn)行連接,定義好相應(yīng)的I/O管腳和信號(hào)線后,即可進(jìn)行邏輯實(shí)現(xiàn)與綜合了。
2.3.2 邏輯實(shí)現(xiàn)與綜合
EDA提供了良好的邏輯綜合與優(yōu)化功能,它能夠?qū)⒃O(shè)計(jì)人員設(shè)計(jì)的邏輯級(jí)電路圖自動(dòng)地轉(zhuǎn)換為門級(jí)電路,并生成相應(yīng)的網(wǎng)表文件、時(shí)序分析文件和各種報(bào)表,若設(shè)計(jì)沒有錯(cuò)誤,最終可生成可以編程下載的JED文件。
2.3.3 系統(tǒng)仿真
通常,在正式下載前,設(shè)計(jì)人員還要對(duì)設(shè)計(jì)的電路進(jìn)行一些校驗(yàn)工作,這些工作即可通過EDA的功能仿真和時(shí)序仿真工具來(lái)完成。本系統(tǒng)在設(shè)定了CLK、CE和CLR信號(hào)的情況下,輸出QO~Q3的功能仿真圖和時(shí)序仿真圖分別如圖3和圖4所示。由圖4可以看出,此設(shè)計(jì)的各信號(hào)的延遲在2ns左右,基本符合設(shè)計(jì)指標(biāo)要求。
2.3.4 編程下載
當(dāng)設(shè)計(jì)人員確定設(shè)計(jì)工作已基本成功時(shí),即可通過編程電纜下載數(shù)據(jù)流來(lái)進(jìn)行硬件驗(yàn)證。驗(yàn)證合格后,總體設(shè)計(jì)工作即圓滿完成。
通過此例的設(shè)計(jì)流程講述可知,EDA技術(shù)及其工具在數(shù)字電路系統(tǒng)(包括模擬電路系統(tǒng))中正發(fā)揮著越來(lái)越重要的作用,其應(yīng)用的深度和廣度正在向更深層次延伸。
目前,現(xiàn)代集成電路技術(shù)的發(fā)展使以現(xiàn)場(chǎng)可編程門陣列為代表的大容量可編程邏輯器件的等效門數(shù)迅速提高,其規(guī)模直逼標(biāo)準(zhǔn)門陣列,達(dá)到了系統(tǒng)集成的水平。特別是進(jìn)入二十世紀(jì)90年代后,隨著CPLD、FPGA等現(xiàn)場(chǎng)可編程邏輯器件的逐漸興起,VHDL、Verilog等通用性好、移植性強(qiáng)的硬件描述語(yǔ)言的普及,ASIC技術(shù)的不斷完善,EDA技術(shù)在現(xiàn)代數(shù)字系統(tǒng)和微電子技術(shù)應(yīng)用中起著越來(lái)越重要的作用。從通常意義上來(lái)說(shuō),現(xiàn)代電子系統(tǒng)的設(shè)計(jì)已經(jīng)再也離不開EDA技術(shù)的幫助了。
評(píng)論
查看更多