第一章 概述(2012-2013-2 eda)_第1頁
第一章 概述(2012-2013-2 eda)_第2頁
第一章 概述(2012-2013-2 eda)_第3頁
第一章 概述(2012-2013-2 eda)_第4頁
第一章 概述(2012-2013-2 eda)_第5頁
已閱讀5頁,還剩86頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、EDA技術技術金陵科技學院金陵科技學院信息技術學院信息技術學院第一章第一章 概述概述1.1 EDA技術及其發展技術及其發展1. 什么是什么是 EDA?Electronic Design Automation電子設計自動化電子設計自動化 EDA技術技術是是20世紀后期,伴隨著世紀后期,伴隨著微電子技術微電子技術、大規模集成電路制造技術大規模集成電路制造技術、可編程邏輯器件設計技可編程邏輯器件設計技術術、計算機輔助工程技術計算機輔助工程技術以及以及現代電子設計技術現代電子設計技術的的發展而同步發展形成的一門綜合性的技術與學科。發展而同步發展形成的一門綜合性的技術與學科。 EDA技術作為現代電子設計

2、技術的核心,依賴功能強技術作為現代電子設計技術的核心,依賴功能強大的大的計算機計算機,以,以大規模可編程器件大規模可編程器件為設計載體,以硬件描為設計載體,以硬件描述語言述語言HDL(Hardware Description Language)為系統為系統邏輯功能描述的主要表達方式,在邏輯功能描述的主要表達方式,在EDA工具軟件平臺工具軟件平臺上上,自動完成從自動完成從軟件方式描述的電子系統軟件方式描述的電子系統到到硬件電子系統硬件電子系統的邏的邏輯化簡、邏輯分割、邏輯綜合、結構綜合(布局布線)、輯化簡、邏輯分割、邏輯綜合、結構綜合(布局布線)、邏輯優化、仿真測試、編程下載等功能,直至實現既定

3、性邏輯優化、仿真測試、編程下載等功能,直至實現既定性能的硬件電子系統功能。能的硬件電子系統功能。2. EDA技術的定義技術的定義 EDA技術使得設計者的工作幾乎僅限于利用軟件的方式,技術使得設計者的工作幾乎僅限于利用軟件的方式,即即利用硬件描述語言利用硬件描述語言HDL和和EDA軟件來完成對系統硬件功能的軟件來完成對系統硬件功能的實現實現。在硬件方面融合了大規模集成電路制造技術、在硬件方面融合了大規模集成電路制造技術、IC(Integrated Circuit)版圖設計技術、版圖設計技術、ASIC(Application Specific Integrated Circuit )測試)測試和封

4、裝技術、和封裝技術、FPGA(Field Programmable Gate Array)和)和CPLD(Complex Programmable Logic Device)編程下載技術、自動測試技)編程下載技術、自動測試技術等;術等;在計算機輔助工程方面融合了計算機輔助設計(在計算機輔助工程方面融合了計算機輔助設計(CAD)、計算機輔助制)、計算機輔助制造(造(CAM)、計算機輔助測試()、計算機輔助測試(CAT)、計算機輔助工程()、計算機輔助工程(CAE)技術)技術以及多種計算機語言的設計概念;以及多種計算機語言的設計概念;在現代電子學方面融合了電子線路設計理論、數字信號處理技術、嵌入在

5、現代電子學方面融合了電子線路設計理論、數字信號處理技術、嵌入式系統和計算機設計技術、數字系統建模和優化及微波技術等;式系統和計算機設計技術、數字系統建模和優化及微波技術等; 所以,所以,EDA技術是一門綜合性學科技術是一門綜合性學科,融合多學科一體,又滲透于各學,融合多學科一體,又滲透于各學科中,代表了電子設計技術的發展方向。科中,代表了電子設計技術的發展方向。3. EDA技術涉及的技術領域技術涉及的技術領域(1)計算機輔助設計)計算機輔助設計CAD階段階段 20世紀世紀70年代,在集成電路制作方面,雙極工藝、年代,在集成電路制作方面,雙極工藝、MOS工工藝已得到廣泛的應用,可編程邏輯技術及其

6、器件(藝已得到廣泛的應用,可編程邏輯技術及其器件(PROM、PLA、PAL)已經問世,并且計算機作為一種運算工具已在科)已經問世,并且計算機作為一種運算工具已在科研領域得到廣泛應用。研領域得到廣泛應用。 在在70年代后期,年代后期,CAD的概念已見雛形。這一階段人們開始的概念已見雛形。這一階段人們開始利用計算機和利用計算機和CAD工具取代手工勞動,輔助進行集成電路版圖工具取代手工勞動,輔助進行集成電路版圖編輯、編輯、PCB(印制電路板)布局布線等繁雜工作。(印制電路板)布局布線等繁雜工作。4. EDA技術的發展過程技術的發展過程(2)計算機輔助工程)計算機輔助工程CAE階段階段 20世紀世紀8

7、0年代,集成電路設計進入了年代,集成電路設計進入了CMOS時代,出現了時代,出現了復雜可編程器件以及相應的輔助設計軟件。復雜可編程器件以及相應的輔助設計軟件。 在在80年代末期,出現了年代末期,出現了FPGA和和CPLD,于是,于是CAE和和CAD 技術的應用更為廣泛,它們在技術的應用更為廣泛,它們在PCB設計方面的原理圖輸入、自設計方面的原理圖輸入、自動布局布線及動布局布線及PCB分析,以及邏輯設計、邏輯仿真、邏輯函數分析,以及邏輯設計、邏輯仿真、邏輯函數化簡等方面都得到了廣泛的應用。化簡等方面都得到了廣泛的應用。 特別是各種硬件描述語言的出現,并不斷地被應用和標準特別是各種硬件描述語言的出

