Verilog HDL數字設計教程(賀敬凱)第1章_第1頁
Verilog HDL數字設計教程(賀敬凱)第1章_第2頁
Verilog HDL數字設計教程(賀敬凱)第1章_第3頁
Verilog HDL數字設計教程(賀敬凱)第1章_第4頁
Verilog HDL數字設計教程(賀敬凱)第1章_第5頁
已閱讀5頁,還剩67頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1.1電子系統設計技術的發展1.2數字系統典型設計流程1.3HDL的發展、特點與應用

1.4QuartusⅡ概述

1.5硬件描述語言的發展趨勢

1.6小結

習題11.1電子系統設計技術的發展

設計實現是指如何利用設計技術將所需的系統功能從概念轉變成現實。設計實現不僅要達到設計指標的最佳化,而且還要有較高的設計速度。傳統的電子系統設計采用的是手工設計方法。手工設計方法一般是根據系統的要求,首先畫出系統的硬件流程圖,再根據功能將系統劃分成不同的模塊。設計過程一般從底層開始,先要選擇具體的元器件,用所選擇的元器件組成各功能模塊的邏輯電路,手工畫出一張張的電路原理圖,再根據原理圖制作印刷電路板。每個功能模塊都調試通過后,再把各個模塊連接起來進行系統的調試。對整個系統的仿真、調試只能在完成硬件設計以后才能進行,因此系統設計中的問題在調試的后期才能發現。如果出現設計中沒有考慮到的問題,就要再從底層重新設計,所以設計周期一般較長。設計結果是若干張電路原理圖和信號的連接表,如果是一個大的系統,將是一大摞圖紙,以后系統若出現問題,查找、修改起來都很麻煩。上述過程是從底層開始,或在已有的功能模塊的基礎上來搭建高層次的模塊直至整個系統的。因此這種傳統的電子系統的設計過程是一種自底向上(Bottom-Up)的設計,設計過程必須從存在的基本單元模塊出發,基本單元模塊必須是已經設計成熟的標準單元模塊或其他項目已開發好的單元模塊。在現代數字系統設計中,現場可編程器件FPGA和CPLD的使用越來越廣泛。與此同時,基于大規模可編程邏輯器件的電子設計自動化(ElectronicDesignAutomation,EDA)硬件解決方案也被廣泛采用。這使得電子電路的設計方法發生了根本性的變化,即從手工設計向電子設計自動化的方向發展。最早的電子設計自動化軟件僅僅是一些繪圖軟件,包括繪制電路原理圖、印刷電路板圖、集成電路芯片板圖的軟件,并能進行一些簡單的數值計算等,隨后又出現了自動布局布線工具,這類軟件被稱為第一代EDA軟件。后來又出現了第二代EDA軟件,可以通過硬件描述語言輸入生成設計,它包括邏輯綜合、仿真等。近年來又出現了第三代EDA軟件,稱為電子系統設計自動化(EsDA),可以通過概念輸入(框圖、公式等)自動生成各種設計結果,包括ASIC芯片設計結果、電路原理圖、PCB板圖以及軟件等,并且可以進行機電一體化設計。與傳統的設計方法不同,現代電子工程師們設計系統的過程首先是描述系統,然后用EDA工具在計算機上進行系統級仿真,設計適合自己用的ASIC芯片,用通用和專用芯片構成系統,進行功能模擬和帶時延的仿真,布PCB板,對PCB板進行仿真,最終生產調試成功。這種電子系統的設計過程是一種自頂向下(Top-Down)的設計。當前,自頂向下的設計流程比較流行,其理想形式如圖1-1所示。系統設計者將系統細化為多個抽象級。在系統級,設計者以某種語言(如C語言)來描述所需系統,稱為系統規范;設計者把這個規范進一步細分,將其各部分分散到幾個通用或專用處理器,產生各處理器的行為規范;然后,設計者再把這些行為規范細分為寄存器傳輸規范(RT規范),即對于通用處理器而言,是將行為規范轉換為匯編軟件代碼,而對于單用途處理器而言,則轉換為連接寄存器元件與狀態機的硬件;下一步,對于軟件匯編代碼則不需要進一步細化,而對于硬件則需要進一步將寄存器傳輸規范轉變成由布爾公式組成的邏輯規范;最后,設計者將所得規范轉換成最終實現,包括通用處理器的機器代碼和單用途處理器的邏輯門級網表。圖1-1理想的自頂向下設計流程通過圖1-1我們可以看出,若想改進設計流程以提高設計效率,可以從編譯/綜合、庫/IP以及測試/驗證三個方面著手。當前EDA工具的發展方向也主要著眼于這三個方面。電子設計自動化(EDA)技術利用計算機完成電子系統設計,是一種節省時間而又高效率的現代設計理念,現在已經逐漸成為電子系統的主要設計手段。尤其是可編程器件和軟件仿真模擬方法的使用,給傳統的電路設計方法帶來了重大的變革,使得設計工程師們從繁雜而零亂的工作中解脫出來,而把重點放在電路的設計上。

