隨著EDA技術(shù)和工具的發(fā)展,現(xiàn)代數(shù)字系統(tǒng)的設(shè)計(jì)思想、設(shè)計(jì)工具和實(shí)現(xiàn)方式均發(fā)生了深刻的變化,基本設(shè)計(jì)流程主要包括: 硬件描述語(yǔ)言(HDL)輸入; 仿真驗(yàn)證設(shè)計(jì)功能; 將HDL綜合為門級(jí)網(wǎng)表; 靜態(tài)時(shí)序分析驗(yàn)證時(shí)序; 后端ASIC或者FPGA實(shí)現(xiàn)。驗(yàn)證方法學(xué)、低功耗設(shè)計(jì)也是熱點(diǎn)問(wèn)題。隨著系統(tǒng)規(guī)模增大,將整個(gè)系統(tǒng)在單片系統(tǒng)上實(shí)現(xiàn)(即片上系統(tǒng),SoC)已逐漸成為主流。本書(shū)根據(jù)工程實(shí)踐與教學(xué)經(jīng)驗(yàn),采用最新參考流程,指導(dǎo)讀者完成大規(guī)模復(fù)雜系統(tǒng)的設(shè)計(jì)、驗(yàn)證和FPGA實(shí)現(xiàn)。本書(shū)注重實(shí)踐,配套教學(xué)PPT與全部實(shí)例代碼,詳細(xì)演示各項(xiàng)技術(shù),指導(dǎo)讀者動(dòng)手操作,對(duì)電子信息類學(xué)生系統(tǒng)掌握現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)有重要的參考價(jià)值。
隨著EDA技術(shù)和工具的發(fā)展,現(xiàn)代數(shù)字系統(tǒng)的設(shè)計(jì)思想、設(shè)計(jì)工具和實(shí)現(xiàn)方式均發(fā)生了深刻的變化,系統(tǒng)規(guī)模不斷增大,片上系統(tǒng)(SoC)已逐漸成為設(shè)計(jì)主流。本書(shū)根據(jù)工程實(shí)踐與教學(xué)經(jīng)驗(yàn),采用主流工具與參考流程,幫助讀者完成大規(guī)模復(fù)雜系統(tǒng)的設(shè)計(jì)、驗(yàn)證和FPGA實(shí)現(xiàn)。
本書(shū)在章節(jié)安排上,盡量按照現(xiàn)代數(shù)字系統(tǒng)開(kāi)發(fā)流程和由淺入深的學(xué)習(xí)順序來(lái)安排,讓讀者先了解FPGA器件原理,再學(xué)習(xí)基本的Verilog語(yǔ)法,采用Modelsim工具仿真調(diào)試,然后用Quartus Ⅱ工具綜合適配,生成FPGA配置信息流,并將其下載到FPGA開(kāi)發(fā)板上驗(yàn)證;玖鞒陶莆蘸螅蛇M(jìn)一步學(xué)習(xí)Verdi工具,提高調(diào)試效率; 使用TimeQuest時(shí)序約束與分析工具,評(píng)估設(shè)計(jì)的性能。工具都熟悉后,可再學(xué)習(xí)有限狀態(tài)機(jī)設(shè)計(jì)方法,自檢測(cè)Testbench設(shè)計(jì)方法,測(cè)試覆蓋率分析方法,理解多種良好的編碼風(fēng)格,了解功耗來(lái)源構(gòu)成和低功耗設(shè)計(jì)方法等。隨后可學(xué)習(xí)基于NiosⅡ的SOPC系統(tǒng)開(kāi)發(fā)過(guò)程,以及自定制IP核的設(shè)計(jì)與集成。最后的綜合設(shè)計(jì)中,詳細(xì)介紹了基于OR1200的SoC系統(tǒng)設(shè)計(jì)過(guò)程,包括系統(tǒng)架構(gòu)、硬件搭建、軟件開(kāi)發(fā)、軟硬件聯(lián)合仿真、FPGA實(shí)現(xiàn)、uboot移植、Linux移植等,從最小系統(tǒng)開(kāi)始,逐步添加功能模塊,成為較為實(shí)用的SoC系統(tǒng),是較好的SoC系統(tǒng)開(kāi)發(fā)示范。
全書(shū)章節(jié)安排如下:
第1章介紹了現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)流程、FPGA/CPLD器件原理和商用FPGA/CPLD器件。
第2章介紹了Verilog標(biāo)準(zhǔn)與基本語(yǔ)法、Testbench設(shè)計(jì)方法、仿真器工作原理,并列舉了一些設(shè)計(jì)實(shí)例,介紹了設(shè)計(jì)中的常見(jiàn)問(wèn)題。
第3章介紹了Modelsim仿真工具,主要采用命令行和腳本方式,并介紹了VCD輸出、測(cè)試覆蓋率相關(guān)操作。
第4章介紹了Verdi工具,以及如何與Modelsim聯(lián)合調(diào)試等問(wèn)題。
第5章介紹了Quartus Ⅱ工具使用、FPGA開(kāi)發(fā)流程,以及如何進(jìn)行功能仿真與時(shí)序仿真。
第6章介紹了時(shí)序約束與時(shí)序分析概念,以及TimeQuest工具使用。
第7章介紹了Synplify Pro工具使用。
第8章介紹了部分Verilog高級(jí)設(shè)計(jì),包括編碼風(fēng)格、自檢測(cè)Testbench設(shè)計(jì)、FSM設(shè)計(jì)、多時(shí)鐘域設(shè)計(jì),以及PLI編程。
第9章介紹了功耗來(lái)源、功耗估算方法,以及常見(jiàn)的低功耗設(shè)計(jì)方法。
第10章介紹了基于NiosⅡ的SOPC系統(tǒng)設(shè)計(jì),從系統(tǒng)搭建到μCLinux操作系統(tǒng)移植,并介紹了如何進(jìn)行IP核開(kāi)發(fā)與集成。
第11章介紹了基于OR1200的SoC系統(tǒng)設(shè)計(jì)過(guò)程,采用“OR1200 CPU + Wishbone總線+其他功能模塊”結(jié)構(gòu),從構(gòu)建基本平臺(tái)開(kāi)始,逐步添加外圍模塊,并移植了uboot和Linux系統(tǒng),最終實(shí)現(xiàn)了功能較為完備的實(shí)用SoC系統(tǒng)。
本書(shū)配套教學(xué)PPT與全部實(shí)例代碼,以便于教師教學(xué)及學(xué)生練習(xí)。
本書(shū)可用作EDA技術(shù)與應(yīng)用、SOPC系統(tǒng)設(shè)計(jì)、SoC設(shè)計(jì)方法學(xué)等課程的參考教材。EDA技術(shù)與應(yīng)用課程可重點(diǎn)講解第1、2、3、5、6、8章,SOPC系統(tǒng)設(shè)計(jì)課程可重點(diǎn)講解第3、4、6、8、9、10章,SoC設(shè)計(jì)方法學(xué)課程可重點(diǎn)講解第3、4、6、8、9、11章。
本書(shū)注重實(shí)踐,配套教學(xué)PPT與全部實(shí)例代碼,詳細(xì)演示各項(xiàng)技術(shù),指導(dǎo)讀者動(dòng)手操作,對(duì)電子信息類學(xué)生系統(tǒng)地掌握現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)有一定幫助。
全書(shū)行文力求簡(jiǎn)潔實(shí)用,閱讀過(guò)程中,可能需要讀者查閱相關(guān)標(biāo)準(zhǔn)、規(guī)范文檔。
本書(shū)撰寫(xiě)中,直接或間接引用了不少專家、學(xué)者的文獻(xiàn),以及EDA廠商的培訓(xùn)教材等,它們精辟的分析、簡(jiǎn)明的風(fēng)格,讓作者受益匪淺,在此表示感謝!書(shū)中引用處已做了說(shuō)明,疏漏之處敬請(qǐng)諒解。
全書(shū)由張德學(xué)博士、張小軍博士、郭華博士編寫(xiě),王維克、肖風(fēng)玉檢驗(yàn)了全書(shū)實(shí)例,提出了修改意見(jiàn),并對(duì)文字描述、圖片做了一些修正,陳新華教授審校了全書(shū)。全書(shū)由張德學(xué)負(fù)責(zé)統(tǒng)稿。
作者教學(xué)、實(shí)踐經(jīng)驗(yàn)尚淺,加之水平有限,謬誤和疏漏之處在所難免,敬請(qǐng)讀者指正。
張德學(xué)2015年1月