8、現,并不斷地被應用和標準化,為電子設計自動化必須解決的電路建模、標準文檔及仿真化,為電子設計自動化必須解決的電路建模、標準文檔及仿真測試奠定了堅實的基礎。測試奠定了堅實的基礎。(3)電子設計自動化()電子設計自動化(EDA)階段)階段 20世紀世紀90年代,隨著硬件描述語言的標準化得到進一步的確定,年代,隨著硬件描述語言的標準化得到進一步的確定,計算機輔助工程、輔助分析和輔助設計在電子技術領域獲得更加廣泛計算機輔助工程、輔助分析和輔助設計在電子技術領域獲得更加廣泛的應用;同時電子技術在通信、計算機及家電產品中的需求極大地推的應用;同時電子技術在通信、計算機及家電產品中的需求極大地推動了電子設計

9、自動化技術的應用和發展。動了電子設計自動化技術的應用和發展。 同時期,集成電路設計工藝步入了超深亞微米階段,近千萬門的同時期,集成電路設計工藝步入了超深亞微米階段,近千萬門的大規模可編程邏輯器件的出現,以及低成本大規模的大規模可編程邏輯器件的出現,以及低成本大規模的ASIC設計技術的設計技術的應用,促進了應用,促進了EDA技術的形成和發展。技術的形成和發展。 同時期,各同時期,各EDA公司積極推出兼容各種硬件實現方案和支持標準公司積極推出兼容各種硬件實現方案和支持標準硬件描述語言的硬件描述語言的EDA工具軟件,都有效地將工具軟件,都有效地將EDA技術推向了成熟。技術推向了成熟。 此外,過去單功

10、能電子產品開發轉向系統級電子產品開發(即此外,過去單功能電子產品開發轉向系統級電子產品開發(即SOC: System On a Chip:單片系統、或片上系統;:單片系統、或片上系統;SOPC: System On a Programmable Chip:片上可編程系統:片上可編程系統 )。)。u 什么是什么是 SOC / SOPC ?System on a Chip/System on a Programmable Chip 片上系統片上系統 / 片上可編程系統片上可編程系統 片上系統(片上系統(SoC:System-on-a-chip)指的是)指的是在單個芯片在單個芯片上集成一個完整的系統

11、上集成一個完整的系統。所謂完整的系統一般包括嵌入式處。所謂完整的系統一般包括嵌入式處理器、存儲器、理器、存儲器、I/O口以及各類功能模塊等。口以及各類功能模塊等。 片上系統技術通常應用于小型的,日益復雜的電子設備。片上系統技術通常應用于小型的,日益復雜的電子設備。例如,例如,聲音檢測設備的片上系統聲音檢測設備的片上系統是在單個芯片上提供包括音頻是在單個芯片上提供包括音頻接收端、模數轉換器(接收端、模數轉換器(ADC)、微處理器、必要的存儲器以及)、微處理器、必要的存儲器以及輸入輸出邏輯控制等設備。此外系統芯片還應用于單芯片無線輸入輸出邏輯控制等設備。此外系統芯片還應用于單芯片無線產品,諸如藍牙

12、設備,支持單芯片產品,諸如藍牙設備,支持單芯片WLAN和蜂窩電話解決方案。和蜂窩電話解決方案。 由于空前的高效集成性能,片上系統是替代集成電路的主由于空前的高效集成性能,片上系統是替代集成電路的主要解決方案。要解決方案。SoC 已經成為當前微電子芯片發展的必然趨勢。已經成為當前微電子芯片發展的必然趨勢。(3)電子設計自動化()電子設計自動化(EDA)階段)階段 20世紀世紀90年代,隨著硬件描述語言的標準化得到進一步的確定,年代,隨著硬件描述語言的標準化得到進一步的確定,計算機輔助工程、輔助分析和輔助設計在電子技術領域獲得更加廣泛計算機輔助工程、輔助分析和輔助設計在電子技術領域獲得更加廣泛的應

13、用,與此同時電子技術在通信、計算機及家電產品生產中的需求的應用,與此同時電子技術在通信、計算機及家電產品生產中的需求極大地推動了全新的電子設計自動化技術的應用和發展。極大地推動了全新的電子設計自動化技術的應用和發展。 同時期,集成電路設計工藝步入了超深亞微米階段,近千萬門的同時期,集成電路設計工藝步入了超深亞微米階段,近千萬門的大規模可編程邏輯器件的出現,以及低成本大規模的大規模可編程邏輯器件的出現,以及低成本大規模的ASIC設計技術的設計技術的應用,促進了應用,促進了EDA技術的形成和發展。技術的形成和發展。 同時期,各同時期,各EDA公司積極推出兼容各種硬件實現方案和支持標準公司積極推出兼

14、容各種硬件實現方案和支持標準硬件描述語言的硬件描述語言的EDA工具軟件,都有效地將工具軟件,都有效地將EDA技術推向了成熟。技術推向了成熟。 此外,過去單功能電子產品開發轉向系統級電子產品開發(即此外,過去單功能電子產品開發轉向系統級電子產品開發(即SOC: System On a Chip:單片系統、或片上系統;:單片系統、或片上系統;SOPC: System On a Programmable Chip:片上可編程系統:片上可編程系統 )。)。(3)電子設計自動化()電子設計自動化(EDA)階段)階段 20世紀世紀90年代,可編程邏輯器件迅速發展(由最初年代,可編程邏輯器件迅速發展(由最初

15、的幾百門幾千門發展到現在的數萬門數十萬門),并且的幾百門幾千門發展到現在的數萬門數十萬門),并且出現功能強大的全線出現功能強大的全線EDA工具,使用具有較強抽象描述工具,使用具有較強抽象描述能力的硬件描述語言(能力的硬件描述語言(VHDL、Verilog HDL)及高性能)及高性能綜合工具,使過去單功能電子產品開發轉向系統級電子綜合工具,使過去單功能電子產品開發轉向系統級電子產品開發(即產品開發(即SOC: System On a Chip:單片系統、或:單片系統、或片上系統集成;片上系統集成;SOPC: System On a Programmable Chip:片上可編程系統:片上可編程系

16、統 ) 開始實現開始實現“概念驅動工程概念驅動工程”(Concept Driver Engineering, CDE)的夢想。)的夢想。 EDA技術進入技術進入21世紀后得到了更大的發展,表現在:世紀后得到了更大的發展,表現在:(1)功能強大的)功能強大的EDA軟件不斷推出,在設計和仿真兩方面都支持軟件不斷推出,在設計和仿真兩方面都支持標準硬件描述語言。標準硬件描述語言。(2)電路電子系統的設計全方位進入)電路電子系統的設計全方位進入EDA時代。除了日益成熟的時代。除了日益成熟的數字技術外,傳統的電路系統設計建模理念發生了重大的變化,軟數字技術外,傳統的電路系統設計建模理念發生了重大的變化,軟

