《Verilog HDL數(shù)字系統(tǒng)設計-原理、實例及仿真》課件第1章_第1頁
《Verilog HDL數(shù)字系統(tǒng)設計-原理、實例及仿真》課件第1章_第2頁
《Verilog HDL數(shù)字系統(tǒng)設計-原理、實例及仿真》課件第1章_第3頁
《Verilog HDL數(shù)字系統(tǒng)設計-原理、實例及仿真》課件第1章_第4頁
《Verilog HDL數(shù)字系統(tǒng)設計-原理、實例及仿真》課件第1章_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章概述1.1EDA技術簡介1.2可編程器件1.3VerilogHDL簡介

1.1EDA技術簡介

現(xiàn)代電子設計技術的核心已日趨轉向基于計算機的電子設計自動化(EDA,ElectronicDesignAutomation)技術。所謂EDA技術,就是依賴功能強大的計算機,在EDA工具軟件平臺上,對以硬件描述語言(HDL,HardwareDescriptionLanguage)為系統(tǒng)邏輯描述手段完成的設計文件,自動地進行邏輯編譯、化簡、分割、綜合、布局布線以及邏輯優(yōu)化和仿真測試,直至實現(xiàn)既定的電子線路系統(tǒng)功能。

EDA技術在硬件實現(xiàn)方面融合了大規(guī)模集成電路制造技術、IC版圖設計技術、ASIC測試和封裝技術、FPGA/CPLD編程下載技術、自動測試技術等;在計算機輔助工程方面融合了計算機輔助設計(CAD)、計算機輔助制造(CAM)、計算機輔助測試(CAT)、計算機輔助工程(CAE)技術以及多種計算機語言設計的概念;而在現(xiàn)代電子學方面則容納了更多的內(nèi)容,如電子線路設計理論、數(shù)字信號處理技術、數(shù)字系統(tǒng)建模和優(yōu)化技術等。因此,EDA技術為現(xiàn)代電子理論和設計的表達與實現(xiàn)提供了可能,是現(xiàn)代電子設計的核心。

EDA技術使設計者的工作可以僅限于利用軟件的方式,即利用硬件描述語言和EDA軟件來完成對系統(tǒng)硬件功能的實現(xiàn),這是電子設計技術的一個巨大進步。另一方面,在現(xiàn)代高新電子產(chǎn)品的設計和生產(chǎn)中,微電子技術和現(xiàn)代電子設計技術是相互促進、相互推動又相互制約的兩個環(huán)節(jié),前者代表了硬件電路物理層在廣度和深度上的發(fā)展,后者則反映了現(xiàn)代先進的電子理論、電子技術、仿真技術、設計工藝和設計技術與最新的計算機軟件技術有機的融合和升華。1.1.1EDA技術的發(fā)展

1.EDA技術的分類

電子設計自動化(EDA)技術是一門迅速發(fā)展的電子設計技術,涉及面很廣。一般從認識上可以將EDA技術分成狹義EDA技術和廣義EDA技術。2.EDA技術涉及的內(nèi)容

1)大規(guī)模可編程邏輯器件

2)硬件描述語言

3)?EDA軟件開發(fā)工具

4)實驗開發(fā)系統(tǒng)1.1.2EDA與傳統(tǒng)電子設計方法的比較

隨著EDA技術的不斷發(fā)展,其設計方法也發(fā)生著顯著的變化,已經(jīng)從傳統(tǒng)的自下而上的設計方法轉變成自上而下的設計方法。傳統(tǒng)的電子設計方法是自下而上(Bottom-Up)的,如圖1.1所示,是基于電路板的設計。圖1.1傳統(tǒng)的電子設計方法這種設計方法以固定功能元件為基礎,然后根據(jù)這些器件進行模塊邏輯設計,完成各個模塊后進行連接,最后形成系統(tǒng)。這種手工設計方法的缺點如下:

(1)設計主要依賴于設計人員的經(jīng)驗,復雜電路的設計、調(diào)試十分困難。

(2)設計依賴已有的通用元器件,同時,如果某一過程存在錯誤,則查找和修改十分不便。

(3)對于集成電路設計而言,設計實現(xiàn)過程與具體生產(chǎn)工藝直接相關,因此可移植性差。

(4)設計后期的仿真不易實現(xiàn),只有在設計出樣機或生產(chǎn)出芯片后才能進行實測。

(5)設計實現(xiàn)周期長、靈活性差、耗時耗力、效率低下。這種設計流程就是典型的自上而下(Top-Down)的設計方法,如圖1.2所示。自上而下的設計方法將數(shù)字系統(tǒng)的整體逐步分解為各個子系統(tǒng)和模塊,若子系統(tǒng)規(guī)模較大,則還需要將子系統(tǒng)進一步分解為更小的子系統(tǒng)和模塊,層層分解,直至整個系統(tǒng)中各個子系統(tǒng)關系合理,并便于邏輯電路級的設計和實現(xiàn)為止。自上而下的設計可逐層描述,逐層仿真,直至滿足系統(tǒng)指標。圖1.2自上而下(Top-Down)的設計方法采用自上而下的設計方法有如下優(yōu)點:

(1)這是一種模塊化的設計方法;

(2)由于高層設計同器件無關,可以完全獨立于目標器件的結構,因此在設計的最初階段,設計人員可以不受芯片結構的約束,集中精力對產(chǎn)品進行最適應市場需求的設計,從而避免了傳統(tǒng)設計方法中的再設計風險,縮短了產(chǎn)品的上市周期;

(3)由于系統(tǒng)采用硬件描述語言進行設計,可以完全獨立于目標器件的結構,因此設計易于在各種集成電路工藝或可編程器件之間移植;

(4)多個設計者可同時進行設計;

(5)具有強大的系統(tǒng)建模、電路仿真功能;

(6)開發(fā)技術已經(jīng)標準化、規(guī)范化,IP核具有可利用性;

(7)適用于高效率、大規(guī)模系統(tǒng)設計的自上而下的設計方案;

(8)全方位地利用計算機自動設計、仿真和測試技術;

(9)對設計者的硬件知識和硬件經(jīng)驗要求低;

(10)高速性能好;

(11)純硬件系統(tǒng)具有高可靠性。

EDA設計方法與傳統(tǒng)電子設計方法的比較見表1.1。1.1.3EDA的開發(fā)過程

基于EDA的電子設計流程如圖1.3所示。圖1.3

EDA工程設計流程1.文本編輯/原理圖編輯輸入與修改

2.邏輯綜合和優(yōu)化

3.行為仿真

4.目標器件的布線/適配

5.功能仿真和時序仿真

6.目標器件的編程/下載

7.硬件仿真與測試

1.2可?編?程?器?件

1.2.1可編程邏輯器件概述

隨著數(shù)字電路的普及,傳統(tǒng)的定制數(shù)字集成電路器件已滿足不了應用的需求,可編程邏輯器件(PLD)應運而生,并逐漸地成為主流產(chǎn)品。PLD與傳統(tǒng)定制器件的主要區(qū)別是它的可編程性,它的邏輯功能是由用戶設計的,并且一般都可重復編程和擦除,即PLD是能夠為客戶提供范圍廣泛的多種邏輯能力、特性、速度和電壓特性的標準成品部件,而且此類器件的功能可在任何時間修改,從而實現(xiàn)多種不同的功能。對于可編程邏輯器件,設計人員可利用價格低廉的軟件工具快速開發(fā)、仿真和測試其設計。1.2.2PLD的發(fā)展歷史

根據(jù)可編程邏輯器件(PLD)發(fā)展時期的不同特點,可將其分為以下四個階段。

