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