當前位置:法律諮詢服務網 - 知識產權保護 - 用於項目開發的可編程芯片。

用於項目開發的可編程芯片。

第1章 概 述

21世紀人類將全面進入信息化社會,對微電子信息技術和微電子VLSI基礎技術將不斷提出更高的發展要求,微電子技術仍將繼續是21世紀若幹年代中最為重要的和最有活力的高科技領域之壹。而集成電路(IC)技術在微電子領域占有重要的地位。伴隨著IC技術的發展,電子設計自動化(Electronic Design Automation EDA)己經逐漸成為重要設計手段,其廣泛應用於模擬與數字電路系統等許多領域。

VHDL是廣泛使用的設計輸人硬件語言,可用於數字電路與系統的描述、模擬和自動設計.CPLD/FPGA(復雜可編程邏輯器件/現場可編程門陣列)為數字系統的設計帶靈活性,兼有串!並行工作方式和高集成度!高速!高可靠性等明顯的特點,CPLD/FPGA的時鐘延遲可達納秒級,結合其並行工作方式,在超高速領域和實時測控方面有非常廣泛的應用。

本次設計的目的是使用可編程邏輯器件設計壹個專用的A/D轉換器的控制器,取代常用的微控制器,用於數據采集。本文講述對A/D進行數據采樣控制。設計要求用壹片CPLD/FPGA,模數轉換控制器ADC和LED顯示器構成壹個數據采集系統,用CPLD/FPGA實現數據采集中對A/D 轉換,數據運算,及有關數據的顯示控制。課題除了學習相應的硬件知識外,還要學習如何使用VHDL語言設計可編程邏輯器件。

未來的EDA技術向廣度和深度兩個方向發展.

(1)在廣度上,EDA技術會日益普及.在過去,由於EDA軟件價格昂貴,對硬件環境要求高,其運行環境是工作站和UNIX操作系統.最近幾年,EDA軟件平臺化進展迅速,這些PC平臺上的EDA軟件具有整套的邏輯設計、仿真和綜合工具.隨著PC機性能的提高,PC平臺上的軟件功能將會更加完善.

(2)在深度上,EDA技術發展的下壹步是ESDA伍electronic System Design Automation電子系統設計自動化)和CE (Concurrent Engineering並行設計工程).目前的各種EDA工具,如系統仿真,PCB布線、邏輯綜合、DSP設計工具是彼此獨立的.隨著技術的發展,要求所有的系統工具在統壹的數據庫及管理框架下工作,由此提出了ESDA和CE概念。

第2章 EDA的發展歷程及其應用

2.1電子設計自動化(EDA)發展概述

2.1.1什麽是電子設計自動化(EDA )

在電子設計技術領域,可編程邏輯器件(如PLD, GAL)的應用,已有了很好的普及。這些器件為數字系統的設計帶來極大的靈活性。由於這類器件可以通過軟件編程而對其硬件的結構和工作方式進行重構,使得硬件的設計可以如同軟件設計那樣方便快捷。這壹切極大地改變了傳統的數字系統設計方法、設計過程、乃至設計觀念。

電子設計自動化(EDA)是壹種實現電子系統或電子產品自動化設計的技術,它與電子技術、微電子技術的發展密切相關,吸收了計算機科學領域的大多數最新研究成果,以高性能的計算機作為工作平臺,是20世紀90年代初從CAD(計算機輔助設計)、CAM(計算機輔助制造)、CAT(計算機輔助測試)和CAE(計算機輔助工程)的概念發展而來的。EDA技術就是以計算機為工具,在EDA軟件平臺上,根據硬件描述語言HDL完成的設計文件,自動地完成邏輯編譯、化簡、分割、綜合及優化、布局線、仿真,直至對於特定目標芯片的適配編譯、邏輯映射和編程下載等工作。設計者的工作僅限於利用軟件的方式來完成對系統硬件功能的描述,在EDA工具的幫助下和應用相應的FPGA/CPLD器件,就可以得到最後的設計結果。盡管目標系統是硬件,但整個設計和修改過程如同完成軟件設計壹樣方便和高效。當然,這裏的所謂EDA主要是指數字系統的自動化設計,因為這壹領域的軟硬件方面的技術已比較成熟,應用的普及程度也已比較大。而模擬電子系統的EDA正在進入實用,其初期的EDA工具不壹定需要硬件描述語言。此外,從應用的廣度和深度來說,由於電子信息領域的全面數字化,基於EDA的數字系統的設計技術具有更大的應用市場和更緊迫的需求性。