17、硬件技術,軟硬件功能及其結構進一步融合。硬件技術,軟硬件功能及其結構進一步融合。(3)EDA使得電子技術領域各學科的界限更加模糊,更加互為包使得電子技術領域各學科的界限更加模糊,更加互為包容,如模擬和數字、軟件和硬件、系統和器件、容,如模擬和數字、軟件和硬件、系統和器件、ASIC和和FPGA等。等。(4)更大規模的)更大規模的FPGA和和CPLD器件的不斷推出。器件的不斷推出。 EDA技術進入技術進入21世紀后得到了更大的發展,表現在:世紀后得到了更大的發展,表現在:(1)功能強大的)功能強大的EDA軟件不斷推出,在設計和仿真兩方面都支持軟件不斷推出,在設計和仿真兩方面都支持標準硬件描述語言。

18、標準硬件描述語言。(2)電路電子系統的設計全方位進入)電路電子系統的設計全方位進入EDA時代。除了日益成熟的時代。除了日益成熟的數字技術外,傳統的電路系統設計建模理念發生了重大的變化:軟數字技術外,傳統的電路系統設計建模理念發生了重大的變化:軟件無線電技術的崛起,模擬電路系統硬件描述語言的表達和設計的件無線電技術的崛起,模擬電路系統硬件描述語言的表達和設計的標準化,系統可編程模擬器件的出現,數字信號處理和圖像處理的標準化,系統可編程模擬器件的出現,數字信號處理和圖像處理的全硬件實現方案的出現,軟硬件技術,軟硬件功能及其結構進一步全硬件實現方案的出現,軟硬件技術,軟硬件功能及其結構進一步融合。融

19、合。(3)EDA使得電子技術領域各學科的界限更加模糊,更加互為包使得電子技術領域各學科的界限更加模糊,更加互為包容,如模擬和數字、軟件和硬件、系統和器件、容,如模擬和數字、軟件和硬件、系統和器件、ASIC和和FPGA等。等。(4)更大規模的)更大規模的FPGA和和CPLD器件的不斷推出。器件的不斷推出。(5)電子設計成果可以)電子設計成果可以IP的方式來明確表達。的方式來明確表達。 (Intellectual Property,知識產權,往往是一個公司售給另一個,知識產權,往往是一個公司售給另一個公司的硬件設計包)公司的硬件設計包)(6)ASIC設計的標準單元已涵蓋大規模電子系統及復雜設計的標

20、準單元已涵蓋大規模電子系統及復雜IP模塊。模塊。軟硬件軟硬件IP核在電子行業各領域得到進一步確認和應用。核在電子行業各領域得到進一步確認和應用。(7)SOC(System On a Chip)或)或SOPC(System On a Programmable Chip)高效低成本設計技術的成熟。)高效低成本設計技術的成熟。(8)系統級、行為驗證級硬件描述語言,如)系統級、行為驗證級硬件描述語言,如System C、SystemVerilog等的出現,使復雜電子系統的設計特別趨于高效和等的出現,使復雜電子系統的設計特別趨于高效和簡單。簡單。1.2 EDA技術實現目標技術實現目標 利用利用EDA技術

21、進行電子系統設計的目標是:技術進行電子系統設計的目標是:(1)完成)完成專用集成電路(專用集成電路(ASIC)的設計和實現)的設計和實現(2)完成印制電路板()完成印制電路板(PCB)的設計和實現)的設計和實現(1)完成)完成專用集成電路(專用集成電路(ASIC)的設計和實現)的設計和實現,專用集,專用集成電路(成電路(ASIC)就是具有專門用途和特定功能的獨立集成)就是具有專門用途和特定功能的獨立集成電路器件。電路器件。(2)完成印制電路板()完成印制電路板(PCB)的設計和實現,包括從電路)的設計和實現,包括從電路原理圖到原理圖到PCB上的元件的布局、布線、阻抗匹配、信號完上的元件的布局、

22、布線、阻抗匹配、信號完整性分析及版級仿真,到最后的電路加工文件生成,都需整性分析及版級仿真,到最后的電路加工文件生成,都需要要EDA工具軟件輔助設計來完成。工具軟件輔助設計來完成。專用集成電路(專用集成電路(ASIC)的設計和實現分為三類:)的設計和實現分為三類:1. 可編程邏輯器件可編程邏輯器件FPGA/CPLD FPGA和和CPLD是是ASIC設計中的主流器件。設計中的主流器件。 FPGA和和CPLD設計的特點是直接面向用戶,具有極大設計的特點是直接面向用戶,具有極大的靈活性和通用性,使用方便,硬件測試和實現快捷,開發的靈活性和通用性,使用方便,硬件測試和實現快捷,開發效率高,成本低,上市

