FPGA現代數字系統設計及套用

FPGA現代數字系統設計及套用

《FPGA現代數字系統設計及套用》是2015年清華大學出版社出版的圖書,作者是張德學、張小軍、郭華、陳新華。

基本介紹

  • 書名:FPGA現代數字系統設計及套用
  • 作者:張德學、張小軍、郭華、陳新華
  • ISBN:9787302388562
  • 出版社:清華大學出版社
  • 出版時間:2015年6月1日
  • 裝幀:平裝
  • 開本:16開
  • 版次:1
內容簡介,圖書目錄,

內容簡介

隨著EDA技術和工具的發展,現代數字系統的設計思想、設計工具和實現方式均發生了深刻的變化,基本設計流程主要包括: 硬體描述語言(HDL)輸入; 仿真驗證設計功能; 將HDL綜合為門級網表; 靜態時序分析驗證時序; 後端ASIC或者FPGA實現。驗證方法學、低功耗設計也是熱點問題。隨著系統規模增大,將整個系統在單片系統上實現(即片上系統,SoC)已逐漸成為主流。本書根據工程實踐與教學經驗,採用最新參考流程,指導讀者完成大規模複雜系統的設計、驗證和FPGA實現。
本書注重實踐,配套教學PPT與全部實例代碼,詳細演示各項技術,指導讀者動手操作,對電子信息類學生系統掌握現代數字系統設計有重要的參考價值。

圖書目錄

