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