第一階段(20世紀70年代初到70年代中):PLD誕生及簡單PLD發(fā)展階段。

第二階段(20世紀70年代中到80年代中):乘積項可編程結構PLD發(fā)展與成熟階段。

第三階段(20世紀80年代中到90年代末):復雜可編程邏輯器件的發(fā)展階段。

第四階段(20世紀90年代末至今):復雜可編程邏輯器件的成熟階段。1.2.3可編程邏輯器件的分類

根據(jù)PLD器件的與陣列和或陣列的編程情況及輸出形式,可編程邏輯器件通??煞譃槿缦滤念?。

第一類是與陣列固定、或陣列可編程的PLD器件,以可編程只讀存儲器(PROM)為代表。

第二類是與陣列和或陣列均可編程的PLD器件,以可編程邏輯陣列(PLA)器件為代表。

第三類是與陣列可編程、或陣列固定的PLD器件,以可編程陣列邏輯(PAL)器件為代表。

第四類是具有可編程輸出邏輯宏單元的通用PLD器件,以可編程通用陣列邏輯(GAL)器件為主要代表。圖1.4可編程邏輯器件的集成密度分類1.2.4CPLD的結構與工作原理

復雜可編程邏輯器件(CPLD)的規(guī)模大、結構復雜,屬于大規(guī)模集成電路范圍。CPLD主要由可編程邏輯宏單元(LAB)、可編程I/O單元和可編程內(nèi)部連線(PIA)三大部分構成,如圖1.5所示為Altera公司MAX7128S的典型結構。圖1.5MAX7128S的典型結構

1.可編程邏輯宏單元

所謂宏單元就是由一些與或陣列加上觸發(fā)器構成的,其中的“與或”陣列完成組合邏輯功能,觸發(fā)器用以完成時序邏輯功能,主要有以下特點:

(1)多觸發(fā)器結構和“隱埋”觸發(fā)器結構。

(2)乘積項共享結構。

(3)異步時鐘和時鐘選擇。

2.可編程I/O單元

3.可編程內(nèi)部連線

1.2.5FPGA的結構與工作原理

現(xiàn)場可編程門陣列(FPGA)是在PAL、GAL、EPLD、CPLD等可編程器件的基礎上進一步發(fā)展的產(chǎn)物,它是作為ASIC領域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路有限的缺點。如前所述,F(xiàn)PGA是由存放在片內(nèi)的RAM來設置其工作狀態(tài)的,因此工作時需要對片內(nèi)RAM進行編程。用戶可根據(jù)不同的配置模式,采用不同的編程方式。FPGA有如下幾種配置模式:

(1)并行模式。并行PROM、Flash配置FPGA。

(2)主從模式。一片PROM配置多片F(xiàn)PGA。

(3)串行模式。串行PROM配置FPGA。

(4)外設模式。將FPGA作為微處理器的外設,由微處理器對其編程。圖1.6FPGA芯片的內(nèi)部結構

1.可編程輸入/輸出單元

可編程輸入/輸出單元(IOB)簡稱I/O單元,是芯片與外界電路的接口部分,完成不同電氣特性下對輸入/輸出信號的驅(qū)動與匹配要求,其內(nèi)部結構示意圖如圖1.7所示,主要由輸入觸發(fā)器、輸入緩沖器、輸出觸發(fā)/鎖存器和輸出緩沖器組成。圖1.7典型的IOB內(nèi)部結構示意圖

2.可配置邏輯模塊

可配置邏輯模塊(CLB)是FPGA內(nèi)的基本邏輯單元。CLB的實際數(shù)量和特性會根據(jù)器件的不同而不同,但是每個CLB都包含一個可配置開關矩陣,此矩陣由4或6個輸入、一些可選電路(多路復用器等)和觸發(fā)器組成。開關矩陣是高度靈活的,可以對其進行配置以便處理組合邏輯、移位寄存器或RAM。在Xilinx公司的FPGA器件中,CLB由多個(一般為4個或2個)相同的Slice和附加邏輯構成,Xilinx公司的CLB結構示意圖如圖1.8所示。CLB模塊不僅可以用于實現(xiàn)組合邏輯、時序邏輯,還可以配置為分布式RAM和分布式ROM。圖1.8Xilinx公司的CLB結構示意圖