第1章現代數字系統設計簡介
1.1現代數字系統設計流程
1.2FPGA/CPLD原理
1.2.1乘積項技術原理
1.2.2CPLD原理
1.2.3查找表技術原理
1.2.4FPGA原理
1.2.5FPGA與CPLD簡要比較
1.3商用FPGA/CPLD器件簡介
第2章Verilog標準與基本語法
2.1Verilog HDL發展歷史
2.2Verilog IEEE Standard 13641995標準基本語法
2.2.1標識符
2.2.2注釋
2.2.3四值邏輯
2.2.4數字表達
2.2.5字元串
2.2.6數據類型
2.2.7內建基本門
2.2.8連續賦值assign語句
2.2.9過程賦值initial和always語句
2.2.10運算
2.2.11if語句
2.2.12case、casex和casez語句
2.2.13循環控制語句
2.2.14編譯指示語句
2.2.15時延
2.2.16系統任務
2.2.17function與task
2.2.18參數
2.3Verilog IEEE Standard 1364更新標準重要特性簡介
2.3.1敏感列表
2.3.2多維數組
2.4Verilog建模
2.4.1可綜合與不可綜合語法
2.4.2層次化和模組化設計方法
2.5Verilog代碼書寫
2.5.1Verilog代碼編寫推薦工具
2.5.2Verilog模組基本結構
2.5.3實例化方法
2.5.4層次命名
2.6簡單Testbench設計
2.6.1組合電路Testbench基本結構
2.6.2時序電路Testbench基本結構
2.6.3文本界面的Testbench
2.7Verilog實例
2.7.1Lab1: 門級電路設計與仿真
2.7.2Lab2: 簡單時序電路設計與仿真
2.7.3Lab3: 文本界面的Testbench
2.7.4Lab4: 38解碼器
2.7.5Lab5:全加器
2.7.6Lab6:計數器
2.8Verilog常見問題
2.8.1數字仿真器基本原理
2.8.2阻塞賦值與非阻塞賦值
2.8.3$display、$strobe和$monitor比較
2.8.4#0延時
2.8.5競爭條件
2.8.6仿真與綜合對部分語法的不同理解
2.8.7雙向連線埠的仿真
2.8.8組合邏輯迴環
2.8.9'timescale問題
第3章Modelsim仿真
3.1仿真簡介
3.2Modelsim簡介
3.3Modelsim使用方式
3.3.1命令行方式
3.3.2腳本方式
3.3.3qverilog單步執行方式
3.4系統任務
3.5VCD輸出
3.6SDF標註
3.7測試覆蓋率
第4章Verdi使用
4.1Verdi簡介
4.2Modelsim與Verdi聯合調試流程
4.3FSDB格式波形導出
4.4Verdi使用實例
第5章Quartus Ⅱ使用
5.1Quartus Ⅱ簡介
5.2FPGA開發流程
5.2.1流程簡介
5.2.2創建項目
5.2.3設定約束
5.2.4綜合適配
5.2.5下載驗證
5.3功能仿真與時序仿真
第6章TimeQuest時序分析
6.1時序簡介
6.2動態時序分析與靜態時序分析
6.3基本時序分析模型
6.4SDC簡介
6.5時序約束與時序分析技術
6.5.1時鐘約束
6.5.2輸入延時
6.5.3輸出延時
6.5.4組合邏輯延時
6.6TimeQuest工具簡介
6.7TimeQuest使用
6.7.1TimeQuest使用流程
6.7.2TimeQuest使用舉例
6.8時序例外的約束與分析
6.8.1false path
6.8.2multicycle path多周期路徑
6.8.3set_max_delay和set_min_delay
第7章Synplify Pro使用
7.1Synplify工具簡介
7.2Quartus Ⅱ與Synplify Pro聯合使用流程
7.2.1Synplify Pro與Quartus Ⅱ獨立運行
7.2.2Quartus Ⅱ中調用Synplify Pro
7.2.3Synplify Pro中調用Quartus Ⅱ
第8章Verilog高級設計
8.1編碼風格
8.1.1避免生成多餘latch
8.1.2資源共享
8.1.3避免同時使用時鐘雙沿
8.2編碼風格檢查
8.3自檢測Testbench設計
8.4FSM設計
8.4.1FSM分類
8.4.2兩段式FSM設計
8.4.3三段式FSM設計
8.4.4FSM狀態編碼
8.5多時鐘域設計
8.5.1亞穩態
8.5.22DFF同步器
8.5.3OpenLoop與ClosedLoop同步器
8.5.4多個控制信號的同步電路設計
8.5.5數據信號的同步電路設計
8.6復位信號處理
8.7PLI/VPI編程
8.7.1仿真器擴展接口發展歷史
8.7.2VPI簡介
8.7.3註冊systf
8.7.4VPI實例1: 系統任務hello
8.7.5回調callbacks
8.7.6VPI實例2: 系統函式random
8.7.7object存取方法
8.7.8VPI實例3: 顯示所有nets
第9章低功耗設計
9.1功耗來源
9.2基於FPGA的功耗估算
9.3低功耗設計方法
9.3.1門控時鐘
9.3.2運算元隔離
9.4工具選項
第10章SOPC系統
10.1SOPC概念
10.2SOPC Builder簡介
10.3Avalon匯流排
10.4NiosⅡ處理器簡介
10.5SOPC開發流程
10.6SOPC最小系統硬體開發
10.7NiosⅡ軟體開發
10.7.1NiosⅡ軟體開發簡介
10.7.2NiosⅡ IDE使用流程: LED實例
10.8基於NiosⅡ的SOPC系統上μCLinux移植
10.8.1硬體設計
10.8.2軟體開發環境
10.8.3NiosⅡ交叉開發工具鏈的構建
10.8.4硬體信息傳遞
10.8.5核心與應用程式配置
10.8.6系統測試
10.8.7網路套用
10.9Avalon匯流排IP核的開發
10.9.1Avalon匯流排功能模型
10.9.2Avalon匯流排IP核開發基本框架
10.9.3Avalon匯流排IP核仿真
10.9.4Avalon匯流排IP核集成
10.9.5Avalon匯流排IP核測試
10.10uboot移植與使用
10.10.1uboot移植
10.10.2uboot使用
第11章綜合設計: 基於OR1200的SoC系統構建
11.1Wishbone匯流排
11.2構建基於OR1200的最小SoC系統
11.2.1系統硬體框圖
11.2.2部件簡介
11.2.3系統構建
11.2.4or32交叉開發工具鏈
11.2.5軟體開發
11.2.6系統軟硬體聯合仿真
11.3基於Wishbone匯流排的IP核開發
11.3.1Wishbone匯流排功能模型
11.3.2Wishbone匯流排IP核開發基本框架
11.3.3Wishbone匯流排IP核仿真
11.3.4Wishbone匯流排IP核集成
11.3.5Wishbone匯流排IP核測試
11.4構建基於OR1200的實用SoC系統
11.4.1系統硬體框圖
11.4.2uart16550
11.4.3flash控制器
11.4.4sdram控制器
11.4.5uboot移植
11.4.6dm9000a網路接口
11.4.7Linux移植
附錄rtl_to_gate工具
參考文獻

相關詞條

熱門詞條

聯絡我們