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

下載本文檔

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

文檔簡介

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

1.1EDA技術(shù)簡介

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

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

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

1.EDA技術(shù)的分類

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

1)大規(guī)??删幊踢壿嬈骷?/p>

2)硬件描述語言

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(10)高速性能好;

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

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

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

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

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

3.行為仿真

4.目標(biāo)器件的布線/適配

5.功能仿真和時序仿真

6.目標(biāo)器件的編程/下載

7.硬件仿真與測試

1.2可?編?程?器?件

1.2.1可編程邏輯器件概述

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

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

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

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

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

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

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

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

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

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

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

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

1.可編程邏輯宏單元

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

(1)多觸發(fā)器結(jié)構(gòu)和“隱埋”觸發(fā)器結(jié)構(gòu)。

(2)乘積項共享結(jié)構(gòu)。

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

2.可編程I/O單元

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

1.2.5FPGA的結(jié)構(gòu)與工作原理

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

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

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

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

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

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

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

2.可配置邏輯模塊

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

3.?dāng)?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的應(yīng)用范圍和靈活性。塊RAM可被配置為單端口RAM、雙端口RAM、相聯(lián)存儲器(CAM)以及FIFO等常用存儲結(jié)構(gòu)。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)級的設(shè)計工具,并具備了軟、硬件聯(lián)合設(shè)計的能力,逐步向SOC平臺過渡。

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

6.布線資源

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

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

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

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

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

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

CPLD/FPGA的編程與配置就是指將已經(jīng)設(shè)計好的硬件電路的網(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)部的各類寄存器復(fù)位。

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引腳必須進行初始化,等到初始化完成以后,芯片才會按照用戶設(shè)計的功能正常工作,即進入用戶模式。

3.FPGA器件的配置過程

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

1.3VerilogHDL簡介

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

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

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

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

溫馨提示

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

評論

0/150

提交評論