內容簡介
《FPGA技術及應用》依托重慶市教委教研教改項目(項目編號:163163)和重慶工程學院校內教改重點項目(項目編號:JY2015204),按照CDIO工程教育創新模式,結閤教育部“卓越工程師教育培養計劃”的實施原則,突齣基本理論與實際應用相結閤。通過閤理安排內容,在保證基本理論知識的前提下,兼顧傳統設計方法與軟硬件設計方法、單元電路與係統設計的關係。
《FPGA技術及應用》以Altera的FPGA為例,對FPGA內部結構做瞭深入的分析,並介紹瞭Altera公司的Modelsim仿真軟件及Quartusll開發環境。
《FPGA技術及應用》共8章。第1章FPGA入門簡介,講述可編程器件的一些基本概念、主要應用領域、相比傳統技術的優勢以及開發流程。第2章VerilogHDL的基礎知識,介紹使用*廣泛的Verilog語言的基本語法及使用方法。第3章設計驗證,講述如何驗證所電路的正確性。第4章Modelsim仿真軟件,介紹Modelsim仿真軟件的安裝流程及使用方法。第5章Quartusll綜閤工具,介紹Quartusll綜閤軟件安裝流程、使用方法及如何下載程序至開發闆上。第6章可綜閤模型設計,介紹優良的代碼書寫規範和風格。第7章有限狀態機的設計,使用2個實例著重介紹時序設計的應用。第8章FPGA係統設計實例,通過6個項目來展示FPGA的一些設計流程及在綫調試方法。
內頁插圖
目錄
第1章 FPGA入門簡介
1.1 FPGA發展曆程
1.2 FPGA與ASIC、CPLD的區彆
1.2.1 FPGA與CPLD
1.2.2 FPGA與CPLD
1.3 FPGA工作原理
1.3.1 FPGA的基本特點
1.3.2 FPGA配置模式
1.4 FPGA設計流程與設計方法
1.4.1 關鍵步驟的實現
1.4.2 自頂嚮下和自底嚮上
1.4.3 基於lP核的設計
1.5 主要FPGA/CPLD廠傢
1.6 FPGA的應用
1.7 EAD技術
1.8 本書的編排
第2章 VerilogHDL的基礎知識
2.1 硬件描述語言(HDL)概述
2.1.1 硬件描述語言的優越性
2.1.2 硬件描述語言的發展曆史
2.1.3 HDL語言的主要特徵
2.1.4 VerilogHDL與VHDL的比較
2.1.5 VerilogHDL設計流程及設計方法簡介
2.1.6 硬件描述語言新的發展
2.2 程序結構
2.3 詞法習俗
2.4 數據類型
2.4.1 物理數據類型
2.4.2 抽象數據類型
2.5 運算符和錶達式
2.5.7 其他運算符
2.5.8 運算符優先級排序
2.6 控製結構
2.6.1 選擇結構
2.6.2 重復結構
2.7 其他語句
2.8 任務和函數結構
2.9 時序控製
2.9.1 延遲控製
2.9.2 事件
2.9.3 等待語句
2.9.4 延遲定義塊
第3章 設計驗證
3.1 驗證綜述
3.1.1 驗證的概念
3.1.2 驗證和測試
3.1.3 自頂嚮下和自底嚮上的驗證方法
3.1.4 主要驗證技術
3.1.5 驗證工具介紹
3.1.6 驗證計劃和流程
3.2 功能驗證
3.2.1 驗證程序(testbench)的組成
3.2.2 實用構造testbench技術
3.3 基於斷言的驗證
3.4 時序驗證
3.4.1 靜態時序分析概述
3.4.3 假路徑和多周期路徑
第4章 Modelsim仿真軟件
4.1 Modelsim軟件安裝
4.2 Modelsim仿真方法
4.2.1 前仿真
4.2.2 後仿真
4.3 Modelsim仿真的基本步驟
4.3.1 建立庫
4.3.2 編寫與編譯測試文件
4.3.3 執行仿真
4.4 Modelsim波形
4.4.1 手動創建輸入波形
4.4.2 觀察特定信號波形
……
第5章 Quartus綜閤工具
第6章 可綜閤模型設計
第7章 有限狀態機的設計
第8章 FPGA係統設計實例
參考文獻
前言/序言
FPGA(現場可編程門陣列)是一種大規模可編程邏輯器件,在當前的電子設計領域被廣泛應用。雖然FPGA芯片的成本較高,但是它給電子係統所帶來的不可限量的速度和帶寬,及其在靈活性、小型性方麵的優勢,越來越被追求高性能、偏重定製化需求的開發者所青睞。因此,在高校開設此門課程,以適應電子設計專業的發展需要,對培養專業人纔,強化學生實踐能力意義重大。
本書依托重慶市教委教研教改項目(項目編號:163163)和重慶工程學院校內教改重點項目(項目編號:JY2015204),按照CDIO工程教育創新模式,結閤教育部“卓越工程師教育培養計劃”的實施原則,突齣基本理論與實際應用相結閤。通過閤理安排內容,在保證基本理論知識的前提下,兼顧傳統設計方法與軟硬件設計方法、單元電路與係統設計的關係。本書以Altera的FPGA為例,對FPGA內部結構做瞭深入的分析,並介紹瞭Altera公司的Modelsim仿真軟件及Quartusll開發環境。
全書共8章。第1章FPGA入門簡介,講述可編程器件的一些基本概念、主要應用領域、相比傳統技術的優勢以及開發流程。第2章VerilogHDL的基礎知識,介紹使用最廣泛的Verilog語言的基本語法及使用方法。第3章設計驗證,講述如何驗證所電路的正確性。第4章Modelsim仿真軟件,介紹Modelsim仿真軟件的安裝流程及使用方法。第5章Quartusll綜閤工具,介紹Quartusll綜閤軟件安裝流程、使用方法及如何下載程序至開發闆上。第6章可綜閤模型設計,介紹優良的代碼書寫規範和風格。第7章有限狀態機的設計,使用2個實例著重介紹時序設計的應用。第8章FPGA係統設計實例,通過6個項目來展示FPGA的一些設計流程及在綫調試方法。
全書由重慶工程學院李成勇主任統稿和審校,其中第4、5、6、7、8章由李翠錦執筆,第1、3章由硃濟宇執筆,第2章由錢雅楠執筆。另外,在本書的編寫過程中,得到瞭曾凡鑫教授的大力支持,他為本書提齣瞭許多寶貴意見,在此錶示感謝。
限於編者水平,書中難免存在不足之處,懇請各位專傢和讀者批評指正。
《集成電路設計與仿真》 內容概述: 本書旨在係統闡述集成電路(IC)設計的理論基礎、流程方法以及實際應用,為讀者構建一個完整、深入的學習框架。從最基本的半導體器件原理齣發,逐步深入到復雜的數字邏輯設計、模擬電路設計、以及物理版圖實現等關鍵環節。全書緊密結閤行業主流EDA(Electronic Design Automation)工具,通過理論講解與實例演示相結閤的方式,幫助讀者掌握現代集成電路設計所需的理論知識和實踐技能。 第一部分:集成電路基礎與設計流程 本部分將首先迴顧和鞏固集成電路設計的基石——半導體器件物理。我們將詳細講解MOSFET(金屬氧化物半導體場效應晶體管)和BJT(雙極結型晶體管)的工作原理、特性麯綫、以及關鍵參數的意義。在此基礎上,深入探討CMOS(互補金屬氧化物半導體)工藝的特點,分析其在功耗、速度和集成度方麵的優勢,為後續的電路設計打下堅實的理論基礎。 接著,本書將全麵介紹集成電路設計的整體流程,從需求分析、架構設計,到邏輯設計、仿真驗證,再到物理設計、流片製造,最後到封裝測試,層層遞進,梳理清晰。我們將重點講解不同設計階段所采用的方法論和關鍵技術,例如: 需求分析與規格定義: 如何將用戶需求轉化為精確的技術規格,是IC設計的第一步,也是至關重要的一步。 架構設計(Architecture Design): 宏觀層麵的係統劃分、模塊定義、接口設計,決定瞭芯片的整體性能和可實現性。我們將介紹一些常用的架構設計方法和權衡技巧。 邏輯設計(Logic Design): 使用硬件描述語言(HDL),如Verilog或VHDL,將抽象的邏輯功能轉化為可綜閤的電路網錶。我們將深入講解HDL的語法、常用結構、以及如何編寫高效、可綜閤的代碼。 功能仿真(Functional Simulation): 在邏輯設計階段,通過仿真器驗證設計的邏輯功能是否符閤預期。我們將詳細介紹仿真器的使用方法,波形分析技巧,以及如何編寫激勵(testbench)來全麵覆蓋設計場景。 綜閤(Synthesis): 將HDL代碼轉化為門級網錶,這一過程需要考慮時序、麵積和功耗等約束。本書將講解綜閤工具的工作原理、常用約束設置,以及如何優化綜閤結果。 靜態時序分析(Static Timing Analysis, STA): 在綜閤和布局布綫後,進行精確的時序檢查,確保電路在最高工作頻率下能夠穩定運行。我們將深入講解時序模型的建立、關鍵路徑的識彆、以及時序違例的分析和修復方法。 物理設計(Physical Design): 包括布局(Placement)、時鍾樹綜閤(Clock Tree Synthesis, CTS)、布綫(Routing)等環節,將邏輯網錶轉化為可在晶圓上製造的版圖。我們將講解這些過程的算法原理、關鍵技術和優化策略。 版圖設計規則檢查(Design Rule Checking, DRC)與電氣規則檢查(Layout Versus Schematic, LVS): 在版圖完成後,必須進行嚴格的檢查,確保版圖符閤半導體製造廠的要求,並且邏輯功能與版圖一緻。 第二部分:數字集成電路設計 本部分將專注於數字集成電路的設計方法與實踐。我們將從最基礎的組閤邏輯和時序邏輯電路齣發,逐步過渡到更復雜的數字係統設計。 組閤邏輯電路設計: 詳細講解門電路、加法器、減法器、多路選擇器、譯碼器、編碼器等基本組閤邏輯模塊的設計和Verilog/VHDL實現。 時序邏輯電路設計: 深入分析觸發器(D觸發器、JK觸發器、T觸發器)、寄存器、計數器、狀態機(有限狀態機FSM)的設計原理和實現技巧。我們將重點講解Mealy型和Moore型狀態機的區彆及其在實際應用中的設計方法。 同步與異步設計: 討論同步設計在數字係統中廣泛應用的原因,以及異步設計的一些基本概念和適用場景。 高級數字設計技術: 介紹一些更高級的設計技術,如流水綫(Pipelining)以提高性能,緩存(Cache)的設計與原理,以及數據通路(Datapath)和控製通路(Control Path)的設計方法。 特定功能模塊設計: 講解一些常見的數字功能模塊的設計,例如: 存儲器(Memory)設計: RAM(隨機訪問存儲器)和ROM(隻讀存儲器)的基本結構、接口和設計考量。 算術邏輯單元(Arithmetic Logic Unit, ALU): 復雜算術運算和邏輯運算的實現。 接口模塊設計: 如UART(通用異步收發器)、SPI(串行外設接口)、I2C(集成電路互聯總綫)等常用通信接口的設計。 低功耗設計技術(Low Power Design): 針對移動設備和高性能計算的需求,介紹時鍾門控(Clock Gating)、電源門控(Power Gating)、動態電壓頻率調整(DVFS)等低功耗設計策略。 驗證方法學(Verification Methodology): 強調驗證在IC設計中的重要性,介紹各種驗證方法,如麵嚮測試的設計(DFT),以及更高級的驗證技術,如斷言(Assertions)、隨機驗證(Random Verification)和覆蓋率(Coverage)分析。 第三部分:模擬與混閤信號集成電路設計 本部分將深入探討模擬電路和混閤信號集成電路的設計。 模擬電路基礎: 迴顧和擴展模擬電路設計的基礎知識,包括放大器(共源共柵放大器、差分放大器、運算放大器)、濾波器、振蕩器、穩壓器等基本模擬模塊的設計原理和電路結構。 CMOS模擬電路設計: 重點介紹CMOS工藝下模擬電路的設計方法,包括器件的跨導、輸齣電阻、噪聲特性等關鍵參數的分析,以及各種CMOS基本模擬電路的實現。 運算放大器設計: 詳細講解不同類型的運算放大器(如單級、多級、摺疊式)的設計,包括增益、帶寬、穩定性、共模抑製比(CMRR)、電源抑製比(PSRR)等關鍵指標的分析和優化。 數據轉換器(Data Converters): 深入研究模數轉換器(ADC)和數模轉換器(DAC)的設計原理、不同架構(如逐次逼近、流水綫、Sigma-Delta)的優缺點,以及相關的性能指標(如分辨率、采樣率、信噪比、失真)。 低噪聲與低功耗模擬電路設計: 探討如何在模擬電路設計中實現低噪聲和低功耗,這在許多應用中至關重要。 混閤信號集成電路(Mixed-Signal Integrated Circuits): 介紹數字和模擬電路如何在一個芯片上協同工作,以及混閤信號係統設計中的挑戰和解決方案。我們將討論時鍾同步、信號完整性、電源耦閤等問題。 第四部分:EDA工具與實際應用 本部分將側重於介紹集成電路設計過程中廣泛使用的EDA工具,並結閤實際應用案例進行講解。 EDA工具概覽: 介紹主流EDA廠商提供的設計工具,如Synopsys、Cadence、Mentor Graphics等,以及不同設計階段所使用的工具類彆,包括: HDL仿真器: 如VCS、ModelSim/QuestaSim。 邏輯綜閤工具: 如Design Compiler。 靜態時序分析工具: 如PrimeTime。 布局布綫工具: 如Innovus、ICC2。 版圖設計工具: 如Virtuoso。 物理驗證工具: 如Calibre。 使用EDA工具進行設計流程演示: 通過具體的項目實例,演示從RTL編碼、功能仿真、綜閤、STA、布局布綫到物理驗證的完整流程。我們將選擇一些具有代錶性的應用場景,如簡單的CPU核、嵌入式控製器、數字信號處理單元等。 實際應用案例分析: 結閤當前熱門的集成電路應用領域,如物聯網(IoT)設備、通信芯片、嵌入式係統、消費電子産品等,深入分析這些領域中集成電路設計的特點、挑戰和解決方案。我們將討論如何根據具體應用的需求,選擇閤適的架構、工藝和設計方法。 流片與製造流程簡介: 簡要介紹從版圖設計完成到最終芯片製造完成的流程,包括掩膜製作、晶圓製造、封裝和測試等環節,讓讀者對整個IC産業有一個宏觀的認識。 學習目標: 通過學習本書,讀者將能夠: 1. 理解集成電路設計的基本原理和核心概念。 2. 掌握數字和模擬電路設計的常用方法和技巧。 3. 熟練使用主流EDA工具進行IC設計流程的實踐。 4. 能夠獨立完成一些中小型集成電路的設計項目。 5. 瞭解當前集成電路設計領域的最新發展趨勢和應用方嚮。 本書適閤集成電路設計領域的初學者、在校學生、以及希望提升IC設計能力的工程師閱讀。本書力求理論與實踐相結閤,為讀者提供一條通往集成電路設計領域的堅實路徑。