EDA技術以計算機為工具,設計者只需要完成對系統功能的描述,就可以由計算機軟件完成數字系統的邏輯綜合、仿真模擬和布局布線等工作。其中模擬硬件電路在實際工作時的時序關系是相當重要的,因為系統設計上的錯誤通過仿真模擬波形就可以發現,而不必等到線路板調試時才發現。即使在線路板調試時又發現新錯誤,在外部連接線已經固定的情況下,只要對內部的軟件設計進行改進,就可達到修改設計方案的目的。當今的硬件設計方法有幾大優點:一是設計方法由手工設計變為自動設計,可以大大提高設計效率和設計質量,縮短設計周期;二是在系統設計的各個過程中可分別進行仿真,保證了設計的正確性,使得設計能夠一次成功;三是能夠根據實際需要來自行設計ASIC芯片。可編程邏輯器件和EDA技術給硬件系統設計者提供了強有力的工具。如今,只要擁有一臺計算機、一套相應的EDA軟件和空白的可編程器件芯片,在實驗室就可以完成數字系統的設計與生產。可以說,當今的數字系統設計離不開可編程器件和EDA設計工具。1.2數字系統典型設計流程

完整地了解利用EDA技術進行數字系統設計開發的流程對于正確地選擇和使用EDA軟件、優化設計項目、提高設計效率十分有益。一個完整的、典型的EDA設計流程既是自頂向下設計方法的具體實施途徑,也是EDA工具軟件本身的組成結構。數字系統典型的設計流程如圖1-2所示。圖1-2用EDA工具設計數字系統的流程一般來說,利用EDA技術進行數字系統設計,最后實現的目標主要有兩種:集成芯片IC和具有特定功能的FPGA。FPGA是英文FieldProgrammableGateArray(現場可編程門陣列)的縮寫,它是在PAL、GAL、PLD等可編程器件的基礎上進一步發展的產物,是專用集成電路(ASIC)中集成度最高的一種。FPGA采用了邏輯單元陣列(LogicCellArray,LCA)這樣一個新概念,內部包括可配置邏輯模塊(ConfigurableLogicBlock,CLB)、輸出輸入模塊(InputOutputBlock,IOB)和內部連線(Interconnect)三個部分。用戶可對FPGA內部的邏輯模塊和I/O模塊重新配置,以實現用戶的邏輯。它還具有靜態可重復編程和動態在系統重構的特性,使得硬件的功能可以像軟件一樣通過編程來修改。作為專用集成電路(ASIC)領域中的一種半定制電路,FPGA既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。FPGA能完成任何數字器件的功能,上至高性能CPU,下至簡單的74電路,都可以用FPGA來實現。FPGA如同一張白紙或是一堆積木,工程師可以通過傳統的原理圖輸入法或是硬件描述語言自行設計一個數字系統。通過軟件仿真,我們可以事先驗證設計的正確性。在PCB完成以后,還可以利用FPGA的在線修改能力,隨時修改設計而不必改動硬件電路。使用FPGA來開發數字電路,可以大大縮短設計時間,減少PCB面積,提高系統的可靠性。對同一片FPGA,不同的編程數據可以產生不同的電路功能。因此,FPGA的使用非常靈活。可以說,FPGA芯片是小批量應用中提高系統集成度和系統可靠性的最佳選擇之一。本書所有設計最終的實現目標主要定位于FPGA,因此下面重點介紹FPGA的開發流程。FPGA的EDA開發流程如圖1-3所示。圖1-3FPGA的EDA開發流程從圖1-3可以看出,FPGA的開發流程與圖1-2所示的用EDA工具設計數字系統的流程基本相同,都需要設計輸入、功能仿真、邏輯綜合、布局布線(適配)、時序仿真、物理實現等幾個步驟。下面將分別介紹主要設計模塊的功能特點。

