FPGA 設計實戰演練 (高級技巧篇) FPGA设计实战演练(高级技巧篇)

王敏志

  • 出版商: 清華大學
  • 出版日期: 2015-10-01
  • 定價: $330
  • 售價: 8.5$281
  • 語言: 簡體中文
  • 頁數: 309
  • 裝訂: 平裝
  • ISBN: 7302404437
  • ISBN-13: 9787302404439
  • 相關分類: FPGA

下單後立即進貨 (約4週~6週)

買這商品的人也買了...

相關主題

商品描述

<內容簡介>

    現代FPGA的結構越來越複雜,多時鐘域的設計現在已是常態。對於功能電路來說,複位結構都必不可少。在同步邏輯設計中如何很好地處理異步複位,甚至在多時鐘域之間傳遞(異步)複位信號也是邏輯工程師經常面臨的挑戰。王敏志編著的《FPGA設計實戰演練(高級技巧篇)》除專門介紹了上述電路的設計方法外,還介紹了狀態機的設計。在介紹這些通用電路結構的基礎上,還介紹了代碼優化以及如何對設計進行綜合與佈局布線優化方面的相關內容。
    本書可供通信工程、電子工程、電腦、微電子等專業並有一定FPGA開發基礎的在校大學生、研究生參考,也可作為硬件工程師、FPGA工程師的工具書。
作者介紹
編者:王敏志
    王敏志,曾就職於多家科研院所,從事過雷達、通信以及醫療電子方面的研發工作。在電子期刊網站,多以coyoo、湘攸客為名發布技術文章或學習博客。參與過多型艦載雷達的研發工作,主要負責數字電路方面的開發,包括電路設計、DSP以及FPGA編程;後從事Alte ra代理商現場技術支撐工作多年。目前專心投入研發工作。方向是數字醫療開發、派特(PET)的數字信號處理部分以及基於FPGA的TDC實現。

<目錄>

第1章  從PCB開始研究FPGA設計問題
  1.1  基於FPGA的高速電路板設計
    1.1.1  PCB材料選擇
    1.1.2  PCB上的傳輸線走線
    1.1.3  阻抗計算
    1.1.4  降低串擾和維持信號完整性的布線方法
  1.2  FPGA的電源供電
    1.2.1  供電要求
    1.2.2  PCB設計的電源和地疊層分佈
  1.3  退耦電容
    1.3.1  為何需要退耦電容
    1.3.2  計算電容值
    1.3.3  電容的擺放
  1.4  小結
第2章  如何處理邏輯設計中的時鐘域
  2.1  PLL對時鐘域的管理
  2.2  單比特信號跨時鐘域的同步處理
    2.2.1  亞穩態及其危害
    2.2.2  處理亞穩態的經典辦法——雙觸發
    2.2.3  使用三級觸發器對亞穩態進行同步處理
    2.2.4  如何同步快速信號到慢速時鐘域
  2.3  多比特信號跨時鐘域同步處理
    2.3.1  多比特信號融合
    2.3.2  多周期路徑規劃
  2.4  使用FIFO結構處理多比特跨時鐘域信號
  2.5  多時鐘域設計分區劃分
    2.5.1  在時鐘邊界劃分分區
    2.5.2  多時鐘域分區劃分後的靜態時序分析
    2.5.3  對多周期規劃邏輯設計進行分區劃分
  2.6  設計中的門控時鐘行波時鐘的處理
    2.6.1  衍生時鐘處理指導原則一
    2.6.2  衍生時鐘處理指導原則二
    2.6.3  衍生時鐘處理指導原則三
    2.6.4  衍生時鐘處理的其他方法
  2.7  小結
第3章  正確分析衍生時鐘
  3.1  實例演示門控時鐘分析處理
    3.1.1  時鐘反相生成的時鐘
    3.1.2  時鐘經過緩衝後生成的時鐘
    3.1.3  經過使能處理後的時鐘
    3.1.4  時鐘多路選擇器輸出的時鐘
    3.1.5  經外部反饋回來的時鐘
  3.2  實例演示衍生時鐘的分析和處理
    3.2.1  觸發器切換生成的時鐘
    3.2.2  由行波計數器生成的時鐘
    3.2.3  由同步計數器生成的時鐘
    3.2.4  由PLL生成的時鐘
  3.3  小結
第4章  複位電路的實現及其時序分析處理
  4.1  同步複位設計處理

  4.2  異步複位設計處理
  4.3  異步複位同步化(異步複位同步釋放設計處理)
  4.4  Recovery和Removal分析
    4.4.1  什麼是Recovery和Removal分析
    4.4.2  什麼是Recovery和Removal故障
    4.4.3  為何總是建議使用異步複位
    4.4.4  分析並解決Recovery故障
  4.5  小結