23、時間短,技術維護簡單,工作可靠性效率高,成本低,上市時間短,技術維護簡單,工作可靠性好等好等 。 FPGA和和CPLD的應用是的應用是EDA技術有機融合了軟硬件電技術有機融合了軟硬件電子設計技術、子設計技術、SOC和和ASIC設計,體現了自動設計與實現。設計,體現了自動設計與實現。 FPGA和和CPLD通常被稱為可編程通常被稱為可編程ASIC,可編程專用,可編程專用IC。 根據根據IC的實現工藝,這一類稱為掩膜(的實現工藝,這一類稱為掩膜(Mask)ASIC,或,或直接稱直接稱ASIC。 掩膜掩膜ASIC分為:分為:門陣列門陣列ASIC、標準單元、標準單元ASIC(半定制(半定制ASIC)和全

24、定制)和全定制ASIC。2. 掩膜(掩膜(Mask)ASIC3. 混合混合ASIC 混合混合ASIC主要指既具有主要指既具有FPGA的可編程功能和邏輯資源,的可編程功能和邏輯資源,同時也含有可方便調用和配置的硬件標準單元,如同時也含有可方便調用和配置的硬件標準單元,如CPU、RAM、ROM、硬件加法器、乘法器、鎖相環等。、硬件加法器、乘法器、鎖相環等。 根據根據IC的實現工藝,這一類稱為掩膜(的實現工藝,這一類稱為掩膜(Mask)ASIC,或,或直接稱直接稱ASIC。 掩膜掩膜ASIC分為:分為:門陣列門陣列ASIC、標準單元、標準單元ASIC(半定制(半定制ASIC)和全定制)和全定制ASI

25、C。 掩膜掩膜ASIC與可編程與可編程ASIC相比,可編程相比,可編程ASIC具有面向用具有面向用戶的靈活多樣的可編程性。戶的靈活多樣的可編程性。2. 掩膜(掩膜(Mask)ASIC(1)門陣列)門陣列ASIC 門陣列門陣列ASIC中包括預定制的相連的中包括預定制的相連的PMOS和和NMOS晶體晶體管行。設計中用戶可以借助管行。設計中用戶可以借助EDA工具將原理圖或硬件描述語工具將原理圖或硬件描述語言模型映射為相應門陣列晶體管配置,創建一個指定金屬互言模型映射為相應門陣列晶體管配置,創建一個指定金屬互連路徑文件,從而完成門陣列連路徑文件,從而完成門陣列ASIC開發。開發。(2)標準單元)標準單

26、元ASIC 目前大部分目前大部分ASIC設計是使用庫中不同大小的標準單元設設計是使用庫中不同大小的標準單元設計的,這類芯片稱作基于單元的集成電路(計的,這類芯片稱作基于單元的集成電路(Cell-Based Integrated Circuits, CBIC)。)。 庫中包括不同復雜性的邏輯單元:庫中包括不同復雜性的邏輯單元:SSI邏輯塊、邏輯塊、MSI邏輯邏輯塊、數據通道模塊、存儲器、塊、數據通道模塊、存儲器、IP乃至系統級模塊。乃至系統級模塊。 設計者只需利用設計者只需利用EDA軟件工具與邏輯塊描述(外部接口)軟件工具與邏輯塊描述(外部接口)打交道,不必關心深層次電路的布局細節。打交道,不必

27、關心深層次電路的布局細節。(3)全定制)全定制ASIC 在特定工藝的設計規則下,設計者對于電路的設計有完在特定工藝的設計規則下,設計者對于電路的設計有完全的控制權,如線的間隔和晶體管的大小確定。全的控制權,如線的間隔和晶體管的大小確定。3. 混合混合ASIC 混合混合ASIC主要指既具有主要指既具有FPGA的可編程功能和邏輯資源,的可編程功能和邏輯資源,同時也含有可方便調用和配置的硬件標準單元,如同時也含有可方便調用和配置的硬件標準單元,如CPU、RAM、ROM、硬件加法器、乘法器、鎖相環等。、硬件加法器、乘法器、鎖相環等。1.3 硬件描述語言硬件描述語言 硬件描述語言硬件描述語言HDL是是E

28、DA技術的重要組成部分,目前技術的重要組成部分,目前常用的常用的HDL主要有主要有VHDL、Verilog HDL、SystemVerilog和和System C。其中,。其中,Verilog、VHDL是主流硬件描述語言,是主流硬件描述語言,幾乎所有的幾乎所有的EDA工具都支持。工具都支持。1. Verilog HDL的發展的發展 Verilog HDL (簡稱簡稱Verilog)最初由最初由Gateway Design Automation 公公司司(簡稱簡稱GDA)的的Phil Moorby在在1983年創建。起初,年創建。起初,Verilog僅作為僅作為GDA公司公司Verilog-XL

29、仿真器的內部語言,用于數字邏輯的建模、仿真和驗證。仿真器的內部語言,用于數字邏輯的建模、仿真和驗證。 1989年年GDA公司被公司被Cadence公司收購。公司收購。1990年年Cadence 公司成立公司成立了了OVI(Open Verilog International)組織,公開了組織,公開了Verilog語言,并由語言,并由OVI負責促進負責促進Verilog語言的發展。語言的發展。 1995年,年,IEEE(The Institute of Electrical and Electronics Engineers)制定了制定了Verilog 的第一個國際標準,即的第一個國際標準,即I

30、EEE Std 1364-1995,即即 Verilog 1.0。 2001年,年,IEEE發布了發布了Verilog HDL的第二個標準版本的第二個標準版本(Verilog2.0),即即IEEE Std1364-2001,簡稱,簡稱Verilog-2001標準。由于標準。由于Cadence公司在公司在集成電路設計領域的影響力和集成電路設計領域的影響力和Verilog的易用性,的易用性,Verilog成為基層電路成為基層電路建模與設計中最流行的硬件描述語言。建模與設計中最流行的硬件描述語言。2. Verilog HDL的優勢的優勢 Verilog的部分語法是參照的部分語法是參照C語言的語法設立

31、的(但與語言的語法設立的(但與C有本質區別),有本質區別),因此具有因此具有C語言的優點。語言的優點。 Verilog代碼簡明扼要,可讀性好,使用靈活,且語法規定不是很嚴代碼簡明扼要,可讀性好,使用靈活,且語法規定不是很嚴謹,很容易上手。謹,很容易上手。 Verilog具有很強的電路描述和建模能力,能從多個層次對數字系統具有很強的電路描述和建模能力,能從多個層次對數字系統進行建模和描述,大大簡化了設計任務,提高了設計效率和可靠性。進行建模和描述,大大簡化了設計任務,提高了設計效率和可靠性。 Verilog支持各種模式的設計方法:自頂向下與自底向上或混合方法,支持各種模式的設計方法:自頂向下與自

32、底向上或混合方法,能適應許多電子產品生命周期縮短,需要多次重新設計以融入最新技術、能適應許多電子產品生命周期縮短,需要多次重新設計以融入最新技術、改變工藝等方面的需求。改變工藝等方面的需求。 VHDL的英文全名是的英文全名是VHSIC(Very High Speed Integrated Circuit)Hardware Description Language,是,是1983年由美國國防部創建,由年由美國國防部創建,由IEEE進一步發展并在進一步發展并在1987年作為年作為“IEEE 標準標準 1076”(IEEE Std 1076)發布。從此,發布。從此,VHDL成為硬件描述語言的業界標準

33、之一。成為硬件描述語言的業界標準之一。 自自IEEE公布了公布了VHDL的標準版本后,各的標準版本后,各EDA公司相繼推出了自己的公司相繼推出了自己的VHDL設計環境,宣布自己的設計工具支持設計環境,宣布自己的設計工具支持VHDL,此后,此后,VHDL在電子在電子設計領域得到了廣泛應用,并與設計領域得到了廣泛應用,并與Verilog一起逐步取代了其他的非標準硬一起逐步取代了其他的非標準硬件描述語言。件描述語言。 1993年,年,IEEE對對VHDL進行了修訂,從更高的抽象層次和系統描述進行了修訂,從更高的抽象層次和系統描述能力上擴展了能力上擴展了VHDL的內容,公布了新版本的內容,公布了新版本

34、VHDL,IEEE 1076-1993。 現在,現在,VHDL與與Verilog作為作為IEEE的工業標準硬件描述語言,得到眾的工業標準硬件描述語言,得到眾多多EDA公司的支持,成為了通用硬件描述語言。公司的支持,成為了通用硬件描述語言。1. VHDL的發展的發展1.4 其他常用其他常用HDL VHDL和和Verilog都具有與硬件電路和設計平臺無關的特都具有與硬件電路和設計平臺無關的特性,兩者相比各自的優勢是:性,兩者相比各自的優勢是:與與Verilog相比,相比,VHDL的優勢:的優勢:(1)VHDL的語法比的語法比Verilog更嚴謹,通過更嚴謹,通過EDA工具可自動進行工具可自動進行語

35、法檢查,容易排除許多設計中的疏忽;而語法檢查,容易排除許多設計中的疏忽;而Verilog由于語法不是由于語法不是很嚴格,有時很嚴格,有時EDA工具不能很好的查找出設計中的疏忽。工具不能很好的查找出設計中的疏忽。(2)用)用VHDL給電路建模時,具有很好的行為級和系統級描述能給電路建模時,具有很好的行為級和系統級描述能力,而力,而Verilog的行為級、系統級描述能力不如的行為級、系統級描述能力不如VHDL。2. VHDL和和Verilog的各自優勢的各自優勢(3)VHDL更能用更能用硬件的思想硬件的思想描述電路,而描述電路,而Verilog,由于,由于Verilog與與C語言相近,多數初學者語