1.設計輸入在EDA軟件平臺上開發FPGA/CPLD時,首先要將電路系統以一定的表達方式輸入計算機。通常,EDA工具的設計輸入可分為以下兩種類型:

(1)圖形輸入。圖形輸入通常包括原理圖輸入、狀態圖輸入和波形圖輸入等方法。狀態圖輸入方法就是根據電路的控制條件和不同的轉換方式,用繪圖的方法在EDA工具的狀態圖編輯器上繪出狀態圖,然后由EDA編譯器和綜合器將此狀態圖編譯、綜合成電路網表。波形圖輸入方法則是將待設計的電路看成是一個黑盒子,只需告訴EDA工具該黑盒子電路的輸入和輸出時序波形圖,EDA工具就可以完成黑盒子電路的設計。原理圖輸入方法是一種類似于傳統電子設計方法的原理圖編輯輸入方式,即在EDA軟件的圖形編輯界面上繪制能完成特定功能的電路原理圖。原理圖由邏輯器件(符號)和連接線構成,圖中的邏輯器件可以是EDA軟件庫中預制的功能模塊,如與門、非門、或門、觸發器、各種宏功能模塊,也可以是一些類似于IP的功能塊。

(2)硬件描述語言文本輸入。這種方式與傳統的計算機軟件語言編輯輸入基本一致,就是將使用了某種硬件描述語言(HDL)的電路設計文本,如VHDL或Verilog的源程序進行編輯輸入。

2.綜合綜合(Synthesis)就是把設計抽象層次中的一種表述轉化成另一種表述的過程。進一步講,綜合就是將用行為和功能層次表達的電子系統轉換為由低層次的便于具體實現的模塊組合而成的系統的過程。設計過程通常從高層次的行為描述開始,以最底層的結構描述結束,每個步驟都是一個綜合過程。這些步驟包括:

(1)從自然語言表述轉換到HDL算法表述,是自然語言綜合。

(2)從算法表述轉換到寄存器傳輸級(RegisterTransportLevel,RTL)表述,即從行為域到結構域的綜合,是行為綜合。

(3)從RTL級表述轉換到邏輯門(包括觸發器)的表述,即邏輯綜合。

(4)從邏輯門表述轉換到版圖表述(ASIC設計),或轉換到FPGA的配置網表文件,可稱為版圖綜合或結構綜合。一般地,綜合是僅對應于HDL而言的。利用HDL綜合器對設計進行綜合是十分重要的一步,因為這一綜合過程將把軟件設計的HDL描述與硬件結構聯系起來,是將軟件轉化為硬件電路的關鍵步驟,是文字描述與硬件實現的一座橋梁。因此,綜合就是將電路的高級語言(如行為描述)轉換成低級的、可與FPGA/CPLD的基本結構相映射的網表文件或程序的過程。當輸入的HDL文件在EDA工具中檢測無誤后,首先面臨的是邏輯綜合,因此要求HDL源文件中的語句都是可綜合的。在綜合之后,HDL綜合器一般都可以生成一種或多種文件格式的網表文件,如EDIF、VHDL、Verilog等標準格式,在網表文件中用各自的格式描述電路的結構,如在HDL網表文件中采用HDL的語法,用結構描述的風格重新詮釋綜合后的電路結構。整個綜合過程就是將設計者在EDA平臺上編輯輸入的HDL文本、原理圖或狀態圖描述,依據給定的硬件結構組件和約束控制條件進行編譯、優化、轉換和綜合,最終獲得門級電路甚至更底層的電路描述網表文件。由此可見,綜合器工作前,必須給定最后實現的硬件結構參數,它的功能就是將軟件描述與給定的硬件結構用某種網表文件的方式對應起來,形成相應的映射關系。如果把綜合理解為映射過程,那么顯然這種映射不是唯一的,并且綜合的優化也不是單純的或一個方向的。為達到速度、面積、性能的要求,往往需要對綜合加以約束,稱為綜合約束。