3.數(shù)字時鐘管理模塊

業(yè)內(nèi)大多數(shù)FPGA均提供數(shù)字時鐘管理(DCM)模塊(Xilinx公司的全部FPGA均具有這種特性)。Xilinx公司推出的最先進FPGA,提供數(shù)字時鐘管理功能和相位環(huán)路鎖定功能。相位環(huán)路鎖定功能可以提供精確的時鐘綜合,且能夠降低抖動,并實現(xiàn)過濾功能。

4.嵌入式塊RAM

大多數(shù)FPGA都具有內(nèi)嵌的塊RAM,這大大拓展了FPGA的應用范圍和靈活性。塊RAM可被配置為單端口RAM、雙端口RAM、相聯(lián)存儲器(CAM)以及FIFO等常用存儲結構。RAM、FIFO的概念較普及,在此不再冗述。

5.底層內(nèi)嵌功能模塊和內(nèi)嵌專用硬核

內(nèi)嵌功能模塊主要指延時鎖定循環(huán)(DLL,DelayLockedLoop)、鎖相環(huán)(PLL,PhaseLockedLoop)、數(shù)字信號處理(DSP)和中央處理器(CPU)等軟核(SoftCore)?,F(xiàn)在,越來越豐富的內(nèi)嵌功能使得單片F(xiàn)PGA成為了系統(tǒng)級的設計工具,并具備了軟、硬件聯(lián)合設計的能力,逐步向SOC平臺過渡。

DLL和PLL具有類似的功能,可以完成時鐘高精度、低抖動的倍頻和分頻,以及占空比調(diào)整和移相等功能。Xilinx公司的芯片上集成了DLL,Altera公司的芯片上集成了PLL,Lattice公司的新型芯片上同時集成了PLL和DLL。PLL和DLL可以通過IP核生成的工具進行管理和配置。DLL的結構示意如圖1.9所示。圖1.9典型的DLL結構示意圖

6.布線資源

布線資源用以連通FPGA內(nèi)部的所有單元,而連線的長度和工藝決定著信號在連線上的驅(qū)動能力和傳輸速度。FPGA芯片內(nèi)部有著豐富的布線資源,根據(jù)工藝、長度、寬度和分布位置的不同而劃分為以下幾類:

(1)全局布線資源,用于芯片內(nèi)部全局時鐘和全局復位/置位的布線;

(2)長線資源,用以完成芯片內(nèi)各Bank間的高速信號和第二全局時鐘信號的布線;

(3)短線資源,用于完成基本邏輯單元之間的邏輯互連和布線;

(4)分布式的布線資源,用于專有時鐘、復位等控制信號線。1.2.6CPLD和FPGA的編程與配置

1.CPLD/FPGA器件配置的下載分類

CPLD/FPGA的編程與配置就是指將已經(jīng)設計好的硬件電路的網(wǎng)表文件通過編程器或編程電纜下載到CPLD/FGPA器件中。

CPLD/FPGA器件的工作狀態(tài)(模式)主要有如下三種:

①用戶狀態(tài)(UserMode),即電路中CPLD/FPGA器件正常工作時的狀態(tài);

②配置狀態(tài)(ConfigurationMode)或者下載狀態(tài),指將編程數(shù)據(jù)裝入CPLD/FPGA器件的過程;

③初始化狀態(tài)(InitializationMode),即CPLD/FPGA器件內(nèi)部的各類寄存器復位。

1)基于計算機通信端口的分類

根據(jù)使用計算機端口的不同,CPLD/FPGA的編程與配置可以分為串口下載、并口下載和USB接口下載等三類。