2.1.2 EDA的發展歷史

EDA技術的發展始於70年代,至今經歷了三個階段。電子線路的CAD(計算機輔助設計)是EDA發展的初級階段,是高級EDA系統的重要組成部分。它利用計算機的圖形編輯、分析和存儲等能力,協助工程師設計電子系統的電路圖、印制電路板和集成電路板圖;采用二維圖形編輯與分析,主要解決電子線路設計後期的大量重復性工作,可以減少設計人員的繁瑣重復勞動,但自動化程度低,需要人工幹預整個設計過程。這類專用軟件大多以微機為工作平臺,易於學用,設計中小規模電子系統可靠有效,現仍有很多這類專用軟件被廣泛應用於工程設計。80年代初期,EDA技術開始技術設計過程的分析,推出了以仿真(邏輯模擬、定時分析和故障仿真)和自動布局與布線為核心的EDA產品,這壹階段的EDA已把三維圖形技術、窗口技術、計算機操作系統、網絡數據交換、數據庫與進程管理等壹系列計算機學科的最新成果引入電子設計,形成了CAE—計算機輔助工程。也就是所謂的EDA技術中級階段。其主要特征是具備了自動布局布線和電路的計算機仿真、分析和驗證功能。其作用已不僅僅是輔助設計,而且可以代替人進行某種思維。CAE這種以原理圖為基礎的EDA系統,雖然直觀,且易於理解,但對復雜的電子設計很難達到要求,也不宜於設計的優化。

所以,90年代出現了以自動綜合器和硬件描述語言為基礎,全面支持電子設計自動化的ESDA(電子系統設計自動化),即EDA階段、也就是目前常說的EDA.過去傳統的電子系統電子產品的設計方法是采用自底而上(Bottom_ Up)的程式,設計者先對系統結構分塊,直接進行電路級的設計。這種設計方式使設計者不能預測下壹階段的問題,而且每壹階段是否存在問題,往往在系統整機調試時才確定,也很難通過局部電路的調整使整個系統達到既定的功能和指標,不能保證設計壹舉成功。EDA技術高級階段采用壹種新的設計概念:自頂而下(Top_ Down)的設計程式和並行工程(Concurrent engineering)的設計方法,設計者的精力主要集中在所要電子產品的準確定義上,EDA系統去完成電子產品的系統級至物理級的設計。此階段EDA技術的主要特征是支持高級語言對系統進行描述,高層次綜合(High Level Synthesis)理論得到了巨大的發展,可進行系統級的仿真和綜合。圖2-1給出了上述三個階段的示意圖。

圖2-1 EDA發展階段示意圖

2.1.3 EDA的應用

隨著大規模集成電路技術和計算機技術的不斷發展,在涉及通信、國防、航天、醫學、工業自動化、計算機應用、儀器儀表等領域的電子系統設計工作中,EDA技術的含量正以驚人的速度上升;電子類的高新技術項目的開發也依賴於EDA技術的應用。即使是普通的電子產品的開發,EDA技術常常使壹些原來的技術瓶頸得以輕松突破,從而使產品的開發周期大為縮短、性能價格比大幅提高。不言而喻,EDA技術將迅速成為電子設計領域中的極其重要的組成部分。

電子設計專家認為,單片機時代已經結束,未來將是EDA的時代,這是極具深刻洞察力之言。隨著微電子技術的飛速進步,電子學進入了壹個嶄新的時代。其特征是電子技術的應用以空前規模和速度滲透到各行各業。各行業對自己專用集成電路(ASIC)的設計要求日趨迫切,現場可編程器件的廣泛應用,為各行業的電子系統設計工程師自行開發本行業專用的ASIC提供了技術和物質條件。與單片機系統開發相比,利用EDA技術對FPGA/CPLD的開發,通常是壹種借助於軟件方式的純硬件開發,可以通過這種途徑進行專用ASIC開發,而最終的ASIC芯片,可以是FPGA/CPLD,也可以是專制的門陣列掩模芯片,FPGA/ CPLD起到了硬件仿真ASIC芯片的作用。