36、言相近,多數初學者往往會以軟件的思想來描往往會以軟件的思想來描述電路,這樣明顯不對述電路,這樣明顯不對。 注意:注意:HDL是用軟件語言來描述硬件電路功能,但并不是是用軟件語言來描述硬件電路功能,但并不是指用設計軟件的思想來設計硬件電路。比如,軟硬件最典型指用設計軟件的思想來設計硬件電路。比如,軟硬件最典型的不同:軟件運行的順序性,和硬件運行的并行性;硬件中的不同:軟件運行的順序性,和硬件運行的并行性;硬件中信號傳遞的延時性等。信號傳遞的延時性等。與與Verilog相比,相比,VHDL的不足:的不足:(1)VHDL代碼比較冗長,在描述相同邏輯功能時,代碼比較冗長,在描述相同邏輯功能時,Veri

37、log的代碼比的代碼比VHDL要少。要少。(2)VHDL對數據類型匹配要求嚴格,而對數據類型匹配要求嚴格,而Verilog支持自動支持自動類型轉換。類型轉換。(3)VHDL對版圖級、管子級這些較為底層的描述級別,幾對版圖級、管子級這些較為底層的描述級別,幾乎不支持,無法直接用于電路底層建模。乎不支持,無法直接用于電路底層建模。 System Verilog是由是由Accellera(前身是(前身是OVI)開發的,在)開發的,在Verilog-2001的基礎上擴展得到的一種新的硬件描述語言,它將的基礎上擴展得到的一種新的硬件描述語言,它將Verilog語言推向了系統級和驗證級空間,提高了電路設計

38、效率。語言推向了系統級和驗證級空間,提高了電路設計效率。 System C是由是由OSCI(Open System C Initiative)組織發)組織發展的,在展的,在C+語言的基礎上擴展得到一種新的硬件描述語言,主語言的基礎上擴展得到一種新的硬件描述語言,主要用于要用于ESL(電子系統級)建模和驗證。(電子系統級)建模和驗證。 將將System C和和System Verilog組合起來,能夠提供一套從組合起來,能夠提供一套從 ESL(電子系統級)至(電子系統級)至 RTL(寄存器傳輸級)驗證的完整解決方(寄存器傳輸級)驗證的完整解決方案。案。3. System Verilog和和Sys