3.布線布局(適配)適配器也稱結構綜合器,它的功能是將由綜合器產生的網表文件配置于指定的目標器件中,使之產生最終的下載文件,如sof、pof格式的文件。適配所選定的目標器件必須屬于原綜合器指定的目標器件系列。通常,EDA軟件中的綜合器可由專業的第三方EDA公司提供,而適配器則需由FPGA/CPLD供應商提供,因為適配器的適配對象直接與器件的結構細節相對應。適配器的功能就是將綜合后的網表文件針對某一具體的目標器件進行邏輯映射操作,其中包括底層器件配置、邏輯分割、優化、布局布線操作。適配完成后可以利用適配所產生的仿真文件作精確的時序仿真,同時產生可用于編程的文件。

4.仿真仿真就是讓計算機根據一定的算法和一定的仿真庫對EDA設計進行模擬,以驗證設計,排除錯誤。仿真是EDA設計過程中的重要步驟。圖1-3所示的時序與功能門級仿真通常由PLD公司的EDA開發工具直接提供(當然也可以選用第三方的專業仿真工具),它可以完成以下兩種不同級別的仿真測試:

(1)功能仿真,就是直接對HDL、原理圖描述或其他描述形式的邏輯功能進行測試模擬,以了解其實現的功能是否滿足原設計要求的過程。功能仿真過程不涉及任何具體器件的硬件特性,不經歷適配階段,在設計項目編輯、編譯(或綜合)后即可進入門級仿真器進行模擬測試。直接進行功能仿真的好處是設計耗時短,對硬件庫、綜合器等沒有任何要求。

(2)時序仿真,就是接近真實器件運行特性的仿真,仿真文件中已包含了器件的硬件特性參數,因而仿真精度高。但時序仿真的仿真文件必須來自針對具體器件的適配器。綜合后所得的EDIF等網表文件通常作為FPGA適配器的輸入文件,FPGA適配器輸出的仿真網表文件中包含了精確的硬件延時信息。

5.下載和硬件測試把適配后生成的下載或配置文件,通過編程器或編程電纜向FPGA或CPLD進行下載,以便最終驗證設計項目在目標系統上的實際工作情況,以排除錯誤,改進設計。1.3HDL的發展、特點與應用

1.3.1什么是HDL硬件描述語言(HDL)是EDA技術的重要組成部分,常見的HDL主要有VHDL、VerilogHDL、ABEL、AHDL、SystemVerilog和SystemC。其中VHDL、VerilogHDL在現在的EDA設計中使用最多,也獲得了幾乎所有主流EDA工具的支持,而SystemVerilog和SystemC還處于完善過程中。下面重點介紹VerilogHDL和VHDL的區別與聯系。

1.?VerilogHDL

VerilogHDL是一種硬件描述語言,用于從算法級、門級到開關級的多種抽象設計層次的數字系統建模。被建模的數字系統對象的復雜性可以介于簡單的門和完整的電子數字系統之間。數字系統能夠按層次描述,并可在相同描述中顯式地進行時序建模。

