基于FPGA的系統(tǒng)優(yōu)化與綜合
定 價(jià):139 元
叢書名:國際信息工程先進(jìn)技術(shù)譯叢
當(dāng)前圖書已被 1 所學(xué)校薦購過!
查看明細(xì)
- 作者:瓦萊里·斯克里亞洛夫
- 出版時(shí)間:2018/6/1
- ISBN:9787111597223
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP332.1
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書系統(tǒng)介紹了關(guān)于FPGA的設(shè)計(jì)與實(shí)現(xiàn)的研究成果。首先,引入數(shù)字系統(tǒng)的設(shè)計(jì)概念,使用FPGA設(shè)計(jì)實(shí)現(xiàn),并給出基于FPGA的高性能加速的仿真結(jié)果;其次,展現(xiàn)更多有限狀態(tài)機(jī)(FSM)的理論,闡述減少FPGA基本資源的方法,并講述如何在FPGA中實(shí)現(xiàn)小化電路的延時(shí)。本書著重介紹了完全綜合的硬件描述規(guī)范,提供大量基于提出的模型和方法的實(shí)際設(shè)計(jì),探索了涉及核配置邏輯器件和大量嵌入模塊的建模方法。本書可作為普通高等學(xué)校微電子、電氣工程、自動(dòng)化、能源工程等專業(yè)本科生和研究生相關(guān)課程的教材或參考書,也可為相關(guān)專業(yè)的工程技術(shù)人員對FPGA系統(tǒng)的研究設(shè)計(jì)提供參考。
現(xiàn)場可編程門陣列(FPGA)是Xilinx公司在1985年發(fā)明的。FPGA對工程各個(gè)方向的影響持續(xù)迅速增長。這樣的進(jìn)步有多方面原因,其中最重要的是FPGA的固有配置性及其廉價(jià)的升級(jí)成本。預(yù)測表明FPGA的影響會(huì)持續(xù)增長且應(yīng)用范圍會(huì)增加。近代的現(xiàn)場配置芯片合并了多核處理器和重復(fù)配置邏輯附件的一些常用器件,如數(shù)字信號(hào)處理器件和塊存儲(chǔ)器�;冢疲校牵恋南到y(tǒng)是可綜合的,可在普通計(jì)算機(jī)使用集成設(shè)計(jì)環(huán)境中執(zhí)行。這樣的系統(tǒng)實(shí)驗(yàn)和探索普遍基于連接到相同環(huán)境的原型機(jī)板。
眾所周知,且已證實(shí)FPGA可高效應(yīng)用于工程應(yīng)用中。一個(gè)原因是系統(tǒng)復(fù)雜性的增長很難使輪船設(shè)計(jì)不出錯(cuò)。因此,有必要在制造之后修正錯(cuò)誤,而這個(gè)可在自定義器件中輕松完成。
當(dāng)代芯片的復(fù)雜性隨著時(shí)間呈指數(shù)增長,可用的晶體管數(shù)量比有意義的設(shè)計(jì)能力增長更快。這個(gè)情況是眾所周知的設(shè)計(jì)生產(chǎn)力差距,且這個(gè)差距還在持續(xù)增長。
因此,設(shè)計(jì)生產(chǎn)力是將來系統(tǒng)的真實(shí)挑戰(zhàn)。盡管在單位產(chǎn)量和收入方面,專用集成電路(ApplicationSpecificIntegratedCircuits,ASIC) 和專用標(biāo)準(zhǔn)產(chǎn)品(ApplicationSpecificStandardProducts,ASSP)超過了FPGA,但是預(yù)測FPGA設(shè)計(jì)開始數(shù)量是領(lǐng)先于ASIC/ASSP的設(shè)計(jì)開始。因此,FPGA高度參與設(shè)計(jì)電路和系統(tǒng),并且需要更佳的設(shè)計(jì)產(chǎn)品,無疑需要巨大工程資源,這是技術(shù)普遍性的主要輸出,本書旨在輔助相關(guān)課程。
FPGA的操作時(shí)鐘頻率比普通電腦和ASIC更低。最先進(jìn)器件的成本很高,稍微便宜的芯片操作的時(shí)鐘頻率比不便宜的廣泛使用的電腦更低。FPGA的最重要的應(yīng)用是改善被執(zhí)行系統(tǒng)的性能。為了實(shí)現(xiàn)通常較慢的器件加速,并行性需要高階應(yīng)用。
本書有兩個(gè)目的,且由兩部分組成。第一部分包含第1~5章及附錄A和B(由ValerySklyarov和IouliiaSkliarova編寫),引入數(shù)字系統(tǒng)的設(shè)計(jì)概念,使用現(xiàn)代FPGA并將作者所得結(jié)果呈現(xiàn)到基于FPGA的高性能加速。這一部分由5章節(jié)組成,這些章節(jié)具有擴(kuò)展主題,通常包含數(shù)字系統(tǒng),在這種方式下討論基于FPGA的設(shè)計(jì),由實(shí)例例證,由相關(guān)便宜的原型機(jī)板的實(shí)驗(yàn)支持。本書的第二部分包含第6~9章(由AlexanderBarkalov和LarisaTitarenko編寫),覆蓋更多的有限狀態(tài)機(jī)(FSM)的理論知識(shí),以及減少FPGA基本資源的主要目的(器件或查找表),最小化電路的延時(shí),在FPGA中達(dá)到更佳的基礎(chǔ)器件優(yōu)化。
原書前言Ⅴ 與FPGA領(lǐng)域其他同類書相比,本書具有以下特點(diǎn):
(1)每章都提供簡明易懂的摘要(甚至對該領(lǐng)域的初學(xué)者都是合適的),擴(kuò)展到更先進(jìn)的主題,覆蓋提出的、作者傳播的和實(shí)際應(yīng)用中的眾多實(shí)例例證的新技術(shù)。
(2)完全綜合的硬件描述規(guī)范(尤其是VHDL),對于眾多描述的電路和系統(tǒng),已經(jīng)可以被測試和組成實(shí)際工程設(shè)計(jì),對于未畢業(yè)和已畢業(yè)的學(xué)生而言都是必不可少的。
(3)大量實(shí)際設(shè)計(jì)基于提出的模型和方法,對于完全應(yīng)用,討論的領(lǐng)域如數(shù)據(jù)處理、組合搜索和計(jì)算,依賴層次有限狀態(tài)機(jī)模型。
(4)探索模型和方法,涉及核配置邏輯器件和大量嵌入模塊(如存儲(chǔ)器和數(shù)字信號(hào)處理器件)和基于模板的電路。
本書提供以下額外特性:
(1)設(shè)計(jì)實(shí)例都在Xilinx和AlteraFPGA三類原型機(jī)板上測試過。最新的Nexys-4板屬于Digilent,最新的Artix-7FPGA屬于Xilinx7系列,以及眾所周知的DigilentAtlys板,屬于Spartan-6FPGA,用于大量實(shí)例中。許多工程也在DE2-115板中測試過,使用AlteraCyclon-IVeFPGA,這個(gè)芯片專為教育設(shè)計(jì)并廣泛應(yīng)用于大學(xué)課程。
(2)本書中所有VHDL例子都是可在線下載的,網(wǎng)址是http: //sweetuapt/skl/Springer2014html。該網(wǎng)址也提供最新升級(jí)的工程。這些工程可以下載測試并立即評(píng)估。每個(gè)實(shí)例包括簡明的說明、VHDL代碼、用戶約束文件和所選擇FPGA的比特流。
本書各章內(nèi)容如下:
第1章引入FPGA結(jié)構(gòu),通過表現(xiàn)現(xiàn)代器件的普通結(jié)構(gòu)并解釋核器件,以及最重要的嵌入模塊,比如存儲(chǔ)器和數(shù)字信號(hào)處理器件。討論一些典型的基于FPGA的設(shè)計(jì)方案,覆蓋了規(guī)范階段,提供物理約束、執(zhí)行、配置和最后的測試。在這章的摘要部分,設(shè)計(jì)規(guī)范表現(xiàn)在原理圖級(jí),其中電路從供應(yīng)商特供庫中的可用器件、用戶定義模塊或合理定制的知識(shí)產(chǎn)權(quán)核。給出的一些簡化實(shí)例可在基于FPGA的原型機(jī)板上測試。本書用的三類原型機(jī)板簡要特色化,并介紹了在FPGA中執(zhí)行電路和系統(tǒng)之間的交流。所有處理步驟都通過大量實(shí)例進(jìn)行介紹。
第2章簡要介紹綜合VHDL,足夠用于在沒有太多背景知識(shí)的情況下理解給出的設(shè)計(jì)方法和例子。這一章的主要目的是解釋基本VHDL模塊及其規(guī)范能力。有許多很好地介紹VHDL的書可用于補(bǔ)充本書。我們的初級(jí)目的是綜合和優(yōu)化基于FPGA的電路和系統(tǒng),VHDL是本書用于描述理想功能和結(jié)構(gòu)的工具。因此,本章旨在便于讀者閱讀后續(xù)內(nèi)容。
第3章首先簡要介紹廣泛使用的簡單組合和時(shí)序電路。許多實(shí)例與在FPGA中執(zhí)行的電路同時(shí)給出。接下來介紹眾多優(yōu)化技術(shù),特別強(qiáng)調(diào)板并行性,對于基于基于FPGA的系統(tǒng)優(yōu)化與綜合Ⅵ�。疲校牵恋膽�(yīng)用很重要。引入更復(fù)雜的數(shù)字電路和系統(tǒng),比如并行網(wǎng)絡(luò)用于排序和搜索、漢明權(quán)重計(jì)數(shù)器/比較器、并發(fā)向量處理單元和先進(jìn)的有限狀態(tài)機(jī)。設(shè)計(jì)這樣的電路使得眾多操作數(shù)據(jù)可以并行執(zhí)行�;诰W(wǎng)絡(luò)的方案,比如排序和計(jì)數(shù)網(wǎng)絡(luò),足夠映射電路到FPGA原語(查找表)。討論并評(píng)估大量可用競爭方法。所有電路和系統(tǒng)都用VHDL描述,在FPGA中執(zhí)行和測試,最后應(yīng)用各種標(biāo)準(zhǔn)評(píng)估。提出的許多新方法都是可綜合的,使得很復(fù)雜的工程在FPGA中完成,用于解決不同領(lǐng)域的先進(jìn)問題,比如數(shù)據(jù)處理核組合搜索。
第4章首先例證商業(yè)可用知識(shí)產(chǎn)權(quán)核可以嵌入不同設(shè)計(jì)中。尤其描述了數(shù)字信號(hào)處理片構(gòu)建的算術(shù)電路和參數(shù)化存儲(chǔ)塊提供支持?jǐn)?shù)據(jù)緩沖(如FIFO,即先進(jìn)先出)。給出數(shù)字信號(hào)處理器的更多細(xì)節(jié),且表明這些如何高效用于實(shí)際電路,如漢明權(quán)重計(jì)數(shù)器/比較器。本章的主要致力于主機(jī)和基于FPGA的原型機(jī)板通過Digilent增強(qiáng)并行接口和通用異步接收和傳輸(UniversalAsynchronousReceiverandTransmitter,UART)接口的交互。描述了交流模塊的完整細(xì)節(jié),包括由C語言發(fā)展的通用計(jì)算機(jī)的軟件和FPGA的硬件。下一部分將設(shè)計(jì)的模塊用于包含不同目的的交流工程。更復(fù)雜的設(shè)計(jì)用于第3章基于網(wǎng)絡(luò)的迭代數(shù)據(jù)排序,以這種方式執(zhí)行和測試,并作為完整的功能實(shí)例。本章總結(jié)簡要的描述可編程片上系統(tǒng)(PSoC),組合了嵌入處理系統(tǒng)和重復(fù)配置邏輯,通向更高效的應(yīng)用執(zhí)行。給出并討論提出的映射第3章的設(shè)計(jì)到PSoC的方法。
第5章概述基于層次和并行規(guī)范的設(shè)計(jì)技術(shù)。首先引入層次計(jì)算圖(HGS),使復(fù)雜的數(shù)字控制算法被解體為更高效的描述。HGS描述的模塊是基本實(shí)體,提供技術(shù)基礎(chǔ),是自動(dòng)、完整和潛在可重復(fù)使用的器件。必須設(shè)計(jì)模塊如下:①可以獨(dú)立于其他模塊測試;②具有良好定義的外部接口可重復(fù)用于不同規(guī)范。這表明HGS(模塊)可以在具有棧存儲(chǔ)器的層次有限狀態(tài)機(jī)(HFSM) 執(zhí)行。給出許多VHDL實(shí)例用于例證HFSM可以執(zhí)行層次算法和支持遞歸算法。描述多類HFSM和可綜合VHDL模板,也討論并行規(guī)范和并行HFSM。許多全功能的VHDL實(shí)例對以上所有類型的HFSM進(jìn)行了介紹和評(píng)價(jià)。這也表明軟件程序可以通過使用HFSM模塊映射到硬件。最后提出HFSM的變體優(yōu)化技術(shù)。
第6章致力于在FPGA執(zhí)行的MooreFSM的邏輯電路優(yōu)化。給出功能和結(jié)構(gòu)解體方法的普通特性。FPGA的特色是可分析的,減少查找表(LUT) 器件在MooreFSM的邏輯電路的數(shù)量。對于MooreFSM,分類的優(yōu)化方法包括:①狀態(tài)代碼轉(zhuǎn)換為偽等狀態(tài)代碼(PES);②狀態(tài)代碼表現(xiàn)為PES代碼的并置和微操作集;③邏輯條件替換(FSM的輸入變量)和其他變量。所有討論的方法由實(shí)例例證。
第7章處理MooreFSM基于使用嵌入存儲(chǔ)塊(EMB)。討論基于簡單EMB的執(zhí)行邏輯電路Moore和MealyFSM的方法。在這種情況下,一片EMB足以執(zhí)行電路。
接下來討論優(yōu)化方法,基于邏輯條件替換和微操作集編碼。考慮的方法基于編碼FSM結(jié)構(gòu)表的行。所有這些方法通向兩級(jí)MealyFSM模塊和三級(jí)MooreFSM模塊。
原書前言Ⅶ 接下來,組合這三種方法用于FSM邏輯電路硬件優(yōu)化。最后一部分考慮將基于PES的方法應(yīng)用在基于EMB的MooreFSM中。所有討論的方法均通過實(shí)例例證。
第8章致力于基于EMB的FSM的邏輯電路優(yōu)化。首先討論基于邏輯條件替換表的設(shè)計(jì)方法,用于Moore和MealyFSM。接下來提出優(yōu)化方法,這些方法基于分離邏輯條件集。這個(gè)方法減少了邏輯條件替換塊中的電路的LUT數(shù)量。在MooreFSM的情況下,優(yōu)化方法基于優(yōu)化狀態(tài)賦值和狀態(tài)代碼轉(zhuǎn)換到PES類代碼。所有討論的方法均通過實(shí)例例證。
第9章致力于使用數(shù)據(jù)通路減少基于FPGA的MooreFSM邏輯電路中的LUT數(shù)量。首先提出內(nèi)狀態(tài)轉(zhuǎn)換的可操作執(zhí)行準(zhǔn)則�;诳刹僮髌骷氖褂茫ḿ臃ㄆ�、計(jì)數(shù)器、移位器等) 對于計(jì)算代碼的狀態(tài)轉(zhuǎn)換。接下來,為MooreFSM和內(nèi)狀態(tài)轉(zhuǎn)換的可操作執(zhí)行提出綜合進(jìn)程的基本結(jié)構(gòu)。綜合進(jìn)程的結(jié)構(gòu)依賴初始狀態(tài),比如FSM狀態(tài)代碼操作集。討論操作執(zhí)行轉(zhuǎn)換的典型結(jié)構(gòu)。接下來,對于計(jì)算狀態(tài)轉(zhuǎn)換代碼,這個(gè)方法混合了傳統(tǒng)和提出的方法。本章的最后一部分討論所提出方法的有效性。
附錄A包含簡短描述本書的綜合VHDL結(jié)構(gòu)和保留字。
附錄B提供大量代碼實(shí)例,支持本書第一部分的工程。所有例子都在附錄B中呈現(xiàn),以便直接
譯者序
原書前言
縮略語
第一部分 基于FPGA的數(shù)字電路與系統(tǒng)設(shè)計(jì)
第1章�。疲校牵两Y(jié)構(gòu)、可重構(gòu)結(jié)構(gòu)、嵌入模塊和設(shè)計(jì)工具3
1.1 介紹FPGA 3
1.2�。疲校牵疗骷幕A(chǔ)7
�。�.2.1 XilinxFPGA的可配置邏輯模塊7
�。�.2.2�。粒欤簦澹颍幔疲校牵恋倪壿嬈骷保�
�。�.3 嵌入模塊11
1.3.1 嵌入存儲(chǔ)器12
�。�.3.2 嵌入DSP模塊15
1.4 時(shí)鐘分配和復(fù)位17
1.5 設(shè)計(jì)工具19
�。�.6 執(zhí)行和原型機(jī)24
�。�.7 基于FPGA的電路和系統(tǒng)的交互29
參考文獻(xiàn)35
第2章 基于FPGA器件的綜合VHDL 37
2.1 介紹VHDL 37
�。�.2 數(shù)據(jù)類型、對象和操作數(shù)43
�。�.3 組合進(jìn)程和時(shí)序進(jìn)程48
�。�.3.1 組合進(jìn)程49
2.3.2 時(shí)序進(jìn)程52
2.4 函數(shù)、進(jìn)程和模塊56
�。�.5 類和生成62
2.6 庫、包和文件67
�。�.7 行為仿真72
2.8 原型機(jī)76
參考文獻(xiàn)78
第3章 設(shè)計(jì)技術(shù)80
�。�.1 組合電路80
�。�.1.1 譯碼器83
�。�.1.2 解碼器83
�。�.1.3 多路復(fù)用器84
�。�.1.4 比較器85
�。�.1.5 算術(shù)電路85
�。�.1.6 桶形移位器86
�。�.2 順序電路86
3.2.1 寄存器86
�。�.2.2 移位寄存器87
�。�.2.3 計(jì)數(shù)器87
�。�.2.4 有累加器的算術(shù)電路88
�。�.3 有限狀態(tài)機(jī)89
�。�.4 基于FPGA電路和系統(tǒng)的優(yōu)選92
�。�.4.1 高并行性的基于網(wǎng)絡(luò)的解決方案93
3.4.2 硬件加速器98
�。�.4.3 塊化分層FSM運(yùn)行的并行算法98
�。�.5 并行排序的設(shè)計(jì)實(shí)例99
�。�.6 并行搜索的設(shè)計(jì)實(shí)例104
3.7 并行計(jì)數(shù)器的設(shè)計(jì)實(shí)例109
�。�.8 計(jì)數(shù)網(wǎng)絡(luò)的設(shè)計(jì)實(shí)例112
�。�.9 基于LUT的漢明權(quán)重計(jì)數(shù)器/比較器的設(shè)計(jì)實(shí)例115
�。�.10 向量操作的設(shè)計(jì)實(shí)例121
參考文獻(xiàn)125
第4章 嵌入模塊和系統(tǒng)設(shè)計(jì)127
�。�.1�。桑行酒保玻�
�。�.2 嵌入DSP 136
�。�.3�。疲校牵两换ィ保矗�
4.3.1�。模椋纾椋欤澹睿舨⑿卸丝诮涌冢保矗�
�。�.3.2 UART接口149
�。�.4 軟硬件協(xié)同設(shè)計(jì)和協(xié)同仿真160
�。�.4.1�。模椋纾椋欤澹睿舨⑿薪涌诘能浻布䥇f(xié)同設(shè)計(jì)161
�。�.4.2�。眨粒遥越涌诘能浻布䥇f(xié)同設(shè)計(jì)168
�。�.5 可編程片上系統(tǒng)177
基于FPGA的系統(tǒng)優(yōu)化與綜合
Ⅹ
參考文獻(xiàn)181
第5章 基于層次和并行技術(shù)規(guī)范182
�。�.1 模塊化層次結(jié)構(gòu)規(guī)范182
�。�.2 層次有限狀態(tài)機(jī)186
�。�.2.1 具有明確模塊的HFSM的HDL模板187
�。�.2.2 具有不明確模塊的HFSM的HDL模板195
�。�.3�。龋疲樱偷木C合196
�。�.3.1 具有明確模塊的HFSM的綜合196
�。�.3.2 具有不明確模塊的HFSM的綜合203
5.4 并行規(guī)范和并行HFSM 204
�。�.5 基于HFSM模型的軟件程序的硬件執(zhí)行212
�。�.6 嵌入式或分布式棧存儲(chǔ)器215
5.7 優(yōu)化技術(shù)217
�。�.7.1 層次返回217
�。�.7.2�。龋牵拥亩嗳肟邳c(diǎn)219
�。�.7.3 快棧解除219
�。�.8 實(shí)際應(yīng)用219
參考文獻(xiàn)225
第二部分 基于FPGA電路和系統(tǒng)的有限
狀態(tài)機(jī)的優(yōu)化方法
第6章�。停铮铮颍澹疲樱� 邏輯電路的硬件減少231
6.1 現(xiàn)有方法的一般特點(diǎn)231
�。�.2�。停铮铮颍澹疲樱椭械哪繕�(biāo)轉(zhuǎn)換237
6.3�。停铮铮颍澹疲樱偷臓顟B(tài)代碼擴(kuò)展式241
�。�.4 替代邏輯條件綜合MooreFSM 248
參考文獻(xiàn)252
第7章 嵌入存儲(chǔ)模塊設(shè)計(jì)FSM 254
�。�.1�。停澹幔欤停停铮铮颍澹疲樱偷暮唵螆�(zhí)行254
�。�.2�。疲樱偷慕Y(jié)構(gòu)解體259
7.3 解碼微操作集設(shè)計(jì)MealyFSM 262
�。�.4 解碼兼容微操作域設(shè)計(jì)MealyFSM 265
目 錄
Ⅺ
�。�.5 解碼結(jié)構(gòu)表行設(shè)計(jì)MealyFSM 267
�。�.6 基于MooreFSM的偽等狀態(tài)優(yōu)化BIMF 272
參考文獻(xiàn)276
第8章 優(yōu)化具有嵌入存儲(chǔ)塊的FSM 278
�。�.1�。停校停澹幔欤疲樱偷暮唵螆�(zhí)行278
�。�.2�。蹋眨裕澹虻膬�(yōu)化285
�。�.3 基于偽等狀態(tài)優(yōu)化LUTer 290
�。�.4 基于微操作集編碼優(yōu)化LUTer 299
參考文獻(xiàn)306
第9章 操作實(shí)現(xiàn)轉(zhuǎn)換的FSM 307
9.1 轉(zhuǎn)換操作執(zhí)行的概念307
9.2 轉(zhuǎn)換可操作生成的FSM組織309
�。�.3�。疲樱驮O(shè)計(jì)實(shí)例312
�。�.4 具有OAT的FSM的綜合進(jìn)程結(jié)構(gòu)表達(dá)315
9.4.1 具有OAT的FSM的綜合進(jìn)程的基本結(jié)構(gòu)316
�。�.4.2 改良綜合進(jìn)程的基本結(jié)構(gòu)317
�。