39、tem C1.5 HDL綜合綜合 在電子設計領域,在電子設計領域,綜合(綜合(Synthesis)的概念是:的概念是:將用行為和功能層次上(高層次)表達的電子系統轉換將用行為和功能層次上(高層次)表達的電子系統轉換為低層次上描述的電子系統,以便于系統的具體硬件實為低層次上描述的電子系統,以便于系統的具體硬件實現。現。1. 綜合的概念綜合的概念 EDA設計采用的是設計采用的是自上而下自上而下的設計過程,其中每一步都的設計過程,其中每一步都可稱為是可稱為是綜合的過程綜合的過程,即從高層次的行為描述,到底層的結構,即從高層次的行為描述,到底層的結構描述,每步都是綜合的過程。描述,每步都是綜合的過程。

40、(1)從自然語言轉換到)從自然語言轉換到Verilog / VHDL語言的算法表述,即語言的算法表述,即自然語自然語言綜合言綜合;(2)從算法表述轉換到寄存器傳輸級()從算法表述轉換到寄存器傳輸級(Register Transport Level, RTL)表述,即)表述,即行為綜合行為綜合;(3)從)從RTL級表述轉換到邏輯門(包括觸發器)的表述,即級表述轉換到邏輯門(包括觸發器)的表述,即邏輯邏輯綜合綜合;(4)從邏輯門表述轉換到版圖級表述()從邏輯門表述轉換到版圖級表述(ASIC設計),或轉換到設計),或轉換到FPGA的配置網表文件,稱為的配置網表文件,稱為版圖綜合或結構綜合版圖綜合或結

41、構綜合。 有了版圖信息就可以生產出有了版圖信息就可以生產出ASIC芯片,有了配置網表文件,就芯片,有了配置網表文件,就可以將可以將FPGA轉變成具有專門功能的電路器件。轉變成具有專門功能的電路器件。 綜合器綜合器就是能自動將高層次的表述(系統級、行為級)就是能自動將高層次的表述(系統級、行為級)轉化為低層次的表述(門級、結構級)的計算機程序。轉化為低層次的表述(門級、結構級)的計算機程序。 例如在例如在Verilog行為描述中,描述的是電路系統行為和功行為描述中,描述的是電路系統行為和功能,不是電路的具體實現。選擇電路的實現方案正是綜合器能,不是電路的具體實現。選擇電路的實現方案正是綜合器的任

42、務,綜合器會選擇一種能充分滿足各項約束條件且成本的任務,綜合器會選擇一種能充分滿足各項約束條件且成本最低的實現方案。最低的實現方案。 有了綜合器,設計者可以將精力主要集中于系統級問題有了綜合器,設計者可以將精力主要集中于系統級問題上,而不必關心低級結構設計中的細節問題,因此將減少設上,而不必關心低級結構設計中的細節問題,因此將減少設計和編程所花時間和精力,并且減少錯誤的發生。計和編程所花時間和精力,并且減少錯誤的發生。2. 綜合器綜合器 VHDL 程序 工藝庫 約束 圖表 VHDL 綜合器 圖圖1-3 VHDL綜合器運行流程綜合器運行流程 綜合器對綜合器對VHDL程序進行綜合前,必須獲得與電路

43、硬件特征相程序進行綜合前,必須獲得與電路硬件特征相關的工藝庫的信息,以及獲得優化綜合的諸多約束條件。關的工藝庫的信息,以及獲得優化綜合的諸多約束條件。 約束條件一般分為三種,即設計規則、時間約束、面積約束。約束條件一般分為三種,即設計規則、時間約束、面積約束。 注意:注意:綜合器并不支持標準綜合器并不支持標準Verilog的全部程序,只能支持其的全部程序,只能支持其部分語句,并且不同的部分語句,并且不同的HDL綜合器支持的綜合器支持的Verilog語句也不完全相語句也不完全相同,這樣對于相同的同,這樣對于相同的Verilog源代碼,不同的源代碼,不同的HDL綜合器可能綜合綜合器可能綜合出在結構

44、和功能上并不完全相同的電路系統。出在結構和功能上并不完全相同的電路系統。 VHDL 程序 工藝庫 約束 圖表 VHDL 綜合器 圖圖1-3 VHDL綜合器運行流程綜合器運行流程 (A)軟件語言設計目標流程(B)硬件語言設計目標流程C、ASM程序軟件程序編譯器COMPILERCPU指令/數據代碼:010010 100010 1100VHDL/VERILOG程序硬件描述語言綜合器COMPILER為ASIC設計提供的電路網表文件QDJQK (a) (b) SYNTHESIZER 圖圖1-2 編譯器和綜合功能比較編譯器和綜合功能比較 v 編譯器和綜合器的功能比較編譯器和綜合器的功能比較 編譯器的功能:

45、編譯器的功能:(1)編譯器將軟件程序翻譯成某種特定)編譯器將軟件程序翻譯成某種特定CPU機器代碼,這種代碼僅限于機器代碼,這種代碼僅限于這種這種CPU而不能移植,如果脫離了已有的硬件環境(而不能移植,如果脫離了已有的硬件環境(CPU),機器代碼),機器代碼將失去意義,只是被動地被特定的硬件電路所利用。將失去意義,只是被動地被特定的硬件電路所利用。(2)編譯器工作時,除了)編譯器工作時,除了CPU的硬件結構外,不需要任何與硬件相關的的硬件結構外,不需要任何與硬件相關的器件庫和工藝庫參與編譯。因而編譯器的工作單純得多,編譯過程基本器件庫和工藝庫參與編譯。因而編譯器的工作單純得多,編譯過程基本是一種