2.2基於EDA的FPGA/ CPLD開發

我國的電子設計技術發展到今天,將面臨壹次更大意義的突破,即FPGA/CPLD (Field Programmable Gate Array,現場可編程門陣列/Complex Programmable Logic Device,復雜可編程邏輯器件)在EDA基礎上的廣泛應用。從某種意義上說,新的電子系統運轉的物理機制又將回到原來的純數字電路結構,但卻是壹種更高層次的循環,它在更高層次上容納了過去數字技術的優秀部分,對(Micro Chip Unit) MCU系統是壹種揚棄,在電子設計的技術操作和系統構成的整體上發生了質的飛躍。如果說MCU在邏輯的實現上是無限的話,那麽FPGA/CPLD不但包括了MCU這壹特點,而且可以觸及矽片電路的物理極限,並兼有串、並行工作方式,高速、高可靠性以及寬口徑適用性等諸多方面的特點。不但如此,隨著EDA技術的發展和FPGA/CPLD在深亞微米領域的進軍,它們與MCU, MPU, DSP, A/D, D/A, RAM和ROM等獨立器件間的物理與功能界限已日趨模糊。特別是軟/硬IP芯片(知識產權芯片;intelligence Property Core,壹種已註冊產權的電路設計)產業的迅猛發展,嵌入式通用及標準FPGA器件的呼之欲出,片上系統(SOC)已經近在咫尺。FPGA/CPLD以其不可替代的地位及伴隨而來的極具知識經濟特征的IP芯片產業的崛起,正越來越受到業內人士的密切關註。

2.2.1 FPGA/CPLD簡介

FPGA和CPLD都是高密度現場可編程邏輯芯片,都能夠將大量的邏輯功能集成於壹個單片集成電路中,其集成度已發展到現在的幾百萬門。復雜可編程邏輯器件CPLD是由PAL (Programmable Array Logic,可編程陣列邏輯)或GAL (Generic Array Logic,通用陣列邏輯)發展而來的。它采用全局金屬互連導線,因而具有較大的延時可預測性,易於控制時序邏輯;但功耗比較大。現場可編程門陣列(FPGA)是由可編程門陣列(MPGA)和可編程邏輯器件二者演變而來的,並將它們的特性結合在壹起,因此FPGA既有門陣列的高邏輯密度和通用性,又有可編程邏輯器件的用戶可編程特性。FPGA通常由布線資源分隔的可編程邏輯單元(或宏單元)構成陣列,又由可編程Ir0單元圍繞陣列構成整個芯片。其內部資源是分段互聯的,因而延時不可預測,只有編程完畢後才能實際測量。

CPLD和FPGA建立內部可編程邏輯連接關系的編程技術有三種:基於反熔絲技術的器件只允許對器件編程壹次,編程後不能修改。其優點是集成度、工作頻率和可靠性都很高,適用於電磁輻射幹擾較強的惡劣環境。基於EEPROM存儲器技術的可編程邏輯芯片能夠重復編程100次以上,系統掉電後編程信息也不會丟失。編程方法分為在編程器上編程和用下載電纜編程。用下載電纜編程的器件,只要先將器件裝焊在印刷電路板上,通過PC, SUN工作站、ATE(自動測試儀)或嵌入式微處理器系統,就能產生編程所用的標準5V, 3.3V或2.5V邏輯電平信號,也稱為ISP (In System Programmable)方式編程,其調試和維修也很方便。基於SRAM技術的器件編程數據存儲於器件的RAM區中,使之具有用戶設計的功能。在系統不加電時,編程數據存儲在EPROM、硬盤、或軟盤中。系統加電時將這些編程數據即時寫入可編程器件,從而實現板級或系統級的動態配置。

2.2.2基於EDA工具的FPGA/CPLD開發流程