VerilogHDL語言具有下述描述能力:設計的行為特性、設計的數據流特性、設計的結構組成以及包含響應監控和設計驗證方面的時延和波形產生機制。所有這些都使用同一種建模語言。此外,VerilogHDL語言提供了編程語言接口,通過該接口可以在模擬、驗證期間從事外部訪問設計,包括模擬的具體控制和運行。

VerilogHDL語言不僅定義了語法,而且對每個語法結構都定義了清晰的模擬、仿真語義。因此,用這種語言編寫的模型能夠使用Verilog仿真器進行驗證。

VerilogHDL語言從C編程語言中繼承了多種操作符和結構。VerilogHDL語言的核心子集非常易于學習和使用,這對大多數建模應用來說已經足夠了。當然,完整的硬件描述語言足以對從最復雜的芯片到完整的電子系統進行描述。

VerilogHDL語言最初是1983年由GatewayDesignAutomation公司為其模擬器產品開發的硬件建模語言。那時它只是一種專用語言。由于該設計公司的模擬、仿真器產品被廣泛使用,VerilogHDL作為一種便于使用且實用的語言逐漸為眾多設計者所接受。目前,VerilogHDL已經是公認的IEEE標準。VerilogHDL的第一個標準(IEEEStd1364-1995)是在1995年被批準的。最新的IEEEStd1364-2001標準與原標準相比有了顯著的改進。

2.?VHDL

VHDL的英文全名是VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguage,它于1983年由美國國防部(DOD)發起創建,由IEEE(theInstituteofElectricalandElectronicsEngineers)進一步發展,并在1987年作為“IEEEstd1076”發布。從此,VHDL成為硬件描述語言的業界標準之一。自IEEE公布了VHDL的標準版本(IEEEStd1076)之后,各EDA公司相繼推出了自己的VHDL開發環境,或宣布自己的設計工具支持VHDL。?此后,VHDL在電子設計領域得到了廣泛應用,并逐步取代了原有的非標準硬件描述語言。

VHDL作為一個規范語言和建模語言,隨著它的標準化,出現了一些支持該語言的行為仿真器。創建VHDL的最初目標是用于標準文檔的建立和電路功能模擬,其基本想法是在高層次上描述系統和元件的行為。但到了20世紀90年代初,VHDL不僅可以作為系統模擬的建模工具,而且可以作為電路系統的設計工具,可以利用軟件工具將VHDL源碼自動地轉化為以文本方式表達的基本邏輯元件連接圖,即網表文件。這種方法對于電路自動設計顯然是一個極大的推進。很快,電子設計領域出現了第一個軟件設計工具,即VHDL邏輯綜合器,它可以標準地將VHDL的部分語句描述轉化為具體電路實現的網表文件。

VHDL語言具有很強的電路描述和建模能力,能從多個層次對數字系統進行建模和描述,從而大大簡化硬件設計任務,提高設計效率和可靠性。VHDL具有與具體硬件電路無關和與設計平臺無關的特性,并且具有良好的電路行為描述和系統描述的能力,并在語言易讀性和層次化、結構化設計方面表現出了強大的生命力和應用潛力。因此,VHDL在支持各種模式的設計方法,如自頂向下與自底向上或混合方法方面,以及在面對當今許多電子產品生命周期縮短,需要多次重新設計以融入最新技術、改變工藝等方面都表現出了良好的適應性。用VHDL進行電子系統設計的一個很大的優點是設計者可以專心致力于其功能的實現,而不需要對不影響功能的、與工藝有關的因素花費過多的時間和精力。

1993年,IEEE對VHDL進行了修訂,從更高的抽象層次和系統描述能力上擴展了VHDL的內容,公布了新版本的VHDL,即IEEEStd1076-1993版本。最新的VHDL標準版本是IEEEStd1076-2002。

3.?VerilogHDL和VHDL的區別與聯系現在,VerilogHDL和VHDL作為IEEE的工業標準硬件描述語言,得到了眾多EDA公司的支持。在電子工程領域,它們已成為事實上的通用硬件描述語言。這兩種語言均可在不同的抽象層次對電路進行描述。圖1-4中將抽象層次分為五個層次,分別為系統級、算法級、寄存器傳輸級、邏輯門級和開關電路級,并在這五個層次上比較了兩者的建模能力。圖1-4VerilogHDL與VHDL建模能力的比較除此之外,兩種語言還有以下區別:

VHDL:●比VerilogHDL早幾年成為IEEE標準;●語法/結構比較嚴格,因而編寫出的模塊風格比較清晰;●比較適合由較多的設計人員合作完成特大型項目(100萬門以上)。

VerilogHDL:●獲得了較多的第三方工具的支持;●語法結構比VHDL簡單;●學習起來比VHDL容易;●測試激勵模塊容易編寫。

對于初學者或者中小數字系統設計工程師來說,建議這兩種語言都學習,并將其中一種語言作為自己設計數字系統的語言,另一種語言僅僅用于借鑒學習其他設計時使用。這樣做主要基于以下兩點認識:第一,VerilogHDL和VHDL的建模思想和建模方法基本上是一致的,最主要的區別是在語言結構及一些語法細節上,只要掌握了這兩種語言的語法,將一種語言的數字系統設計轉化為另一種語言是非常簡單的事情;第二,目前采用這兩種語言的設計項目都非常多,項目比例持平,掌握了兩種語言后可大大增加自己設計項目時可參考的資料數,加快項目進度。1.3.2VerilogHDL的特點下面列出了VerilogHDL的主要特點:●設計能夠在多個層次上加以描述,從開關級、門級、寄存器傳送級(RTL)到算法級。●可采用多種不同方式或混合方式對設計建模。這些方式包括:行為描述方式——使用過程語句建模;數據流方式——使用連續賦值語句建模;結構化方式——使用門和模塊實例語句描述建模。VerilogHDL的混合方式建模能力是指在一個設計中每個模塊均可以在不同設計層次上建模。●開關級基本結構模型,例如pmos和nmos等被內置在語言中,能夠使用內置開關級原語在開關級對設計完整建模。●基本邏輯門,例如and、or和not等都內置在語言中,能夠使用內置門級原語在門級對設計完整建模。●用戶自定義原語(UDP)創建靈活。用戶定義的原語既可以是組合邏輯原語,也可以是時序邏輯原語。●?VerilogHDL還具有內置邏輯函數,例如&(按位與)和|(按位或)。使用這些內置邏輯函數可以在數據流級對設計完整建模。●對高級編程語言結構,例如條件語句、選擇語句和循環語句,VerilogHDL中都可以使用。可使用這些高級語言結構在行為級對設計完整建模。●能夠描述層次設計,可使用模塊實例結構描述任何層次。●設計的規模可以是任意的。VerilogHDL不對設計的規模(大小)施加任何限制。●?VerilogHDL中有兩類數據類型:線網數據類型和寄存器數據類型。線網類型表示元件間的物理連線,而寄存器類型表示抽象的數據存儲元件。●可以顯式地對并發和定時進行建模。VerilogHDL提供顯式語言結構,指定設計中的端口到端口的時延及路徑時延和設計的時序檢查。●同一語言可用于生成模擬激勵和指定測試的驗證約束條件,例如輸入值的指定。●?VerilogHDL能夠監控模擬驗證的執行,即模擬驗證執行過程中設計的值能夠被監控和顯示。這些值也能夠用于與期望值的比較,若不匹配,則打印報告消息。●提供強有力的文件讀寫能力。●?VerilogHDL語言的描述能力能夠通過使用編程語言接口(PLI)機制進一步擴展。PLI是允許外部函數訪問Verilog

模塊內信息、允許設計者與模擬器交互的例程集合。●?VerilogHDL在特定情況下是非確定性的,即在不同的模擬器上模型可以產生不同的結果。例如,事件隊列上的事件順序在標準中沒有定義。1.3.3VerilogHDL的功能