46、一一對應式的、機械轉換式的是一種一一對應式的、機械轉換式的“翻譯翻譯”行為。行為。 綜合器的功能:綜合器的功能:(1)綜合器則不同,同樣是類似的軟件代碼(如)綜合器則不同,同樣是類似的軟件代碼(如Verilog程序),綜合程序),綜合器轉化的目標是底層的電路結構網表文件,這種文件不依賴于任何特定器轉化的目標是底層的電路結構網表文件,這種文件不依賴于任何特定硬件環境,因此可以獨立地存在,并能輕易地被移植到任何通用環境中,硬件環境,因此可以獨立地存在,并能輕易地被移植到任何通用環境中,如如ASIC、FPGA等。等。(2)綜合器在將硬件描述語言表達的電路功能轉化成具體的電路結構網)綜合器在將硬件描述

47、語言表達的電路功能轉化成具體的電路結構網表過程中,具有明顯的能動性,不是機械的一一對應式的表過程中,具有明顯的能動性,不是機械的一一對應式的“翻譯翻譯”,而,而是根據設計庫、工藝庫以及預先設置的各類約束條件,選擇最優的方式是根據設計庫、工藝庫以及預先設置的各類約束條件,選擇最優的方式完成電路結構的設計。這就是說對于相同的完成電路結構的設計。這就是說對于相同的Verilog表述,綜合器可以用表述,綜合器可以用不同的電路結構實現相同的功能。不同的電路結構實現相同的功能。 如圖所示,與編譯器相比,綜合器具有更復雜的工作環境。綜合器在如圖所示,與編譯器相比,綜合器具有更復雜的工作環境。綜合器在接受接受

48、Verilog程序并準備對其綜合前,必須獲得與最終實現設計電路硬件程序并準備對其綜合前,必須獲得與最終實現設計電路硬件特征相關的工藝庫的信息,以及獲得優化綜合的諸多約束條件。一般地,特征相關的工藝庫的信息,以及獲得優化綜合的諸多約束條件。一般地,約束條件可以分為三種,即設計規則、時間約束、面積約束。通常,時間約束條件可以分為三種,即設計規則、時間約束、面積約束。通常,時間約束的優先級高于面積約束。設計優化要求,當綜合器把約束的優先級高于面積約束。設計優化要求,當綜合器把Verilog源碼翻源碼翻譯成通用原理圖時,將識別狀態機、加法器、乘法器、多路選擇器和寄存譯成通用原理圖時,將識別狀態機、加法

49、器、乘法器、多路選擇器和寄存器等。這些運算功能根據器等。這些運算功能根據Verilog源碼中的符號,如加、減、乘、除,都源碼中的符號,如加、減、乘、除,都可用多種方法實現。如加法可實現方案有多種,有的面積小,速度慢;有可用多種方法實現。如加法可實現方案有多種,有的面積小,速度慢;有的速度快,面積大。的速度快,面積大。Verilog行為描述強調的是電路的行為和功能,而不行為描述強調的是電路的行為和功能,而不是電路如何實現。選擇電路的實現方案正是綜合器的任務。綜合器選擇一是電路如何實現。選擇電路的實現方案正是綜合器的任務。綜合器選擇一種能充分滿足各項約束條件其成本最低的實現方案。種能充分滿足各項約

50、束條件其成本最低的實現方案。 現在許多綜合器還允許設計者指定在做映射優化時,綜合器應付出現在許多綜合器還允許設計者指定在做映射優化時,綜合器應付出多大多大“努力努力”。“努力努力”一般分為低、中,高三檔。一般分為低、中,高三檔。1.6 基于基于HDL的自頂向下的設計方法的自頂向下的設計方法1. 傳統的電子設計采用傳統的電子設計采用自底向上自底向上(Bottom-up)的設的設計方法計方法(1)首先確定構成系統最底層的電路元件)首先確定構成系統最底層的電路元件(確定底層使用的器件類(確定底層使用的器件類別和規格:如別和規格:如74系列的器件、某種系列的器件、某種RAM和和ROM、某類、某類CPU

51、或單片機以及或單片機以及某些專用功能芯片等)某些專用功能芯片等);(2)然后將它們組成功能模塊)然后將它們組成功能模塊(如數據采集控制模塊、信號處理模塊、(如數據采集控制模塊、信號處理模塊、數據交換和接口模塊等)數據交換和接口模塊等);(3)以此流程,逐步向上遞推,直至完成整個目標系統的設計。)以此流程,逐步向上遞推,直至完成整個目標系統的設計。(4)最后對整個系統進行系統測試與性能分析。)最后對整個系統進行系統測試與性能分析。自下而上(自下而上(Bottom-up)的設計方法)的設計方法確定底層元件確定底層元件設計各功能模塊設計各功能模塊完成整個系統設計完成整個系統設計系統測試與性能分析系統

52、測試與性能分析2. 自底向上自底向上(Bottom-up)設計方法的特點設計方法的特點(1)必須考慮系統底層硬件的可獲得性,以及它們功能特性方面)必須考慮系統底層硬件的可獲得性,以及它們功能特性方面諸多細節問題。在逐級設計和測試過程中需始終關注它們的技術諸多細節問題。在逐級設計和測試過程中需始終關注它們的技術細節和功能特性參數。細節和功能特性參數。(2)底層元器件的更換,或系統某些技術參數不滿足總體要求,)底層元器件的更換,或系統某些技術參數不滿足總體要求,或臨時需要降低系統成本,提高運行速度等,都可能使前面的工或臨時需要降低系統成本,提高運行速度等,都可能使前面的工作前功盡棄,工作又得重新開

53、始。作前功盡棄,工作又得重新開始。 可見,自底向上的設計方法是一種低效、低可靠性、費時費可見,自底向上的設計方法是一種低效、低可靠性、費時費力、靈活性差,且成本高昂的設計方案。力、靈活性差,且成本高昂的設計方案。2. 自底向上自底向上(Bottom-up)設計方法的特點設計方法的特點(1)必須考慮系統底層硬件的可獲得性,以及它們功能特性方面)必須考慮系統底層硬件的可獲得性,以及它們功能特性方面諸多細節問題。在逐級設計和測試過程中需始終關注它們的技術諸多細節問題。在逐級設計和測試過程中需始終關注它們的技術細節和功能特性參數。細節和功能特性參數。(2)底層元器件的更換,或系統某些技術參數不滿足總體