FPGA/CPLD的開發流程:設計開始首先利用EDA工具的文本或圖形編輯器將設計者的設計意圖用文本方式(如VHDL, Verilog-HDL程序)或圖形方式(原理圖、狀態圖等)表達出來。完成設計描述後即可通過編譯器進行排錯編譯,變成特定的文本格式,為下壹步的綜合準備。在此,對於多數EDA軟件來說,最初的設計究竟采用哪壹種輸入形式是可選的,也可混合使用。壹般原理圖輸入方式比較容易掌握,直觀方便,所畫的電路原理圖(請註意,這種原理圖與利用PROTEL畫的原理圖有本質的區別)與傳統的器件連接方式完全壹樣,很容易為人接受,而且編輯器中有許多現成的單元器件可資利用,自己也可以根據需要設計元件(元件的功能可用HDL表達,也可仍用原理圖表達)。當然最壹般化、最普適性的輸入方法是HDL程序的文本方式。這種方式最為通用。如果編譯後形成的文件是標準VHDL文件,在綜合前即可以對所描述的內容進行仿真,稱為行為仿真。即將設計源程序直接送到VHDL仿真器中仿真。因為此時的仿真只是根據VHDL的語義進行的,與具體電路沒有關系。在仿真中,可以充分發揮VHDL中的適用於仿真控制的語句,對於大型電路系統的設計,這壹仿真過程是十分必要的,但壹般情況下,可以略去這壹步驟.

圖2-2 FPGA / CPLD開發流程

設計的第三步是綜合,將軟件設計與硬件的可實現性掛鉤,這是將軟件轉化為硬件電路的關鍵步驟。綜合器對源文件的綜合是針對某壹FPGA/CPLD供應商的產品系列的,因此,綜合後的結果具有硬件可實現性。在綜合後,HDL綜合器壹般可生成EDIF, XNF或VHDL等格式的網表文件,從門級來描述了最基本的門電路結構。有的EDA軟件,具有為設計者將網表文件畫成不同層次的電路圖的功能。綜合後,可利用產生的網表文件進行功能仿真,以便了解設計描述與設計意圖的壹致性。功能仿真僅對設計描述的邏輯功能進行測試模擬,以了解其實現的功能是否滿足原設計的要求,仿真過程不涉及具體器件的硬件特性,如延遲特性。壹般的設計,這壹層次的仿真也可略去。綜合通過後必須利用FPGA/CPLD布局/布線適配器將綜合後的網表式文件針對某壹具體的目標器件進行邏輯映射操作,其中包括底層器件配置、邏輯分割、邏輯優化、布局布線。適配完成後,EDA軟件將產生針對此項設計的多項結果:1適配報告:內容包括芯片內資源分配與利用、引腳鎖定、設計的布爾方程描述情況等;2時序仿真用網表文件;3下載文件,如JED或POF文件;4適配錯誤報告等。時序仿真是接近真實器件運行的仿真,仿真過程中己將器件硬件特性考慮進去了,因此仿真精度要高得多。時序仿真的網表式文件中包含了較為精確的延遲信息。如果以上的所有過程,包括編譯、綜合、布線/適配和行為仿真、功能仿真、時序仿真都沒有發現問題,即滿足原設計的要求,就可以將適配器產生的配置/下載文件通過FPGA/CPLD編程器或下載電纜載入目標芯片FPGA或CPLD中,然後進入如圖1-2所示的最後壹個步驟:硬件仿真或測試,以便在更真實的環境中檢驗設計的運行情況。這裏所謂的硬件仿真,是針對ASIC設計而言的。在ASIC設計中,比較常用的方法是利用FPGA對系統的設計進行功能檢測,通過後再將其VHDL設計以ASIC形式實現;而硬件測試則是針對FPGA或CPLD直接用於電路系統的檢測而言的。

2.2.3用FPGA/CPLD進行開發的優缺點

我們認為,基於EDA技術的FPGA/CPLD器件的開發應用可以從根本上解決MCU所遇到的問題。與MCU相比,FPGA/CPLD的優勢是多方面的和根本性的:

1.編程方式簡便、先進。FPGA/CPLD產品越來越多地采用了先進的IEEE 1149.1邊界掃描測試(BST)技術(由聯合測試行動小組,JTAG開發)和ISP(在系統配置編程方式)。在+5V工作電平下可隨時對正在工作的系統上的FPGA/CPLD進行全部或部分地在系統編程,並可進行所謂菊花鏈式多芯片串行編程,對於SRAM結構的FPGA,其下載編程次數幾乎沒有限制(如Altera公司的FLEXI 10K系列)。這種編程方式可輕易地實現紅外編程、超聲編程或無線編程,或通過電話線遠程在線編程。這些功能在工控、智能儀器儀表、通訊和軍事上有特殊用途。

2.高速。FPGA/CPLD的時鐘延遲可達納秒級,結合其並行工作方式,在超高速應用領域和實時測控方面有非常廣闊的應用前景。

3.高可靠性。在高可靠應用領域,MCU的缺憾為FPGA/CPLD的應用留下了很大的用武之地。除了不存在MCU所特有的復位不可靠與PC可能跑飛等固有缺陷外,FPGA/CPLD的高可靠性還表現在幾乎可將整個系統下載於同壹芯片中,從而大大縮小了體積,易於管理和屏蔽。

4.開發工具和設計語言標準化,開發周期短。由於FPGA/CPLD的集成規模非常大,集成度可達數百萬門。因此,FPGA/ CPLD的設計開發必須利用功能強大的EDA工具,通過符合國際標準的硬件描述語言(如VHDL或Verilog-HDL)來進行電子系統設計和產品開發。由於開發工具的通用性、設計語言的標準化以及設計過程幾乎與所用的FPGA/ CPLD器件的硬件結構沒有關系.

所以設計成功的各類邏輯功能塊軟件有很好的兼容性和可移植性,它幾乎可用於任何型號的FPGA/ CPLD中,由此還可以知識產權的方式得到確認,並被註冊成為所謂的IP芯片,從而使得片上系統的產品設計效率大幅度提高。由於相應的EDA軟件功能完善而強大,仿真方式便捷而實時,開發過程形象而直觀,兼之硬件因素涉及甚少,因此可以在很短時間內完成十分復雜的系統設計,這正是產品快速進入市場的最寶貴的特征。美國TI公司認為,壹個ASIC 80%的功能可用IP芯片等現成邏輯合成。EDA專家預言,未來的大系統的FPGA/CPLD設計僅僅是各類再應用邏輯與IP芯片的拼裝,其設計周期最少僅數分鐘。

5.功能強大,應用廣闊。目前,FPGA/ CPLD可供選擇範圍很大,可根據不同的應用選用不同容量的芯片。利用它們可實現幾乎任何形式的數字電路或數字系統的設計。隨著這類器件的廣泛應用和成本的大幅度下降,FPGA/CPLD在系統中的直接應用率正直逼ASIC的開發。同時,FPGA/CPLD設計方法也有其局限性。這主要體現在以下幾點:

(1).FPGA/CPLD設計軟件壹般需要對電路進行邏輯綜合優化((Logic段Synthesis & Optimization),以得到易於實現的結果,因此,最終設計和原始設計之間在邏輯實現和時延方面具有壹定的差異。從而使傳統設計方法中經常采用的壹些電路形式(特別是壹些異步時序電路)在FPGA/CPLD設計方法中並不適用。這就要求設計人員更加了解FPGA/CPLD設計軟件的特點,才能得到優化的設計;

(2).FPGA壹般采用查找表(LUT)結構(Xilinx), AND-OR結構(Altera)或多路選擇器結構(Actel),這些結構的優點是可編程性,缺點是時延過大,造成原始設計中同步信號之間發生時序偏移。同時,如果電路較大,需要經過劃分才能實現,由於引出端的延遲時間,更加大了延遲時間和時序偏移。時延問題是ASIC設計當中常見的問題。要精確地控制電路的時延是非常困難的,特別是在像FPGA/CPLD這樣的可編程邏輯當中。

(3). FPGA/CPLD的容量和I/O數目都是有限的,因此,壹個較大的電路,需經邏輯劃分((Logic Partition)才能用多個FPGA/CPLD芯片實現,劃分算法的優劣直接影響設計的性能;

(4).由於目標系統的PCB板的修改代價很高,用戶壹般希望能夠在固定的引 分配的前提下對電路進行修改。但在芯片利用率提高,或者芯片I/O引出端很多的情況下,微小的修改往往會降低芯片的流通率;

(5).早期的FPGA芯片不能實現存儲器、模擬電路等壹些特殊形式的電路。最新的壹些FPGA產品集成了通用的RAM結構。但這種結構要麽利用率不高,要麽不完全符合設計者的需要。這種矛盾來自於FPGA本身的結構局限性,短期內很難得到很好的解決。

6.盡管FPGA實現了ASIC設計的硬件仿真,但是由於FPGA和門陣列、標準單元等傳統ASIC形式的延時特性不盡相同,在將FPGA設計轉向其他ASIC設計時,仍然存在由於延時不匹配造成設計失敗的可能性。針對這個問題,國際上出現了用FPGA陣列對ASIC進行硬件仿真的系統(如Quicktum公司的硬件仿真系統)。這種專用的硬件仿真系統利用軟硬件結合的方法,用FPGA陣列實現了ASIC快速原型,接入系統進行測試。該系統可以接受指定的測試點,在FPGA陣列中可以直接觀測(就像軟件模擬中壹樣),所以大大提高了仿真的準確性和效率。

2.3硬件描述語言(HDL)

硬件描述語言(HDL)是相對於壹般的計算機軟件語言如C, Pascal而言的。HDL是用於設計硬件電子系統的計算機語言,它描述電子系統的邏輯功能、電路結構和連接方式。設計者可以利用HDL程序來描述所希望的電路系統,規定其結構特征和電路的行為方式;然後利用綜合器和適配器將此程序變成能控制FPGA和CPLD內部結構、並實現相應邏輯功能的門級或更底層的結構網表文件和下載文件。硬件描述語言具有以下幾個優點:a.設計技術齊全,方法靈活,支持廣泛。b.加快了硬件電路的設計周期,降低了硬件電路的設計難度。c.采用系統早期仿真,在系統設計早期就可發現並排除存在的問題。d.語言設計可與工藝技術無關。e.語言標準,規範,易與***享和復用。就FPGA/CPLD開發來說,VHDL語言是最常用和流行的硬件描述語言之壹。本次設計選用的就是VHDL語言,下面將主要對VHDL語言進行介紹。

2.3.1 VHDL語言簡介

VHDL是超高速集成電路硬件描述語言的英文字頭縮寫簡稱,其英文全名 是Very-High -Speed Integrated Circuit Hardware Description Language。它是在70- 80年代中由美國國防部資助的VHSIC(超高速集成電路)項目開發的產品,誕生於1982年。1987年底,VHDL被IEEE(The Institute of Electrical and產Electronics Engineers)確認為標準硬件描述語言。自IEEE公布了VHDL的標準版本((IEEE std 1076-1987標準)之後,各EDA公司相繼推出了自己的VHDL設計環境。此後,VHDL在電子設計領域受到了廣泛的接受,並逐步取代了原有的非標準HDL。1993年,IEEE對VHDL進行了修訂,從更高的抽象層次和系統描述能力上擴展VHDL的內容,公布了新版本的VHDL,即ANSI/IEEE std1076,1993版本。1996年IEEE 1076.3成為VHDL綜合標準。

VHDL主要用於描述數字系統的結構、行為、功能和接口,非常適用於可編程邏輯芯片的應用設計。與其它的HDL相比,VHDL具有更強的行為描述能力,從而決定了它成為系統設計領域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結構,從邏輯行為上描述和設計大規模電子系統的重要保證。就目前流行的EDA工具和VHDL綜合器而言,將基於抽象的行為描述風格的VHDL程序綜合成為具體的FPGA和CPLD等目標器件的網表文件己不成問題。

VHDL語言在硬件設計領域的作用將與C和C++在軟件設計領域的作用壹樣,在大規模數字系統的設計中,它將逐步取代如邏輯狀態表和邏輯電路圖等級別較低的繁瑣的硬件描述方法,而成為主要的硬件描述工具,它將成為數字系統設計領域中所有技術人員必須掌握的壹種語言。VHDL和可編程邏輯器件的結合作為壹種強有力的設計方式,將為設計者的產品上市帶來創紀錄的速度

2.3.2 VHDL語言設計步驟

利用VHDL語言進行設計可分為以下幾個步驟:

1.設計要求的定義。在從事設計進行編寫VHDL代碼之前,必須先對妳的設計目的和要求有壹個明確的認識。例如,妳要設計的功能是什麽?對所需的信號建立時間、時鐘/輸出時間、最大系統工作頻率、關鍵的路徑等這些要求,要有壹個明確的定義,這將有助於妳的設計,然後再選擇適當的設計方式和相應的器件結構,進行設計的綜合。

2.用VHDL語言進行設計描述。

(1)應決定設計方式,設計方式壹般說來有三種:自頂向下設計,自底向上設計,平坦式設計。

前兩種方式包括設計階層的生成,而後壹種方式將描述的電路當作單模塊電路來進行的。自頂向下的處理方式要求將妳的設計劃分成不同的功能元件,每個元件具有專門定義的輸入和輸出,並執行專門的邏輯功能。首先生成壹個由各功能元件相互連接形成的頂層模塊來做成壹個網表,然後再設計其中的各個元件。而自底向上的處理方法正好相反。平坦式設計則是指所有功能元件均在同壹層和同壹圖中詳細進行的。

(2)編寫設計代碼。編寫VHDL語言的代碼與編寫其它計算機程序語言的代碼有很大的不同,妳必須清醒地認識到妳正在設計硬件,編寫的VHDL代碼必須能夠綜合到采用可編程邏輯器件來實現的數字邏輯之中。懂得EDA工具中仿真軟件和綜合軟件的大致工作過程,將有助於編寫出優秀的代碼。

3.用VHDL仿真器對VHDL原代碼進行功能仿真。對於大型設計,采用VHDL仿真軟件對其進行仿真可以節省時間,可以在設計的早期階段檢測到設計中的錯誤,從而進行修正,以便盡可能地減少對設計日程計劃的影響。因為對於大型設計,其綜合優化、配置往往要花費好幾個小時,在綜合之前對原代碼仿真,就可以大大減少設計重復和修正錯誤的次數和時間。但對於小型設計,則往往不需要先對VHDL原代碼進行仿真,即使做了,意義也不大。因為對於小型設計,其綜合優化、配置花費的時間不多,而且在綜合優化之後,妳往往會發現為了實現性能目標,將需要修改妳的設計。在這種情況下,用戶事先在原代碼仿真時所花費的時間是毫無意義的,因為壹旦改變設計,還必須重新再做仿真。

4.利用VHDL綜合優化軟件對VHDL原代碼進行綜合優化處理。選擇目標器件、輸入約束條件後,VHDL綜合優化軟件工具將對VHDL原代碼進行處理,產生壹個優化了的網絡表,並可以進行粗略的時序仿真。綜合優化軟件工具大致的處理過程如下:首先檢測語法和語意錯誤;然後進行綜合處理,對CPLD器件而言,將得到壹組工藝專用邏輯方程,對FPGA器件而言,將得到壹個工藝專用網表;最後進行優化處理,對CPLD的優化通常包括將邏輯化簡為乘積項的最小和式,降低任何給定的表達式所需的邏輯塊輸入數,這些方程進壹步通過器件專用優化來實現資源配置。對FPGA的優化通常也需要用乘積項的和式來表達邏輯,方程系統可基於器件專用資源和驅動優化目標指引來實現因式分解,分解的因子可用來對實現的有效性進行評估,其準則可用來決定是對方程序系統進行不同的因式分解還是保持現有的因子。準則通常是指分享***同因子的能力,即可以被暫存,以便於和任何新生成的因子相比較。

5.配置。將綜合優化處理後得到的優化了的網絡表,安放到前面選定的CPLD或FPGA目標器件之中,這壹過程稱為配置。在優化

  • 上一篇:學程旅遊網的學程歷史大事記
  • 下一篇:高新技術企業稅收優惠政策
  • copyright 2024法律諮詢服務網