2)基于編程器件的分類

根據(jù)采用的CPLD/FPGA器件的不同,編程和配置有如下兩類:

(1)?CPLD編程下載,適用于片內(nèi)編程元件為EPROM、EEPROM和Flash的器件。

(2)?FPGA編程下載,適用于片內(nèi)編程元件為SDRAM的器件。

3)基于CPLD/FPGA器件在編程過程中的狀態(tài)分類

根據(jù)CPLD/FPGA器件在編程過程中的不同狀態(tài),以Altera公司的芯片為例,常用的有下面三種分類。

(1)主動配置方式。

(2)被動配置方式。

(3)?JTAG配置方式。

2.FPGA器件的下載過程

在FPGA正常工作時,配置數(shù)據(jù)存儲在SRAM中,這個SRAM單元也被稱為配置存儲器(ConfigureRAM)。由于SRAM是易失性存儲器,因此在FPGA上電之后,外部電路需要將配置數(shù)據(jù)重新載入到芯片內(nèi)的配置RAM中。在芯片配置完成之后,內(nèi)部的寄存器以及I/O引腳必須進行初始化,等到初始化完成以后,芯片才會按照用戶設計的功能正常工作,即進入用戶模式。

3.FPGA器件的配置過程

一個FPGA器件完整的配置過程包括復位、配置和初始化三個過程。

1.3VerilogHDL簡介

硬件描述語言(HDL)是一種用形式化方法來描述數(shù)字電路和系統(tǒng)的語言。數(shù)字系統(tǒng)的設計者利用這種語言可以從上層到下層(從抽象到具體)逐層描述自己的設計思想,用一系列分層次的模塊來表示極其復雜的數(shù)字系統(tǒng)。然后利用EDA工具逐層次進行仿真驗證,再把其中需要變?yōu)榫唧w物理電路的模塊組合由自動綜合工具轉換到門級電路網(wǎng)表。接著,利用專用集成電路(ASIC)或CPLD/FPGA自動布局布線工具把網(wǎng)表轉換為具體電路的布線結構去實現(xiàn)。1.3.1VerilogHDL的發(fā)展歷史

VerilogHDL語言是在應用最為廣泛的C語言的基礎上發(fā)展起來的一種硬件描述語言,它是由GDA公司(該公司于1989年被Cadence公司收購)的PhilMoorby于1983年創(chuàng)建的,最初只設計了仿真和驗證工具,之后又陸續(xù)開發(fā)了相關的故障模擬與時序分析工具。1.3.2VerilogHDL和VHDL的比較

VerilogHDL與VHDL都是邏輯設計的硬件描述語言,VHDL與VerilogHDL有很多相同之處,它們能形式化地抽象表示電路的行為和結構,支持邏輯設計中層次與范圍的描述,最重要的是都可以借助類高級語言的特性來抽象描述數(shù)字電路的結構和功能,都可以對設計出來的電路進行驗證和仿真,以確保電路的正確性,以及都可以實現(xiàn)電路描述與工藝實現(xiàn)的分離。簡單地說,它們都可以幫助工程師完成復雜數(shù)字電路系統(tǒng)的設計,但它們又各自有著不同的特點:

(1)?VerilogHDL早在1983年就已推出,因而擁有更廣泛的使用群體,成熟的資源也比VHDL豐富。它最大的優(yōu)點就是簡單、規(guī)范,語法規(guī)則與C語言十分相像,非常容易學習和掌握。而VHDL的語法規(guī)則類似ADA語言。由于C語言有著廣泛的使用群體,作為電子工程師幾乎都學習過這門語言,因而電子工程師們可以比較容易地掌握VerilogHDL。與此相反,有過ADA語言使用經(jīng)歷的電子工程師并不多。因此電子工程師們普遍認為Veril

溫馨提示

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

評論

0/150

提交評論