54、要求,)底層元器件的更換,或系統某些技術參數不滿足總體要求,或臨時需要降低系統成本,提高運行速度等,都可能使前面的工或臨時需要降低系統成本,提高運行速度等,都可能使前面的工作前功盡棄,工作又得重新開始。作前功盡棄,工作又得重新開始。(3)在系統設計的后期進行測試和調試,若系統設計存在問題,)在系統設計的后期進行測試和調試,若系統設計存在問題,此時只能重新設計系統。此時只能重新設計系統。 可見,自底向上的設計方法是一種低效、低可靠性、費時費可見,自底向上的設計方法是一種低效、低可靠性、費時費力、靈活性差,且成本高昂的設計方案。力、靈活性差,且成本高昂的設計方案。3. EDA技術采用技術采用自頂向

55、下自頂向下( Top-Down )的設計方法的設計方法 自頂向下的設計方法是自頂向下的設計方法是EDA技術的首選設計方法,是技術的首選設計方法,是ASIC或或FPGA開發的主要設計方法。開發的主要設計方法。 自頂向下的設計方法自頂向下的設計方法的有效應用必須基于功能的有效應用必須基于功能強大的強大的EDA工具工具,基于集系統描述、行為描述和結構描述為一體,基于集系統描述、行為描述和結構描述為一體的的硬件描述語言硬件描述語言HDL,以及基于先進的,以及基于先進的ASIC和和FPGA的制的制造工藝和開發技術造工藝和開發技術。 自頂向下的設計方法就是在整個設計流程中各設計環節自頂向下的設計方法就是在

56、整個設計流程中各設計環節逐步分解、逐步求精的過程,包括以下步驟:逐步分解、逐步求精的過程,包括以下步驟:(1)從自然語言說明到)從自然語言說明到HDL的系統行為描述;的系統行為描述;(2)從)從HDL的系統行為描述到的系統行為描述到RTL描述;描述;(3)從)從RTL描述到邏輯門級描述;描述到邏輯門級描述;(4)從門級描述到最終可以物理布線實現的底層電路;)從門級描述到最終可以物理布線實現的底層電路; 以上可以理解成是逐步以上可以理解成是逐步綜合的過程綜合的過程。(5)后期設計還包括硬件實現和測試。)后期設計還包括硬件實現和測試。邏輯門級描述邏輯門級描述RTL描述描述HDL的系統行為描述的系統

57、行為描述自然語言說明自然語言說明可以物理布線實可以物理布線實現的底層電路現的底層電路硬件實現和測試硬件實現和測試自頂向下(自頂向下(Top-Down)的設計流程)的設計流程(1)主要使用硬件描述語言()主要使用硬件描述語言(HDL)來描述系統的功能,)來描述系統的功能,再通過綜合工具將高級別模型轉化成門級模型,整個設計過再通過綜合工具將高級別模型轉化成門級模型,整個設計過程基本由計算機自動完成,人為介入的方式主要是根據仿真程基本由計算機自動完成,人為介入的方式主要是根據仿真結果和優化指標,控制邏輯綜合的方式和指向。結果和優化指標,控制邏輯綜合的方式和指向。(2)主要采用)主要采用PLD(Pro

58、grammable Logic Device)器件)器件來實現電路,設計者可以自行設計所需的功能模塊,而無需來實現電路,設計者可以自行設計所需的功能模塊,而無需受到通用元器件的限制,從而電路設計更趨合理,其體積和受到通用元器件的限制,從而電路設計更趨合理,其體積和功耗也大為縮小。功耗也大為縮小。4.自頂向下自頂向下( Top-Down )設計方法的特點設計方法的特點(3)在設計中,可以根據仿真結果來改進系統的功能,更)在設計中,可以根據仿真結果來改進系統的功能,更正設計錯誤,提高系統工作速度,減小面積耗用,降低功耗正設計錯誤,提高系統工作速度,減小面積耗用,降低功耗和成本等,或者啟用新技術器件

59、或和成本等,或者啟用新技術器件或IP核。核。(4)HDL設計的可移植性、設計的可移植性、EDA平臺的通用性以及與具體平臺的通用性以及與具體硬件結構的無關性,使得前期設計可以容易地應用于新的設硬件結構的無關性,使得前期設計可以容易地應用于新的設計項目,項目設計周期可以顯著縮短。計項目,項目設計周期可以顯著縮短。(1)主要使用硬件描述語言()主要使用硬件描述語言(HDL)來描述系統的功能,再通過綜合工)來描述系統的功能,再通過綜合工具將高級別的模型轉化成門級模型,整個設計過程基本由計算機自動完具將高級別的模型轉化成門級模型,整個設計過程基本由計算機自動完成,人為介入的方式主要是根據仿真的結果和優化

60、的指標,控制邏輯綜成,人為介入的方式主要是根據仿真的結果和優化的指標,控制邏輯綜合的方式和指向。合的方式和指向。(3)主要采用)主要采用PLD(Programmable Logic Device)器件來實現電路,)器件來實現電路,設計者可以自行設計所需的功能模塊,而無需受到通用元器件的限制,設計者可以自行設計所需的功能模塊,而無需受到通用元器件的限制,從而電路設計更趨合理,其體積和功耗也大為縮小。從而電路設計更趨合理,其體積和功耗也大為縮小。(4)早期進行仿真和修改。系統設計過程中逐層分解,逐層描述,逐層)早期進行仿真和修改。系統設計過程中逐層分解,逐層描述,逐層仿真,從而可在系統設計早期發現

溫馨提示

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

評論

0/150

提交評論