VerilogHDL可以在各種抽象層次上描述數字電路,可以測試各種層次數字電路的行為,可以設計出正確有效的復雜電路結構,因此VerilogHDL功能非常強大。使用VerilogHDL設計數字系統是一種趨勢,大到復雜的CPU,小到一些簡單的邏輯門,而數字化是技術發展的趨勢,因此未來VerilogHDL的應用領域會越來越廣。在設計中小型數字系統時,采用VerilogHDL明顯優于采用其他硬件描述語言。另外,VerilogHDL的語言現象非常類似于C語言,非常靈活,易學易用,因此許多大型公司都采用VerilogHDL作為數字系統設計的首選語言。另外,VerilogHDL帶給我們的更重要的是編程思想,這點很重要。如果將來工作中用到其他語言,則在VerilogHDL語言的基礎上再學習其他硬件描述語言就會事半功倍。1.4QuartusⅡ概述

本書給出的示例和實驗都是基于QuartusⅡ的,其應用方法和設計流程對于其他流行EDA工具的使用具有一定的典型性和普遍性,所以在此對QuartusⅡ作一些介紹。

QuartusⅡ是Altera提供的FPGA/CPLD集成開發環境。Altera是世界上最大的可編程邏輯器件供應商之一。QuartusⅡ在21世紀初推出,是Altera前一代FPGA/CPLD集成開發環境MAX+plusⅡ的更新換代產品,其界面友好,使用便捷。在QuartusⅡ上可以完成本章1.2節所述的整個流程,它提供了一種與結構無關的設計環境,使設計者能方便地進行設計輸入、綜合、適配和器件編程。

Altera的QuartusⅡ設計工具完全支持VHDL和VerilogHDL,其內部嵌有VHDL、VerilogHDL邏輯綜合器。QuartusⅡ也可以利用第三方的綜合工具,如LeonardoSpectrum、SynplifyPro、FPGACompilerⅡ,并能直接調用這些工具。同樣,Quartus

Ⅱ具備仿真功能,同時也支持第三方的仿真工具,如ModelSim、NCSim等。

QuartusⅡ包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器(Analysis&Synthesis)、適配器(Fitter)、裝配器(Assembler)、時序分析器(TimingAnalyzer)、設計輔助模塊(DesignAssistant)、EDA網表文件生成器(EDANetlistWriter)、編輯數據接口(CompilerDatabaseInterface)等。可以通過選擇StartCompilation來運行所有的編譯器模塊,也可以通過選擇Start單獨運行各個模塊。還可以通過選擇CompilerTool(Tools菜單),在CompilerTool窗口中運行該模塊來啟動編譯器模塊。在CompilerTool窗口中,可以打開該模塊的設置文件或報告文件,或打開其他相關窗口。此外,QuartusⅡ還包含許多十分有用的LPM(LibraryofParameterizedModules)宏功能模塊,它們是復雜或高級系統構建的重要組成部分,也可與QuartusⅡ普通設計文件一起使用。Altera提供的LPM均基于Altera器件的結構作了優化設計。在許多實際情況中,只有使用了宏功能模塊才可以使用一些Altera特定器件的硬件功能,例如各類片上存儲器、PLL等。圖1-5中,上排是QuartusⅡ編譯設計主控界面,它顯示了QuartusⅡ自動設計的各主要處理環節和設計流程,包括設計輸入編輯、設計分析與綜合、適配、編程文件匯編(裝配)、時序參數提取以及編程下載等幾個步驟。圖1-5中下排的流程框圖是與上面的QuartusⅡ設計流程相對應的標準FPGA的EDA開發流程。

QuartusⅡ支持層次化設計,可以在一個新的編輯輸入環境中對使用不同輸入設計方式完成的模塊(元件)進行調用,從而解決了原理圖與HDL混合輸入設計的問題。在設計輸入之后,QuartusⅡ的編譯器將給出設計輸入的錯誤報告。可以使用QuartusⅡ帶有的RTLViewer觀察綜合后的RTL圖。圖1-5QuartusⅡ設計流程1.5硬件描述語言的發展趨勢

數字電路的速度和復雜性正在迅速地增長,這就要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論