定 價:129 元
叢書名:半導體與集成電路關鍵技術叢書微電子與集成電路先進技術叢書
- 作者:王衛(wèi)江薛丞博高巍張靖奇
- 出版時間:2023/9/1
- ISBN:9787111732433
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TN402
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書聚焦于數(shù)字片上系統(tǒng)(SoC)設計領域,從數(shù)字集成電路的發(fā)展歷程與基礎知識入手,首先介紹了硬件描述語言Verilog HDL的設計規(guī)則和核心EDA工具VIVADO與Design Compiler的使用方法,隨后詳細討論了數(shù)字SoC設計、驗證過程中的關鍵技術,并對難點問題進行了歸納和總結。此外,本書提供了多個數(shù)字SoC設計、驗證的實際案例,循序漸進地向讀者展示了數(shù)字SoC從規(guī)劃、設計、仿真、驗證再到綜合實現(xiàn)的全流程。
本書內容由淺入深,能使讀者深刻了解數(shù)字SoC設計過程和基本方法,既適合作為微電子與集成電路專業(yè)的高年級本科生及從事數(shù)字SoC領域研究的研究生的教材,又可為從事相關技術的初期從業(yè)人員提供技術參考。
進入21世紀以來,以片上系統(tǒng)(System on Chip,SoC)為代表的數(shù)字集成電路技術進入了飛速發(fā)展階段。SoC技術經(jīng)過工業(yè)界、學術界的深入研究與反復實踐,其兼顧軟件靈活性與硬件高效性的優(yōu)勢已經(jīng)日益顯著并獲得了廣泛認可。隨著半導體制造工藝技術的進步,單顆SoC的晶體管集成規(guī)模不斷擴大。與此同時,隨著SoC技術的應用場景變得更為廣泛,SoC所需集成的功能日趨復雜化。因此,掌握復雜SoC的設計能力尤為重要。
近年來,我國半導體行業(yè)暴露出“缺芯少魂”的軟肋。雖然歷經(jīng)數(shù)年的努力追趕,我國已經(jīng)基本掌握了半導體行業(yè)的關鍵技術,但一些關鍵技術仍與世界一流水平存在差距,實現(xiàn)我國半導體行業(yè)的“自主可控”道阻且長。與此同時,隨著我國信息技術水平的不斷深化與發(fā)展,集成電路產(chǎn)業(yè)已經(jīng)成為我國國民經(jīng)濟持續(xù)增長、高新技術不斷取得新進展的重要支柱�?梢灶A見,在未來相當長的時間里,芯片技術仍是制約我國發(fā)展的“卡脖子”關鍵技術。然而,我國半導體行業(yè)面臨技術水平相對落后、關鍵技術依賴國際產(chǎn)業(yè)鏈、國內現(xiàn)有從業(yè)人員技術水平參差不齊、國內相關人才儲備不足的困境。在可預見的未來,我國面臨半導體行業(yè)與世界其他國家脫鉤的風險。因此,加快我國半導體行業(yè)關鍵技術人才的培養(yǎng)迫在眉睫。
目前我國缺少以工程實踐為導向的關于SoC技術的教材與參考書,基于多年來的科研與教學經(jīng)驗,我們發(fā)現(xiàn)國內高等院校中數(shù)字集成電路領域的理論知識與工程實踐存在一定脫節(jié)。本書的編寫初衷是在數(shù)字SoC設計領域,架構一座連接本科生、研究生教學課程至工業(yè)界成熟解決方案的橋梁,形成從理論知識到工程實踐的清晰脈絡。因此,本書所希望覆蓋的讀者人群包括完成微電子與集成電路專業(yè)基礎課程學習的高年級本科生、從事數(shù)字SoC設計方向研究的研究生與相關領域的初期從業(yè)人員。
數(shù)字集成電路設計并非初學者可以在短時間內快速入門的專業(yè),一方面,它既要求從業(yè)人員具備扎實的學科基礎知識,以此來分析現(xiàn)有的設計案例,掌握成熟的電子設計自動化工具;另一方面,它又要求從業(yè)者具備豐富的實踐經(jīng)驗,通過大量的工程實踐不斷加深對理論的理解。
本書的編寫風格緊緊圍繞以上理念展開。第1章對數(shù)字集成電路與SoC進行介紹,第2~4章關于數(shù)字SoC設計基礎的內容主要面向剛剛進入本領域學習的人員,如本科生、低年級研究生。第1章針對行業(yè)發(fā)展歷史與基礎性知識進行了翔實的介紹,對高年級本科生專業(yè)課中與數(shù)字集成電路設計相關的內容進行了針對性的知識回顧。第2~4章針對數(shù)字SoC設計過程中的硬件描述語言與電子設計自動化工具進行了詳細的入門介紹,已經(jīng)具備數(shù)字集成電路基礎知識的初學者可以參考其中的案例進行一定的初步摸索實踐。第5章針對數(shù)字SoC設計中的關鍵步驟、難點內容進行了針對性的詳細講解。該章的知識性與技術性內容非常深入,不再贅述淺顯的知識或常見的問題,因此該章適合高年級的研究生或具備一定開發(fā)經(jīng)驗的從業(yè)人員進行學習和參考。第6章與第7章講述基于FPGA與ASIC的數(shù)字SoC設計,以簡單的片上系統(tǒng)設計項目為案例,對數(shù)字SoC設計的流程進行了講解。這兩章內容適合已經(jīng)完成前5章學習的研究生或具備SoC設計經(jīng)驗的從業(yè)人員進行學習和參考。
本書凝結了北京理工大學集成電路與電子學院微電子技術研究所SoC團隊近10年的集體智慧與經(jīng)驗,全書由王衛(wèi)江統(tǒng)稿,由王衛(wèi)江、薛丞博、高巍、張靖奇共同執(zhí)筆完成。感謝同事王興華老師、高巍老師與薛丞博老師提供數(shù)字SoC設計領域豐富的工程實踐經(jīng)驗總結與多年科研教學材料。感謝來自SoC課題組的博士研究生張靖奇,碩士研究生李澤英、朱翔宇、張拓鋒、李志慧、宣卓、黃彥杰、何祥、陳任陽、孟慶旭、劉美蘭、孔繁聰、蒲康然、李鴻爍、周煒然、蔣宇杰等同學對本書的編寫和出版工作做出的積極努力。
由于篇幅有限,對于本書中提及與引用的參考文獻作者無法一一列出致謝,他們的工作為本書提供了強有力的理論和工程實踐的支撐。在此,向他們一并致以由衷的感謝!
由于時間倉促,不足與錯誤之處望讀者批評指正!
王衛(wèi)江
2023年3月
前言
第1章數(shù)字集成電路與SoC介紹1
1.1數(shù)字集成電路技術1
1.1.1數(shù)字集成電路技術的發(fā)展歷史1
1.1.2數(shù)字集成電路技術基礎3
1.2SoC21
1.2.1SoC技術簡介21
1.2.2SoC設計流程24
1.2.3兩種SoC設計流程實例25
第2章數(shù)字SoC的設計基礎29
2.1硬件描述語言29
2.1.1硬件描述語言與軟件編程語言的區(qū)別29
2.1.2硬件描述語言的發(fā)展歷史30
2.1.3Verilog HDL的可重復性30
2.1.4硬件抽象級的模型類型31
2.2Verilog HDL基本語法31
2.2.1模塊的基本概念31
2.2.2常量及其數(shù)據(jù)類型32
2.2.3變量及其數(shù)據(jù)類型34
2.2.4運算符及表達式35
2.2.5塊語句42
2.2.6賦值語句43
2.2.7結構語句 44
2.2.8條件語句和循環(huán)語句45
2.2.9testbench的編寫48
2.3Verilog HDL與數(shù)字電路50
2.3.1數(shù)字電路的類型50
2.3.2Verilog HDL的可綜合與不可綜合51
2.3.3組合邏輯電路的Verilog HDL實例52
2.3.4時序邏輯電路的Verilog HDL實例53
2.3.5狀態(tài)機的Verilog HDL實例55
第3章FPGA開發(fā)工具——VIVADO基礎入門59
3.1FPGA與VIVADO基本介紹59
3.1.1FPGA基礎原理介紹59
3.1.2以Xilinx7系列為例的 FPGA 內部結構簡介60
3.1.3VIVADO操作界面簡介67
3.2VIVADO中的仿真72
3.2.1仿真的含義72
3.2.2仿真的分類72
3.3VIVADO中的綜合基礎72
3.3.1綜合的含義72
3.3.2綜合策略介紹73
3.4VIVADO中的實現(xiàn)基礎77
3.4.1實現(xiàn)的含義77
3.4.2實現(xiàn)的過程簡介78
3.5VIVADO中的約束管理81
3.5.1約束的含義81
3.5.2創(chuàng)建約束的兩種方式82
3.6VIVADO中的IP核86
3.6.1IP核的概念86
3.6.2IP核的分類86
3.7VIVADO示例——并行乘法器設計、仿真、綜合及其IP核的定制與調用89
3.7.1四位二進制并行乘法器設計原理89
3.7.2四位并行乘法器代碼編寫以及分析90
3.7.3仿真設計文件代碼編寫92
3.7.4在VIVADO軟件中進行乘法器設計92
3.7.5在VIVADO軟件中進行仿真操作100
3.7.6在VIVADO軟件中進行綜合操作107
3.7.7并行乘法器IP核的定制108
3.7.8并行乘法器IP核的調用115
3.8VIVADO示例——全流程實現(xiàn)基于7Z-Lite開發(fā)板的流水燈功能119
3.8.1流水燈代碼編寫119
3.8.2流水燈代碼的行為級仿真120
3.8.3綜合及引腳約束121
3.8.4流水燈實現(xiàn)過程122
3.8.5流水燈配置文件生成與下載125
第4章Design Compiler的使用127
4.1Design Compiler介紹127
4.1.1ASIC全流程127
4.1.2Design Compiler流程概述128
4.1.3Design Compiler配置129
4.2Synopsys工藝庫使用133
4.2.1什么是工藝庫133
4.2.2庫的結構134
4.2.3庫類135
4.2.4庫級屬性135
4.2.5環(huán)境描述137
4.2.6單元描述142
4.2.7延時模型與計算143
4.3設計與環(huán)境約束145
4.3.1環(huán)境約束145
4.3.2設計約束149
4.3.3時鐘約束154
4.3.4綜合示例156
4.4優(yōu)化設計159
4.4.1DC的兩種綜合模式159
4.4.2DC自動優(yōu)化的三大階段160
4.4.3結構級優(yōu)化161
4.4.4邏輯級優(yōu)化164
4.4.5門級優(yōu)化166
4.4.6多個實例解析167
4.4.7編譯設計167
4.4.8層次劃分169
4.4.9優(yōu)化時鐘網(wǎng)絡171
4.4.10優(yōu)化面積172
第5章高級數(shù)字SoC設計與驗證173
5.1時鐘域173
5.1.1時鐘域的基本概念173
5.1.2同步與異步174
5.1.3門控時鐘180
5.1.4跨時鐘域184
5.1.5非理想時鐘194
5.2靜態(tài)時序分析196
5.2.1靜態(tài)時序分析基本概念196
5.2.2靜態(tài)時序分析相關參數(shù)197
5.2.3時序路徑201
5.2.4關鍵參數(shù)計算202
5.2.5時序違例的修復方法202
5.2.6FPGA時序分析206
5.3數(shù)字SoC驗證211
5.3.1驗證的基本概念 211
5.3.2UVM驗證方法學212
5.3.3驗證的策略219
5.3.4驗證的方法225
5.3.5驗證的評估227
5.3.6驗證案例228
第6章基于FPGA的數(shù)字SoC設計243
6.1設計需求243
6.2設計方案243
6.2.1SoC整體架構243
6.2.2串口簡介244
6.2.3AMBA總線簡介250
6.2.4ARM Cortex-M0+微處理器簡介261
6.3系統(tǒng)設計265
6.3.1系統(tǒng)硬件搭建265
6.3.2C語言控制程序編寫268
6.4功能仿真271
6.4.1UART模塊仿真271
6.4.2掛載于APB的UART模塊仿真278
6.4.3基于Cortex-M0+的SoC仿真278
6.5SoC綜合與布局布線281
第7章AES加密模塊設計285
7.1AES算法簡介285
7.1.1AES加密算法原理285
7.1.2AES加密模塊算法實現(xiàn)288
7.2AES算法硬件加速模塊設計292
7.2.1整體接口設計292
7.2.2頂層模塊設計293
7.2.3輸入模塊接口設計295
7.2.4輸入模塊狀態(tài)機設計295
7.2.5加密核模塊接口設計298
7.2.6加密核模塊299
7.2.7輸出模塊接口設計305
7.2.8輸出模塊設計305
7.3AES算法硬件加速模塊仿真307
7.3.1Testbench編寫307
7.3.2ModelSim仿真308
7.3.3仿真結果分析315
7.3.4ModelSim仿真中可能出現(xiàn)的問題316
7.3.5其他ModelSim常用操作318
7.4AES算法硬件加速模塊綜合319
7.4.1腳本文件介紹319
7.4.2設計文件修改324
7.4.3Design Compiler綜合操作325
7.4.4綜合結果分析329
參考文獻334