《深入淺出玩轉FPGA(第3版)》是2017年5月北京航空航天大學出版社出版的圖書,作者是吳厚航。
基本介紹
- 中文名:深入淺出玩轉FPGA(第3版)
- 作者:吳厚航
- 出版時間:2017年5月
- 出版社:北京航空航天大學出版社
- ISBN:9787512423794
- 定價:55 元
- 開本:16 開
- 裝幀:平裝
內容簡介,圖書目錄,
內容簡介
本書收集整理了作者在FPGA項目實踐中的經驗點滴。書中既有常用FPGA設計方法和技巧的探討,引領讀者掌握FPGA設計的精髓;也有很多生動的項目案例分析,幫助讀者加深對重要知識點的理解,並且這些案例大都以特定的工程項目為依託,有一定的借鑑價值。此外,本書還有多個完整的項目工程實例,讓讀者從系統角度理解FPGA的開發流程。本書從工程實踐出發,旨在引領讀者學會如何在FPGA的開發設計過程中發現問題、分析問題並解決問題。本書的主要讀者對象為電子、計算機、控制及信息等相關專業的在校學生、從事FPGA/CPLD開發設計的電子工程師以及所有電子設計製作的愛好者們。
圖書目錄
第一部分 基礎普及
筆記1 初識FPGA
一、關於FPGA的一些基本概念
二、關於FPGA的基本結構
筆記2 套用領域
一、邏輯黏合與實時控制
二、信號採集處理與協定實現
三、原型驗證系統、片上系統與其他套用
筆記3 開發流程
一、需求分析到模組劃分
二、設計輸入到綜合最佳化
三、實現到時序收斂
四、仿真測試到板級調試
第二部分 基本語法
筆記4 語法學習的經驗之談
筆記5 可綜合的語法子集
一、模組聲明類語法:module…endmodule
二、連線埠聲明:input,output,inout
三、參數定義:parameter
四、信號類型:wire,reg等
五、比較判斷:if…else,case…default…endcase
六、循環語句:for
七、任務定義:taskendtask
八、連續賦值:assign,問號表達式(?:)
九、always模組
十、運算操作符
十一、賦值符號:=和=
筆記6 代碼書寫規範
一、代碼書寫規範
二、標識符
三、格式
四、注釋
筆記7 代碼風格
一、代碼風格概述
二、暫存器電路的設計方式
三、同步以及時鐘的設計原則
四、雙向引腳的控制代碼
五、提升系統性能的代碼風格
第三部分 設計技巧與思想
筆記8 漫談狀態機設計
一、狀態機的基本概念
二、3種不同狀態機寫法
筆記9 復位設計
一、異步復位與同步復位
二、復位與亞穩態
三、異步復位、同步釋放
四、PLL配置後的復位設計
筆記10 FPGA重要設計思想及工程套用
一、速度和面積互換原則
二、桌球操作及串/並轉換設計
三、流水線設計
四、邏輯複製與模組復用
五、模組化設計
六、時鐘設計技巧
筆記11 基於FPGA的跨時鐘域信號處理
一、同步設計思想
二、單向控制信號檢測
三、專用握手信號
四、搞定亞穩態
五、藉助於存儲器
第四部分 仿真測試
筆記12 簡單的Testbench設計
一、Testbench概述
二、基本Testbench的搭建
筆記13 Testbench書寫技巧
一、封裝有用的子程式
二、關於變數的定義
三、HDL的並行性
四、結構化Testbench
五、讀/寫紊亂狀態
六、防止同時調用task
筆記14 測試用例設計
一、模擬串口自收發通信
二、乘法器全覆蓋測試
三、可重用MCU讀/寫設計
第五部分 時序分析
筆記15 時序分析基礎
一、基本的時序分析理論
二、時鐘、建立時間和保持時間
三、基本時序路徑分析
四、reg2reg路徑的時序分析
筆記16 reg2pin時序分析案例
筆記17 pin2reg時序分析案例
筆記18 基於TimeQuest的時序分析
一、從Technology Map Viewer分析Clock Setup Slack
二、基於TimeQuest的reg2reg之Tb分析
三、添加時序例外
四、多周期約束的基本用法
五、QuartusⅡ流水線均衡負載設定實例
六、讀SRAM時序約束分析
七、源同步接口的時序模型
八、recovery時序最佳化一例
九、基於Chip Planner的時序最佳化一例
第六部分 實踐經驗與感悟
筆記19 系統架構思想
一、FPGA到底能做什麼
二、DMA無處不在
三、圖片顯示速度測試報告
四、仲裁邏輯設計要點
五、硬體加速:用起來很美
六、數據吞吐量預估一例
七、秒殺FPGA片間通信
八、FPGA+CPU:並行處理大行其道
筆記20 實踐套用技巧
一、被綜合掉的暫存器
二、Vcrilog中宏定義位寬頻來的問題
三、Verilog代碼可移植性設計
四、Cyclone器件全局時鐘盡在掌控
五、CycloneⅢ原型開發調試
六、M4K使用率
七、榨乾FPGA片上存儲資源
八、存儲器實現方式轉換
九、關於MAXⅡ上電和復位的一點討論
十、基於A1tera FPGA的LVDS配置實例
十一、用FPGA的差分輸入實現A/D轉換
十二、守株待兔,收效顯著
筆記21 板級調試
一、復用引腳,陷阱多多
二、EPCS晶片的信號完整性問題
三、都是I/O弱上拉惹的禍
四、被忽略的硬體常識——I/O電氣特性
五、PLL專用輸出引腳帶來的反思
六、毛刺濾波的一些方法
七、基於FPGA的LVDS差分阻抗設計套用實例
八、使用FPGA時鐘展頻技術搞定RE測試
第七部分 項目案例
筆記22 DIY邏輯分析儀
一、背景介紹
二、功能需求及模組劃分
三、數據採集、觸發及存儲
四、基於VGA的顯示界面設計
筆記23 DIY數碼相框
一、背景介紹
二、功能需求及模組劃分
三、SPI接口控制
四、SD卡數據存儲結構與FAT16檔案系統
五、SD卡初始化及讀操作
六、SDRAM控制器設計
七、BMP格式圖片顯示
第八部分 網路雜文
筆記24 苦練基本功
一、datasheet要看原版
二、開發工具要熟練
三、焊接功底要紮實
四、不要厭煩寫文檔
筆記25 永遠忠於年輕時的夢想
筆記26 年輕正當時
筆記27 FPGA工程師:持守夢想or屈於現實
參考文獻