出版時(shí)間:2012-4 出版社:電子工業(yè)出版社 作者:湯琦,蔣軍敏 編著
內(nèi)容概要
《Xilinx
FPGA高級(jí)設(shè)計(jì)及應(yīng)用》用簡(jiǎn)潔的語言向讀者展示了FPGA高質(zhì)量和可靠性設(shè)計(jì)中必須掌握的概念、思想和設(shè)計(jì)方法,如FPGA設(shè)計(jì)思想、高速數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)、高級(jí)配置管理、空間應(yīng)用可靠性設(shè)計(jì)、分區(qū)設(shè)計(jì)和高效測(cè)試系統(tǒng)設(shè)計(jì)等。本書來源于工程實(shí)際,選取的專題都是實(shí)際工程開發(fā)中必須面對(duì)、難度很高的問題。作者結(jié)合多年的工作經(jīng)驗(yàn)編寫了本書,書中深入剖析了其實(shí)現(xiàn)原理和技術(shù)細(xì)節(jié),并提供了使用方法和實(shí)例。
書籍目錄
第1章 概述
1.1 可編程邏輯器件與PLD開發(fā)工具
1.1.1 可編程邏輯器件
1.1.2 可編程邏輯器件的發(fā)展歷史
1.1.3 PLD開發(fā)工具
1.2 FPGA工作原理與開發(fā)流程
1.3 可編程技術(shù)
1.3.1 SRAM編程技術(shù)
1.3.2 Flash/E2PROM編程技術(shù)
1.3.3 反熔絲編程技術(shù)
1.3.4 編程技術(shù)比較
1.4 FPGA芯片結(jié)構(gòu)
1.4.1 可編程輸入/輸出單元(IOB)
1.4.2 可配置邏輯塊(CLB)
1.4.3 數(shù)字時(shí)鐘管理模塊(DCM)
1.4.4 嵌入塊式RAM(BRAM)
1.4.5 布線資源
1.4.6 內(nèi)嵌功能單元
1.4.7 內(nèi)嵌專用硬核
1.4.8 軟核、硬核及固核的概念
1.5 Xilinx公司FPGA介紹
1.5.1 Spartan系列
1.5.2 Virtex系列
第2章 FPGA設(shè)計(jì)思想
2.1 可綜合設(shè)計(jì)思想
2.1.1 VHDL語言概述
2.1.2 設(shè)計(jì)層次
2.1.3 可綜合描述規(guī)范
2.1.4 組合邏輯電路可綜合設(shè)計(jì)
2.1.5 時(shí)序邏輯電路可綜合設(shè)計(jì)
2.2 面積與速度互換思想
2.2.1 利用層次化設(shè)計(jì)控制設(shè)計(jì)結(jié)構(gòu)
2.2.2 if語句和case語句控制實(shí)現(xiàn)結(jié)構(gòu)
2.2.3 減少關(guān)鍵路徑的邏輯級(jí)數(shù)
2.2.4 流水線Pipelining
2.2.5 串行轉(zhuǎn)并行處理
2.2.6 組合邏輯和時(shí)序邏輯分離
2.3 時(shí)鐘設(shè)計(jì)思想
2.3.1 工作時(shí)鐘模型
2.3.2 全局時(shí)鐘
2.3.3 門控時(shí)鐘
2.3.4 多級(jí)邏輯時(shí)鐘
2.3.5 行波時(shí)鐘
2.3.6 多時(shí)鐘系統(tǒng)
2.3.7 Xilinx FPGA中的時(shí)鐘資源
2.3.8 時(shí)序約束
2.4 同步設(shè)計(jì)思想
2.4.1 異步電路和同步電路
2.4.2 一般組合邏輯的同步設(shè)計(jì)
2.4.3 二次時(shí)鐘的同步設(shè)計(jì)
2.4.4 多時(shí)鐘系統(tǒng)的同步設(shè)計(jì)
2.4.5 非同源時(shí)鐘同步化(D觸發(fā)器使能信號(hào)的合理使用)
2.4.6 數(shù)據(jù)接口同步設(shè)計(jì)
2.5 延時(shí)電路設(shè)計(jì)思想
2.6 復(fù)位電路設(shè)計(jì)思想
2.6.1 同步復(fù)位
2.6.2 異步復(fù)位
2.6.3 觸發(fā)器組模塊的復(fù)位
2.6.4 復(fù)位電路的同步化方法
2.7 抗干擾設(shè)計(jì)思想
2.7.1 干擾產(chǎn)生的原因
2.7.2 干擾抑制設(shè)計(jì)方法
2.7.3 基于采樣法的串口通信設(shè)計(jì)
2.8 可靠性設(shè)計(jì)檢查單
第3章 高速數(shù)據(jù)傳輸設(shè)計(jì)
3.1 概述
3.1.1 高速數(shù)據(jù)通信的發(fā)展現(xiàn)狀
3.1.2 幾種高速數(shù)據(jù)通信方案簡(jiǎn)介
3.2 高速數(shù)據(jù)傳輸中的同步技術(shù)
3.2.1 同步方法及其特點(diǎn)
3.2.2 同步方式比較及對(duì)數(shù)據(jù)通信的影響
3.3 FPGA對(duì)同步技術(shù)的支持
3.3.1 動(dòng)態(tài)相位調(diào)整技術(shù)
3.3.2 基于ChipSync的動(dòng)態(tài)相位調(diào)整方法
3.3.3 串行收發(fā)器SERDES(ISERDES和OSERDES)
3.4 應(yīng)用實(shí)例——基于SERDES的多路高速同步傳輸系統(tǒng)
3.4.1 系統(tǒng)方案
3.4.2 發(fā)送模塊
3.4.3 接收模塊
3.5 基于RocketIO的高速數(shù)據(jù)傳輸系統(tǒng)
3.5.1 自同步通信系統(tǒng)架構(gòu)
3.5.2 RocketIO簡(jiǎn)介
3.5.3 基于標(biāo)準(zhǔn)協(xié)議的可靠通信模型
3.5.4 應(yīng)用實(shí)例——基于自定義協(xié)議的即時(shí)傳輸系統(tǒng)
3.6 高速數(shù)據(jù)通信的加固設(shè)計(jì)
3.6.1 數(shù)據(jù)通信加固的概念
3.6.2 交織漢明碼原理及其性能分析
3.6.3 基于交織漢明碼的高速通信加固設(shè)計(jì)
3.7 LVDS應(yīng)用設(shè)計(jì)
3.7.1 LVDS簡(jiǎn)介
3.7.2 LVDS系統(tǒng)設(shè)計(jì)
第4章 Xilinx FPGA高級(jí)配置管理
4.1 配置模式
4.1.1 配置接口及配置模式
4.1.2 配置引腳
4.1.3 SelectMAP接口
4.1.4 和配置相關(guān)的BitGen選項(xiàng)
4.2 配置電路
4.2.1 配置時(shí)的電源要求
4.2.2 常用配置存儲(chǔ)器介紹
4.2.3 主串模式配置電路
4.2.4 主從模式配置電路
4.2.5 SelectMAP模式配置電路
4.3 FPGA配置過程
4.3.1 配置數(shù)據(jù)流加載過程
4.3.2 從串模式配置過程
4.3.3 SelectMAP模式配置數(shù)據(jù)加載
4.3.4 延時(shí)加載
4.4 配置命令分析
4.4.1 配置幀
4.4.2 配置數(shù)據(jù)流類型
4.4.3 配置幀尋址方式
4.4.4 配置寄存器
4.4.5 配置命令執(zhí)行過程分析
4.4.6 配置數(shù)據(jù)解析程序
4.5 配置內(nèi)存回讀
4.5.1 回讀準(zhǔn)備設(shè)計(jì)
4.5.2 回讀指令序列
4.5.3 回讀數(shù)據(jù)校驗(yàn)
4.6 配置內(nèi)存重構(gòu)(刷新)
4.6.1 SelectMAP模式下重構(gòu)流程
4.6.2 刷新對(duì)系統(tǒng)功能的影響
4.7 SelectMAP接口下重配置實(shí)現(xiàn)代碼
4.8 配置數(shù)據(jù)文件格式分析
4.8.1 字節(jié)格式
4.8.2 文件格式
第5章 空間應(yīng)用可靠性設(shè)計(jì)
5.1 集成電路單粒子效應(yīng)的機(jī)理
5.2 單粒子翻轉(zhuǎn)故障模式
5.3 SRAM型FPGA單粒子問題的緩解措施
5.3.1 循環(huán)加電
5.3.2 配置管理
5.3.3 Xilinx三模冗余
5.3.4 器件冗余
5.4 三模冗余設(shè)計(jì)方法介紹
5.4.1 三模冗余原理
5.4.2 TMR Tool工具介紹
5.4.3 TMR Tool設(shè)計(jì)流程
5.4.4 創(chuàng)建一個(gè)ISE工程完成三模冗余前的設(shè)計(jì)
5.4.5 創(chuàng)建一個(gè)TMR Tool工程產(chǎn)生三模冗余后的網(wǎng)表
5.4.6 創(chuàng)建第二個(gè)ISE工程完成三模冗余后的設(shè)計(jì)
5.4.7 三模冗余技術(shù)問題分析
5.5 Half?Latch處理
5.6 異步FIFO處理
5.7 配置、刷新一體化方法
5.7.1 實(shí)現(xiàn)電路
5.7.2 工作流程及控制時(shí)序
5.7.3 SelectMAP接口Active刷新實(shí)現(xiàn)
第6章 分區(qū)設(shè)計(jì)
6.1 為什么使用分區(qū)設(shè)計(jì)
6.2 分區(qū)與SmartGuide
6.3 如何使用分區(qū)
6.4 用Synplify
6.5 分區(qū)保留級(jí)別
6.6 分區(qū)保留
6.7 對(duì)分區(qū)進(jìn)行布局規(guī)劃
6.8 刪除分區(qū)
6.9 結(jié)論
第7章 高效驗(yàn)證(TestBench)設(shè)計(jì)
7.1 為什么要進(jìn)行仿真驗(yàn)證
7.2 仿真驗(yàn)證程序設(shè)計(jì)
7.2.1 仿真的三個(gè)階段
7.2.2 仿真的注意事項(xiàng)
7.2.3 仿真程序結(jié)構(gòu)
7.3 使用TestBench對(duì)設(shè)計(jì)進(jìn)行仿真
7.4 雙向總線信號(hào)仿真
7.5 基于TEXTIO的交互式仿真
7.5.1 基于TEXTIO的測(cè)試程序
7.5.2 TEXTIO
7.5.3 基于TEXTIO的交互式仿真實(shí)例
7.6 幾種常用的FPGA系數(shù)表文件產(chǎn)生方法
7.6.1 濾波器系數(shù)表
7.6.2 RAM系數(shù)表
7.6.3 I/O文件
第8章 綜合實(shí)例——數(shù)字DBF系統(tǒng)
8.1 系統(tǒng)實(shí)現(xiàn)結(jié)構(gòu)
8.8.1 實(shí)現(xiàn)分區(qū)
8.2 數(shù)字下變頻(DDC)
8.3 數(shù)據(jù)傳輸模塊
8.4 波束形成的實(shí)現(xiàn)
附錄A 類型轉(zhuǎn)換
附錄B 文件操作
附錄C 常用元件的規(guī)范化設(shè)計(jì)示例
附錄D FPGA設(shè)計(jì)流程
參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁: 插圖: 第1章 概述 1.1 可編程邏輯器件與PLD開發(fā)工具 1.1.1 可編程邏輯器件 可編程邏輯器件(Programmable Logic Device,PLD)起源于20世紀(jì)70年代,是在專用集成電路(ASIC)的基礎(chǔ)上發(fā)展起來的一種新型邏輯器件,是當(dāng)今數(shù)字系統(tǒng)設(shè)計(jì)的主要硬件平臺(tái),其主要特點(diǎn)就是完全由用戶通過軟件進(jìn)行配置和編程,從而完成某種特定的功能,并且可以反復(fù)擦寫。在修改和升級(jí)PLD時(shí),不需要額外地改變PCB,只在計(jì)算機(jī)上修改和更新程序,使硬件設(shè)計(jì)工作成為軟件開發(fā)工作,縮短了系統(tǒng)設(shè)計(jì)的周期,提高了實(shí)現(xiàn)的靈活性并降低了成本,因此獲得了廣大硬件工程師的青睞,形成了巨大的PLD產(chǎn)業(yè)規(guī)模。 目前常見的PLD產(chǎn)品有編程只讀存儲(chǔ)器(Programmable Read Only Memory,PROM),現(xiàn)場(chǎng)可編程邏輯陣列(Field Programmable Logic Array,F(xiàn)PLA),可編程陣列邏輯(Programmable ArrayLogic,PAL),通用陣列邏輯(Generic Array Logic,GAL),可擦除的可編程邏輯器件(ErasableProgrammable Logic Array,EPLA),復(fù)雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)和現(xiàn)場(chǎng)可編程門陳列(neld Programmable Gate Array,F(xiàn)PGA)等類型。PLD器件從規(guī)模上又可以細(xì)分為簡(jiǎn)單PLD(SPLD)、復(fù)雜PLD(CPLD)及FPGA。它們內(nèi)部結(jié)構(gòu)的實(shí)現(xiàn)方法不相同。 可編程邏輯器件按照顆粒度可以分為3類:小顆粒度(如“門海(Sea of Gates)”架構(gòu))、中等顆粒度(如FPGA)和大顆粒度(如CPLD)。按照編程工藝可以分為4類:熔絲(Fuse)和反熔絲(Antifuse)編程器件、可擦除的可編程只讀存儲(chǔ)器(UEPROM)編程器件、電信號(hào)可擦除的可編程只讀存儲(chǔ)器(E2PROM)編程器件(如CPLD)、SRAM編程器件(如FPGA)。在工藝分類中,前3類為非易失性器件,編程后配置數(shù)據(jù)保留在器件上;第4類為易失性器件,掉電后配置數(shù)據(jù)會(huì)丟失,因此在每次上電后需要重新進(jìn)行數(shù)據(jù)配置。 1.1.2 可編程邏輯器件的發(fā)展歷史 可編程邏輯器件的發(fā)展可以劃分為4個(gè)階段,即從20世紀(jì)70年代初到70年代中為第1階段,從20世紀(jì)70年代中到80年代中為第2階段,從20世紀(jì)80年代中到90年代末為第3階段,從20世紀(jì)90年代末到目前為第4階段。 第1階段的可編程邏輯器件只有簡(jiǎn)單的可編程只讀存儲(chǔ)器、紫外線可擦除只讀存儲(chǔ)器(EPROM)和電信號(hào)可擦除的可編程只讀存儲(chǔ)器3種。由于結(jié)構(gòu)的限制,它們只能完成簡(jiǎn)單的數(shù)字邏輯功能。
編輯推薦
《Xilinx FPGA高級(jí)設(shè)計(jì)及應(yīng)用》可作為從事FPGA設(shè)計(jì)的工程技術(shù)人員、硬件工程師和IC工程師的學(xué)習(xí)、參考用書,也可作為電子信息、通信工程及相關(guān)工科專業(yè)的教材。FPGA(Field Programmable Gate Array)是1984年由Xilinx公司提出的一類半定制通用器件。用戶可以通過對(duì)FPGA器件的設(shè)計(jì)及配置來實(shí)現(xiàn)所需的邏輯功能。相比傳統(tǒng)的IC設(shè)計(jì)來說,一方面基于FPGA的電路設(shè)計(jì)具有開發(fā)時(shí)間短、成本低廉、可靠性得到驗(yàn)證、開發(fā)風(fēng)險(xiǎn)小等優(yōu)點(diǎn);另一方面針對(duì)基于SRAM的FPGA具有可重復(fù)、在線或離線配置等特點(diǎn),為設(shè)計(jì)的更改、升級(jí)和重構(gòu)提供了基礎(chǔ),使得所設(shè)計(jì)的電路易于升級(jí)維護(hù)。
圖書封面
評(píng)論、評(píng)分、閱讀與下載
Xilinx FPGA高級(jí)設(shè)計(jì)及應(yīng)用 PDF格式下載