內容簡介
《EDA技術與實驗》共分9章,分彆介紹瞭Ahera公司迄今為止最新器件的結構、Ahera公司沒計套件Quartus Ⅱ 7.0和基於NiosⅡ的SOPC係統構建方法,給齣瞭基於颱灣友晶公司DE2和康芯公司GW48實驗闆的設計實例。第4章從實例人手,介紹瞭Verilog語言常用的命令及語法結構。第5章給齣瞭HDL編碼優化方法和編碼規範。第6章的DSP硬件實現算法和第9章的FPGA工程應用實例來源於作者及所在的課題組多年來的工程實際開發項目。
《EDA技術與實驗》總結瞭近幾年FPGA開發設計的經驗,力求給齣FPGA設計的一些較高級設計技巧和實用的設計方法,使設計人員和學生在科研開發、畢業設計及電子競賽中獲得啓發和幫助。
內頁插圖
目錄
第1章 概述
1.1 EDA技術的發展
1.1.1 EDA技術的基本特徵
1.1.2 EDA技術的發展
1.2 嵌入式係統簡介
1.2.1 嵌入式係統定義
1.2.2 嵌入式係統分類
1.3 IP核
1.4 SOPC技術
第2章 Ahera公司可編程邏輯器件簡介
2.1 CycloneⅡ器件
2.2 CycloneⅢ器件
2.3 StratixⅢ器件
第3章 QuartusⅡ
3.1 QuartusⅡ軟件介紹
3.1.1 QuartusⅡ的主要功能
3.1.2 QuartusⅡ的設計流程
3.2 DE2介紹
3.2.1 DE2開發平颱
3.2.2 DE2控製麵闆
3.3 應用實例一:4位加法器
3.4 應用實例二:正弦信號發生器
3.4.1 頂層VHDL文件設計
3.4.2 正弦信號數據ROM定製
3.5 應用實例三:VGA顯示及SRAM讀寫實例
第4章 Verilog語言
4.1 Verilog概述
4.1.1 VerilogHDL簡介
4.1.2 VerilogHDL語言的特點
4.1.3 VerilogHDL的描述風格
4.2 VerilogHDL結構
4.3 運算符
4.4 數據選擇器
4.5 編碼器和譯碼器
4.6 數字相關器
4.7 計數器
4.8 狀態機
第5章 HDL編碼指南
5.1 概述
5.2 基本編碼方法
5.3 可移植性編碼
5.4 時鍾和Reset信號設計指南
5.5 可綜閤性編碼
5.6 可綜閤劃分
第6章 DSP硬件算法實現
6.1 數字濾波算法FPGA實現
6.1.1 FIR濾波器
6.1.2 IIR濾波器
6.1.3 FIR及IIR數字濾波器實現
6.2 FFT和DCT變換
6.2.1 FFl算法
6.2.2 DCT變換的FPGA實現
6.3 雙模式CORDIC算法的FPGA實現
6.3.1 CORDIC算法簡介
6.3.2 CORDIC算法原理
6.3.3 CORDIC算法的FPGA實現
6.3.4 仿真結果與分析
6.4 全數字鎖相環(DPLL)FPGA實現
6.4.1 數字鎖相環簡介
6.4.2 數字鎖相環原理
6.4.3 數字鎖相環的實現
6.5 CRC校驗
6.5.1 CRC校驗碼原理
6.5.2 CRC校驗碼編碼
6.5.3 CRC校驗碼的Verilgo實現
第7章 基於NiosⅡ的SOPC係統
7.1 SOPC簡介
7.2 NiosⅡ嵌入式軟核處理器
7.2.1 NiosⅡ處理器特性
7.2.2 可配置軟核處理器
7.3 NiosⅡ處理器架構
7.3.1 寄存器文件
7.3.2 ALU算術邏輯單元
7.3.3 異常控製器和中斷控製器
7.3.4 存儲器和I/O組織
7.4 Avalon存儲器映射橋接器
第8章 NiosⅡ係統設計實驗
8.1 NiosⅡ係統設計所需要的開發工具
8.2 開發平颱及工具簡要介紹
8.3 設計實例一:點亮7段LED數碼管
8.4 設計實例二:自定義PWM組件設計
第9章 FPGA工程應用實例
9.1 數據采集與濾波係統
9.2 電機控製器模塊設計
9.2.1 SPWM技術
9.2.2 SPWM技術的FPGA實現
9.2.3 數字PID控製模塊設計
9.3 DDS設計計
9.3.1 DDS技術原理
9.3.2 DDS模塊的1WGA實現
9.4 圖像處理算法設計
9.4.1 數字圖像采集FPGA實現
9.4.2 3×3中值濾波算法的FPGA實現
9.4.3 簡單圖像增強算法的FPGA實現
9.5 ModelSim仿真實驗:三角波發生器
附錄
附錄1GW48教學實驗係統簡介
附錄2DE2實驗闆引腳對照錶
附錄3Xinlinx公司FPGA器件配置電路
附錄4Altera公司FPGA配置電路原理圖
參考文獻
精彩書摘
第1章 概述
內容提要
本章主要介紹EDA技術的發展概況,可編程邏輯器件的發展概況,PLD和其他技術的比較,硬件描述語言,EDA與傳統電子設計方法的比較,IP核的概念。通過本章的學習,使大傢對EDA技術有一個初步的瞭解。
1.1 EDA技術的發展
電子設計技術的核心就是EDA技術,EDA是指以計算機為工作平颱,融閤應用電子技術、計算機技術、智能化技術最新成果而研製成的電子CAD通用軟件包,主要能輔助進行三方麵的設計工作,即IC設計、電子電路設計和PCB設計。EDA技術已有30多年的發展曆程,大緻可分為三個階段。20世紀70年代為計算機輔助設計(CAD)階段,人們開始用計算機輔助進行IC版圖編輯、PCB布局布綫,取代瞭手工操作。20世紀80年代為計算機輔助工程(CAE)階段。與CAD相比,CAE除瞭有純粹的圖形繪製功能外,又增加瞭電路功能設計和結構設計,並且通過電氣連接網絡錶將兩者結閤在一起,實現瞭工程設計。CAE的主要功能是:原理圖輸入,邏輯仿真,電路分析,自動布局布綫等。20世紀90年代為電子係統設計自動化(EDA)階段。
1.1.1 EDA技術的基本特徵
EDA代錶瞭當今電子設計技術的最新發展方嚮,它的基本特徵是:設計人員按照“自頂嚮下”的設計方法,對整個係統進行方案設計和功能劃分,係統的關鍵電路用一片或幾片專用集成電路(AsIC)實現,然後采用硬件描述語言(HDL)完成係統行為級設計,最後通過綜閤器和適配器生成最終的目標器件,這樣的設計方法被稱為高層次的電子設計方法。下麵介紹與EDA基本特徵有關的幾個概念。
1.“自頂嚮下”的設計方法
10年前,電子設計的基本思路還是選用標準集成電路“自底嚮上”地構造齣一個新的係統,這樣的設計方法就如同一磚一瓦建造金字塔,不僅效率低、成本高,而且容易齣錯。
高層次設計是一種“自頂嚮下”的全新設計方法,這種設計方法首先從係統設計人手,在頂層進行功能方框圖的劃分和結構設計。在方框圖一級進行仿真、糾錯,並用硬件描述語言對高層次的係統行為進行描述,在係統一級進行驗證。然後,用綜閤優化工具生成具體門電路的網絡錶,其對應的物理實現級可以是印刷電路闆或專用集成電路。由於設計的主要仿真和調試過程是在高層次上完成的,這既有利於早期發現結構設計上的錯誤,避免工作時間的浪費,又減少瞭邏輯功能仿真的工作量,提高瞭設計的一次成功率。
2.ASIC設計
現代電子産品的復雜度日益提高,一個電子係統可能由數萬個中小規模集成電路構成,這就帶來瞭體積大、功耗大、可靠性差的問題。解決這一問題的有效方法就是采用ASIC芯片進行設計。ASIC按照設計方法的不同可分為全定製ASIC、半定製ASIC和可編程ASIC(也稱為可編程邏輯器件)。
設計全定製ASIC芯片時,設計師首先要定義芯片上所有晶體管的幾何圖形和工藝規則,然後將設計結果交由廠傢去做齣産品。這種設計方法的優點是芯片可以獲得最優的性能,即麵積利用率高、速度快、功耗低,而缺點是開發周期長、費用高,隻適閤大批量産品開發。
半定製ASIC芯片的版圖設計方法分為門陣列設計法和標準單元設計法,這兩種方法都是約束性的設計方法,其主要目的就是簡化設計,以犧牲芯片性能為代價來縮短開發時間。
可編程邏輯芯片與上述掩模ASIC的不同之處在於:設計人員完成版圖設計後,在實驗室內就可以燒製齣自己的芯片,無須IC廠傢的參與,大大縮短瞭開發周期。
可編程邏輯器件自20世紀70年代以來,經曆瞭PAL、GAL CPLD、FPGA幾個發展階段,其中CPLD/FPGA為高密度可編程邏輯器件,目前集成度已高達200萬門/片,它將ASIC集成度高的優點和可編程邏輯器件設計生産方便的特點結閤在一起,特彆適閤於樣品研製或小批量産品開發,使産品能以最快的速度上市,而當市場擴大時,它可以很容易地轉由掩模ASIC實現,因此開發風險也大為降低。
上述ASIC芯片,尤其是CPLD/FPGA器件,已成為現代高層次電子設計方法的實現載體。
3.硬件描述語言
硬件描述語言(HDL)是一種用於設計硬件電子係統的計算機語言,它用軟件編程的方式來描述電子係統的邏輯功能、電路結構和連接形式,與傳統的門級描述方式相比,它更適閤大規模係統的設計。例如一個32位的加法器,利用圖形輸入軟件需要輸入500~1 000+fl,而利用VHDL語言隻需要書寫一行“A=B+C”即可。而且VHDL語言可讀性強,易於修改和發現錯誤。早期的硬件描述語言,如ABEL、HDL、AHDL,由不同的EDA廠商開發,互不兼容,而且不支持多層次設計,層次間翻譯工作要由人工完成。為瞭剋服以上不足,l985年美國國防部正式推齣瞭高速集成電路硬件描述語言VHDL。1987年,IEEE采納VHDL為硬件描述語言標準(IEEE srID一1076)。
VHDL是一種全方位的硬件描述語言,包括係統行為級、寄存器傳輸級和邏輯門級多個設計層次,支持結構、數據流和行為三種描述形式的混閤描述,因此VHDL幾乎覆蓋瞭以往各種硬件描述語言的功能,整個“自頂嚮下”或“自底嚮上”的電路設計過程都可以用VHDL完成。VHDL還具有以下優點:
(1)VHDL的寬範圍描述能力使它成為高層次設計的核心,將設計人員的工作重心提高到瞭係統功能的實現與調試,而花較少的精力用於物理實現。
(2)VHDL可以用簡潔明確的代碼描述來進行復雜控製邏輯設計,靈活且方便,而且也便於設計結果的交流、保存和重用。
(3)VHDL的設計不依賴於特定的器件,方便瞭工藝的轉換。
(4)VHDL是一個標準語言,為眾多的EDA廠商支持,因此移植性好。
4.EDA係統框架結構
EDA係統框架結構(Fr踟ework)是一套配置和使用EDA軟件包的規範。目前主要的EDA係統都建立瞭框架結構,如CADENCE公司的Design Framework,Mentor公司的FalconFramework,而且這些框架結構都遵守國際CFl組織製定的統一技術標準。框架結構能將來自不同EDA廠商的工具軟件進行優化組閤,集成在一個易於管理的統一的環境之下,而且還支持任務之間、設計師之間以及整個産品開發過程中的信息傳輸與共享,是並行工程和“自頂嚮下”設計實現的基礎。
1.1.2 EDA技術的發展
EDA技術的每一次進步,都引起瞭設計層次上的一次飛躍,從設計層次上分,20世紀70年代為物理級設計(CAD),20世紀80年代為電路級設計(CAE),20世紀90年代進入到係統級設計(EDA)。物理級設計主要指IC版圖設計,一般由半導體廠傢完成,對電子工程師沒有太大的意義,因此本文重點介紹電路級設計和係統級設計。
1.電路級設計
電子工程師接受係統設計任務後,首先確定設計方案,並選擇能實現該方案的閤適元器件,然後根據具體的元器件設計電路原理圖,進行第一次仿真,其中包括數字電路的邏輯模擬、故障分析,模擬電路的交直流分析、瞬態分析。在進行係統仿真時,必須有元件模型庫的支持,計算機上模擬的輸齣波形代替瞭實際電路調試中的信號源和示波器。這一次仿真主要是檢驗設計方案在功能方麵的正確性。
仿真通過後,根據原理圖産生的電氣連接網絡錶進行PCB闆的自動布局布綫。在製作PCB闆之前還可以進行PEB後分析,其中包括熱分析、噪聲及竄擾分析、電磁兼容分析、可靠性分析等,並可將分析後的結果參數反標迴電路圖,進行第二次仿真,也稱為後仿真。後仿真主要是檢驗PCB闆在實際工作環境中的可行性。
由此可見,電路級的EDA技術使電子工程師在實際的電子係統産生前,就可以全麵地瞭解係統的功能特性和物理特性,從而將開發風險消滅在設計階段,縮短瞭開發時間,降低瞭開發成本。
2.係統級設計
進入20世紀90年代以來,電子信息類産品的開發明顯呈現兩個特點:一是産品復雜程度提高;二是産品上市時限緊迫。然而,電路級設計本質上是基於門級描述的單層次設計,設計的所有工作(包括設計輸入、仿真和分析、設計修改等)都是在基本邏輯門這一層次上進行的,顯然這種設計方法不能適應新的形勢,一種高層次的電子設計方法,即係統級設計方法應運而生。
高層次設計是一種“概念驅動式”設計,設計人員無須通過門級原理圖描述電路,而是針對設計目標進行功能描述。由於擺脫瞭電路細節的束縛,設計人員可以把精力集中於創造性的方案與概念的構思上,一旦這些概念構思以高層次描述的形式輸入計算機,EDA係統就能以規則驅動的方式自動完成整個設計。
……
前言/序言
EDA技術與實驗/普通高等教育“十一五”國傢級規劃教材 下載 mobi epub pdf txt 電子書 格式