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