第5章  如何寫好狀態機
  5.1  狀態機的特定及常見問題
  5.2  如何選擇狀態機的編碼方式
  5.3  合理選擇及使用單進程或多進程來設計狀態機
    5.3.1  多進程狀態機
    5.3.2  單進程狀態機
    5.3.3  狀態機的比較
  5.4  設計綜合工具能夠識別的狀態機
    5.4.1  採用Verilog編寫
    5.4.2  採用VHDL編寫
  5.5  小結
第6章  如何在書寫代碼時進行速度優化
  6.1  邏輯設計中速度的概念
  6.2  時序收斂的早期考慮
  6.3  代碼編寫過程中時刻考慮時序優化
    6.3.1  編寫時序收斂代碼的總體規則
    6.3.2  通過減少關鍵路徑上的組合邏輯單元數來優化時序
    6.3.3  適當進行邏輯複製以優化設計速度
    6.3.4  在組合邏輯中插入寄存器優化時序
    6.3.5  通過寄存器平衡優化時序
    6.3.6  使用並行結構優化時序
    6.3.7  通過消除代碼中的優先級優化速度
  6.4  小結
第7章  如何在書寫代碼時進行面積優化
  7.1  優化設計面積——操作符平衡
  7.2  優化設計面積——打破設計流水
  7.3  優化設計面積——資源共享
    7.3.1  在互斥操作中共享操作符
    7.3.2  共享表達式
    7.3.3  共享邏輯功能模塊
  7.4  複位對設計面積的影響
  7.5  從器件角度理解如何節省資源
    7.5.1  利用廠家原語進行面積優化
    7.5.2  巧用觸發器的控制埠
    7.5.3  多路選擇器優化
  7.6  小結
第8章  代碼優化設計實例分析
  8.1  對設計時序進行優化的實例分析
    8.1.1  時序優化實例一:同步電路時序分析
    8.1.2  時序優化實例二:異步電路及時序例外分析
    8.1.3  時序優化實例三:利用PLL對設計進行時序優化
  8.2  修改代碼優化面積具體實例分析

  8.3  小結
第9章  如何編寫可綜合代碼
  9.1  普通if和case語句可綜合代碼書寫規則
    9.1.1  基本的if語句
    9.1.2  簡單的case語句
  9.2  如何調整if和case語句中關鍵信號的路徑
    9.2.1  簡單、多個並行if語句的情況
    9.2.2  單個if語句的情況
    9.2.3  if語句嵌套case語句的情況
    9.2.4  case語句嵌套if語句的情況
  9.3  提高設計性能的代碼技巧
    9.3.1  通過複製數據路徑提高設計性能
    9.3.2  如何更好地處理if條件語句中的算術操作
  9.4  代碼可綜合常用指導原則
    9.4.1  避免創建不必要的鎖存器
    9.4.2  進程中的敏感列表一定要完備
    9.4.3  for循環的使用以及避免組合邏輯迴環
    9.4.4  阻塞和非阻塞賦值
    9.4.5  可綜合代碼設計對時鐘和複位的要求
  9.5  小結
第10章  綜合以及佈局布線優化
  10.1  綜合級速度與面積優化設置
  10.2  使用設計助手和優化顧問
  10.3  對設計執行早期時序估算
  10.4  綜合網表優化
  10.5  物理綜合
    10.5.1  物理綜合概述
    10.5.2  針對性能的物理綜合優化選項
    10.5.3  針對佈局布線的物理綜合優化選項
  10.6  瞭解並理解佈局布線工具及其對設計的優化
    10.6.1  可以幫助佈局布線的一些綜合建議
    10.6.2  時序約束及其優化
    10.6.3  優化I/O時序
    10.6.4  優化設計面積
  10.7  瞭解邏輯單元所見即所得結構
    10.7.1  邏輯單元結構
    10.7.2  布線延時與布線距離以及布線規則的關係
    10.7.3  綜合網表建議
    10.7.4  綜合及優化
  10.8  小結
第11章  預先布圖規劃
  11.1  增量編譯
    11.1.1  增量編譯簡介
    11.1.2  使用增量編譯的設計流程
  11.2  為何要對設計進行分區和布圖規劃
  11.3  對設計進行分區劃分
    11.3.1  設計分區劃分宏觀考慮因素
    11.3.2  設計分區劃分指導原則
    11.3.3  如何對第三方設計進行分區劃分
    11.3.4  檢查設計分區的質量

    11.3.5  從底層導入設計時如何導入SDC約束
  11.4  對設計進行預先布圖規劃的危害
  11.5  布圖規劃
    11.5.1  布圖規劃簡介
    11.5.2  布圖規劃佈局指導原則
    11.5.3  實際應用實例推薦的設計流程
  11.6  小結
參考文獻