關(guān)于我們
書(shū)單推薦
新書(shū)推薦
|
Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程(第3版)(十一五)
本書(shū)講述了利用硬件描述語(yǔ)言(VerilogHDL)設(shè)計(jì)復(fù)雜數(shù)字系統(tǒng)的方法。這種方法源自20世紀(jì)90年代的美國(guó),在美國(guó)取得成效后迅速在其他先進(jìn)工業(yè)國(guó)得到推廣和普及。利用硬件描述語(yǔ)言建模、通過(guò)仿真和綜合技術(shù)設(shè)計(jì)出極其復(fù)雜的數(shù)字系統(tǒng)是這種技術(shù)的*優(yōu)勢(shì)。
本書(shū)從算法和計(jì)算的基本概念出發(fā),講述如何用硬線(xiàn)邏輯電路實(shí)現(xiàn)復(fù)雜數(shù)字邏輯系統(tǒng)的方法。全書(shū)共四部分。*部分Verilog數(shù)字設(shè)計(jì)基礎(chǔ)與第二部分Verilog數(shù)字系統(tǒng)設(shè)計(jì)和驗(yàn)證共18章;第三部分共12個(gè)上機(jī)練習(xí)實(shí)驗(yàn)范例;第四部分是Verilog硬件描述語(yǔ)言參考手冊(cè),可供讀者學(xué)習(xí)、查詢(xún)之用。本書(shū)第3版后,在語(yǔ)法篇中增加了IEEEVerilogl364 2001標(biāo)準(zhǔn)簡(jiǎn)介,以反映Verilog語(yǔ)法的*變化。
本書(shū)的講授方式以每2學(xué)時(shí)講授一章為宜,每次課后需要花10h來(lái)復(fù)習(xí)思考。完成10章學(xué)習(xí)后,就可以開(kāi)始做上機(jī)練習(xí),從簡(jiǎn)單到復(fù)雜,由典型到一般,循序漸進(jìn)地學(xué)習(xí)VerilogHDL基礎(chǔ)知識(shí)。按照書(shū)上的步驟,可以使大學(xué)電子類(lèi)及計(jì)算機(jī)工程類(lèi)本科及研究生,以及相關(guān)領(lǐng)域的設(shè)計(jì)工程人員在半年內(nèi)掌握VerilogHDL設(shè)計(jì)技術(shù)。
本書(shū)可作為電子工程類(lèi)、自動(dòng)控制類(lèi)、計(jì)算機(jī)類(lèi)的大學(xué)本科高年級(jí)及研究生教學(xué)用書(shū),亦可供其他工程人員自學(xué)與參考。
前 言 數(shù)字信號(hào)處理(DSP)系統(tǒng)的研究人員一直在努力尋找各種經(jīng)優(yōu)化的算法來(lái)解決相關(guān)的信號(hào)處理問(wèn)題。當(dāng)他們產(chǎn)生了比較理想的算法思路后,就在計(jì)算機(jī)上用C語(yǔ)言或其他語(yǔ)言程序來(lái)驗(yàn)證該算法,并不斷修改以期完善,然后與別的算法做性能比較。在現(xiàn)代通信和計(jì)算機(jī)系統(tǒng)中,對(duì)于DSP算法評(píng)價(jià)最重要的指標(biāo)是看它能否滿(mǎn)足工程上的需要。而許多工程上的需要都有實(shí)時(shí)響應(yīng)的要求,也就是所設(shè)計(jì)的數(shù)字信號(hào)處理(DSP)系統(tǒng)必須在限定的時(shí)間內(nèi),如在幾個(gè)毫秒(ms)甚至幾個(gè)微秒(s)內(nèi),對(duì)所輸入的大量數(shù)據(jù)完成相當(dāng)復(fù)雜的運(yùn)算,并輸出處理結(jié)果。這時(shí)如果僅僅使用通用的微處理器,即使是專(zhuān)用于信號(hào)處理的微處理器,往往也無(wú)法滿(mǎn)足實(shí)時(shí)響應(yīng)的要求。因此,不得不設(shè)計(jì)專(zhuān)用的高速硬線(xiàn)邏輯來(lái)完成這樣的運(yùn)算。設(shè)計(jì)這樣有苛刻實(shí)時(shí)要求的、復(fù)雜的高速硬線(xiàn)運(yùn)算邏輯是一件很有挑戰(zhàn)性的工作,即使有了好的算法而沒(méi)有好的設(shè)計(jì)工具和方法也很難完成。 半個(gè)世紀(jì)來(lái),我國(guó)在復(fù)雜數(shù)字電路設(shè)計(jì)技術(shù)領(lǐng)域與國(guó)外的差距越來(lái)越大。作為一名在大學(xué)講授專(zhuān)用數(shù)字電路與系統(tǒng)設(shè)計(jì)課程的老師深深感到責(zé)任的重大。筆者認(rèn)為,我國(guó)在這一技術(shù)領(lǐng)域的落后與大學(xué)的課程設(shè)置和教學(xué)條件有關(guān)。因?yàn)槲覀儧](méi)有及時(shí)把國(guó)外最先進(jìn)的設(shè)計(jì)方法和技術(shù)介紹給學(xué)生,也沒(méi)有給他們創(chuàng)造實(shí)踐的機(jī)會(huì)。 1995年我受學(xué)校和系領(lǐng)導(dǎo)的委托,籌建世行貸款的電路設(shè)計(jì)自動(dòng)化(EDA)實(shí)驗(yàn)室。通過(guò)20多年來(lái)的摸索、實(shí)踐,逐步掌握了利用VerilogHDL設(shè)計(jì)復(fù)雜數(shù)字電路的仿真和綜合技術(shù)。 在此期間我們?yōu)楹教觳康扔嘘P(guān)單位設(shè)計(jì)了衛(wèi)星信道加密用的復(fù)雜數(shù)字電路,提供給他們經(jīng)前后仿真驗(yàn)證的VerilogHDL源代碼,得到了很高的評(píng)價(jià)。在其后的幾年中又為該單位設(shè)計(jì)了衛(wèi)星下行信道RS(255,223)編碼/解碼電路和衛(wèi)星上行信道BCH(64,56)編碼/解碼電路,這幾個(gè)項(xiàng)目已先后通過(guò)有關(guān)單位的驗(yàn)收。1999年到2000年期間,我們又成功地設(shè)計(jì)了用于小波(Wavelet)圖像壓縮/解壓縮的小波卷積器和改進(jìn)的零修剪樹(shù)算法(SPIHT算法)的RTL級(jí)VerilogHDL模型。不但成功地對(duì)該模型進(jìn)行了仿真和綜合,而且制成的可重新配置硬線(xiàn)邏輯(采用ALTERAFLEX10K 系列CPLD/10/30/50各一片)的PCI線(xiàn)路板,能完成約2000條C語(yǔ)句程序才能完成的圖像/解壓縮算法。運(yùn)算結(jié)果與軟件完成的效果完全一致,而且速度比用微型計(jì)算機(jī)快得多。2003年由作者協(xié)助指導(dǎo)的JPEG2000算法硬線(xiàn)邏輯設(shè)計(jì),在清華同行的努力下完成了FPGA 驗(yàn)證后并成功地投片,該芯片目前已應(yīng)用于實(shí)時(shí)監(jiān)控系統(tǒng),可見(jiàn)這種新設(shè)計(jì)方法的潛力。近年來(lái)作者帶領(lǐng)的研究生分別為日本某公司、香港科技大學(xué)電子系、革新科技公司和神州龍芯集成電路設(shè)計(jì)公司完成多項(xiàng)設(shè)計(jì),其中包括SATA 接口、AMBA 總線(xiàn)接口、LED 控制器和USB控制器等在內(nèi)的多項(xiàng)IP設(shè)計(jì),取得了良好的社會(huì)效益和聲譽(yù)。2006年秋起,正式受聘于神州龍芯等集成電路設(shè)計(jì)公司擔(dān)任技術(shù)顧問(wèn),目前在至芯科技公司擔(dān)任FPGA 設(shè)計(jì)培訓(xùn)顧問(wèn)。 本書(shū)是在1998年北京航空航天大學(xué)出版社出版的《復(fù)雜數(shù)字電路與系統(tǒng)的VerilogHDL設(shè)計(jì)技術(shù)》、2003年《Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程》和2008年《Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程(第2版)》基礎(chǔ)上修訂的,是一本既有理論又有實(shí)踐的設(shè)計(jì)大全。由于教學(xué)、科研、技術(shù)資料翻譯和實(shí)驗(yàn)室的各項(xiàng)工作很忙,只能利用零碎時(shí)間,一點(diǎn)一滴地把積累的教學(xué)經(jīng)驗(yàn)和新收集到的材料補(bǔ)充輸入到計(jì)算機(jī)中,抽空加以整理。我們使用Verilog設(shè)計(jì)復(fù)雜數(shù)字邏輯電路雖然已經(jīng)有20余年的時(shí)間,但仍在不斷地學(xué)習(xí)提高之中,書(shū)中難免存在疏忽、錯(cuò)誤之處,敬請(qǐng)細(xì)心的讀者不吝指教。筆者之所以在原版基礎(chǔ)上把這本書(shū)再版,是想把原教材中一些不足的地方作一些必要的補(bǔ)充和修改,在大學(xué)生和研究生中加快Verilog設(shè)計(jì)技術(shù)的推廣,盡快培養(yǎng)一批掌握先進(jìn)設(shè)計(jì)技術(shù)的跨世紀(jì)的人才。期望本書(shū)能在這一過(guò)程中起到拋磚引玉的作用。 回想起來(lái),這本書(shū)實(shí)質(zhì)上是我們實(shí)驗(yàn)室全體老師和同學(xué)們多年的勞動(dòng)成果,其中在EDA實(shí)驗(yàn)室工作過(guò)的歷屆研究生張琰、山崗、王靜璇、田玉文、馮文楠、楊柳、傅紅軍、龔劍、王書(shū)龍、胡瑛、楊雷、邢偉、管麗、劉曦、王進(jìn)磊、王煜華、蘇宇、張?jiān)品铞、徐偉俊、邢小地、霍?qiáng)、宋成偉、邢志成、李鵬、李琪、陳巖、趙宗民等都幫我做了許多工作,如部分素材的翻譯、整理、錄入和一些VerilogHDL模塊的設(shè)計(jì)修改和驗(yàn)證。而我做的工作只是收集全書(shū)的素材、翻譯、理解素材中一些較難的概念,結(jié)合教學(xué)經(jīng)驗(yàn)編寫(xiě)一些章節(jié)和范例,以及全書(shū)文稿的最后組織、整理和補(bǔ)充,使其達(dá)到出版的要求。趁此機(jī)會(huì)讓我衷心地感謝在編寫(xiě)本書(shū)過(guò)程中所有給過(guò)我?guī)椭凸膭?lì)的老師和同學(xué)們。本書(shū)是在第2版第20次印刷之后,受北航出版社之托進(jìn)行的,雖然被稱(chēng)為第3版,然而本人在至芯科技的FPGA 培訓(xùn)工作繁忙,沒(méi)有時(shí)間對(duì)本書(shū)做大幅度的修改,望各位讀者諒解。 教學(xué)中使用的多媒體課件已交付給出版社,有需要者可發(fā)送電子郵件至goodtextbook@126.com 向北航出版社索取,可以免費(fèi)提供給有關(guān)教師指導(dǎo)教學(xué)和備課演示之用。 筆者的電子郵箱是xyw46@263.net,有問(wèn)題可與作者商討,謝謝! 夏宇聞 2017年7月 緒 論…………………………………………………………………………………………… 1 第一部分 Verilog數(shù)字設(shè)計(jì)基礎(chǔ) 第1章 Verilog的基本知識(shí) …………………………………………………………………… 10 1.1 硬件描述語(yǔ)言 HDL ………………………………………………………………… 10 1.2 VerilogHDL的歷史 ………………………………………………………………… 11 1.2.1 什么是VerilogHDL …………………………………………………………… 11 1.2.2 VerilogHDL的產(chǎn)生及發(fā)展 …………………………………………………… 11 1.3 VerilogHDL和 VHDL的比較 …………………………………………………… 12 1.4 Verilog的應(yīng)用情況和適用的設(shè)計(jì) ………………………………………………… 13 1.5 采用 VerilogHDL設(shè)計(jì)復(fù)雜數(shù)字電路的優(yōu)點(diǎn) …………………………………… 13 1.5.1 傳統(tǒng)設(shè)計(jì)方法電路原理圖輸入法 ………………………………………… 13 1.5.2 VerilogHDL設(shè)計(jì)法與傳統(tǒng)的電路原理圖輸入法的比較 …………………… 14 1.5.3 Verilog的標(biāo)準(zhǔn)化與軟核的重用 ……………………………………………… 14 1.5.4 軟核、固核和硬核的概念及其重用 …………………………………………… 14 1.6 采用硬件描述語(yǔ)言(VerilogHDL)的設(shè)計(jì)流程簡(jiǎn)介 ……………………………… 15 1.6.1 自頂向下(Top_Down)設(shè)計(jì)的基本概念 ……………………………………… 15 1.6.2 層次管理的基本概念 …………………………………………………………… 16 1.6.3 具體模塊的設(shè)計(jì)編譯和仿真的過(guò)程 …………………………………………… 16 1.6.4 具體工藝器件的優(yōu)化、映像和布局布線(xiàn) ……………………………………… 16 小 結(jié) ……………………………………………………………………………………… 17 思 考 題 …………………………………………………………………………………… 18 第2章 Verilog語(yǔ)法的基本概念 ……………………………………………………………… 19 概 述 ……………………………………………………………………………………… 19 2.1 Verilog模塊的基本概念 …………………………………………………………… 20 2.2 Verilog用于模塊的測(cè)試 …………………………………………………………… 23 小 結(jié) ……………………………………………………………………………………… 24 思 考 題 …………………………………………………………………………………… 25 第3章 模塊的結(jié)構(gòu)、數(shù)據(jù)類(lèi)型、變量和基本運(yùn)算符號(hào) ……………………………………… 26 概 述 ……………………………………………………………………………………… 26 3.1 模塊的結(jié)構(gòu) …………………………………………………………………………… 26 3.1.1 模塊的端口定義 ………………………………………………………………… 26 3.1.2 模塊內(nèi)容 ………………………………………………………………………… 27 3.1.3 理解要點(diǎn) ………………………………………………………………………… 28 3.1.4 要點(diǎn)總結(jié) ………………………………………………………………………… 28 3.2 數(shù)據(jù)類(lèi)型及其常量和變量 …………………………………………………………… 29 3.2.1 常 量 …………………………………………………………………………… 29 3.2.2 變 量 …………………………………………………………………………… 32 3.3 運(yùn)算符及表達(dá)式 ……………………………………………………………………… 35 3.3.1 基本的算術(shù)運(yùn)算符 ……………………………………………………………… 35 3.3.2 位運(yùn)算符 ………………………………………………………………………… 36 小 結(jié) ……………………………………………………………………………………… 37 思 考 題 …………………………………………………………………………………… 38 第4章 運(yùn)算符、賦值語(yǔ)句和結(jié)構(gòu)說(shuō)明語(yǔ)句…………………………………………………… 39 概 述 ……………………………………………………………………………………… 39 4.1 邏輯運(yùn)算符…………………………………………………………………………… 39 4.2 關(guān)系運(yùn)算符…………………………………………………………………………… 40 4.3 等式運(yùn)算符…………………………………………………………………………… 40 4.4 移位運(yùn)算符…………………………………………………………………………… 41 4.5 位拼接運(yùn)算符………………………………………………………………………… 41 4.6 縮減運(yùn)算符…………………………………………………………………………… 42 4.7 優(yōu)先級(jí)別……………………………………………………………………………… 42 4.8 關(guān) 鍵 詞 ……………………………………………………………………………… 43 4.9 賦值語(yǔ)句和塊語(yǔ)句…………………………………………………………………… 43 4.9.1 賦值語(yǔ)句………………………………………………………………………… 43 4.9.2 塊語(yǔ)句…………………………………………………………………………… 45 小 結(jié) ……………………………………………………………………………………… 48 思 考 題 …………………………………………………………………………………… 49 第5章 條件語(yǔ)句、循環(huán)語(yǔ)句、塊語(yǔ)句與生成語(yǔ)句 …………………………………………… 50 概 述 ……………………………………………………………………………………… 50 5.1 條件語(yǔ)句(if_else語(yǔ)句)……………………………………………………………… 50 5.2 case語(yǔ)句 ……………………………………………………………………………… 53 5.3 條件語(yǔ)句的語(yǔ)法 ……………………………………………………………………… 57 5.4 多路分支語(yǔ)句 ………………………………………………………………………… 58 2 Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程(第3版) 5.5 循環(huán)語(yǔ)句 ……………………………………………………………………………… 60 5.5.1 forever語(yǔ)句……………………………………………………………………… 60 5.5.2 repeat語(yǔ)句 ……………………………………………………………………… 60 5.5.3 while語(yǔ)句 ……………………………………………………………………… 61 5.5.4 for語(yǔ)句 ………………………………………………………………………… 61 5.6 順序塊和并行塊 ……………………………………………………………………… 63 5.6.1 塊語(yǔ)句的類(lèi)型 …………………………………………………………………… 63 5.6.2 塊語(yǔ)句的特點(diǎn) …………………………………………………………………… 65 5.7 生成塊 ………………………………………………………………………………… 67 5.7.1 循環(huán)生成語(yǔ)句 …………………………………………………………………… 68 5.7.2 條件生成語(yǔ)句 …………………………………………………………………… 70 5.7.3 case生成語(yǔ)句 …………………………………………………………………… 71 5.8 舉 例 ………………………………………………………………………………… 72 5.8.1 四選一多路選擇器 ……………………………………………………………… 72 5.8.2 四位計(jì)數(shù)器 ……………………………………………………………………… 73 小 結(jié) ……………………………………………………………………………………… 74 思 考 題 …………………………………………………………………………………… 75 第6章 結(jié)構(gòu)語(yǔ)句、系統(tǒng)任務(wù)、函數(shù)語(yǔ)句和顯示系統(tǒng)任務(wù) …………………………………… 78 概 述 ……………………………………………………………………………………… 78 6.1 結(jié)構(gòu)說(shuō)明語(yǔ)句 ………………………………………………………………………… 78 6.1.1 initial語(yǔ)句 ……………………………………………………………………… 78 6.1.2 always語(yǔ)句 ……………………………………………………………………… 79 6.2 task和function說(shuō)明語(yǔ)句…………………………………………………………… 82 6.2.1 task和function說(shuō)明語(yǔ)句的不同點(diǎn) …………………………………………… 82 6.2.2 task說(shuō)明語(yǔ)句 …………………………………………………………………… 83 6.2.3 function說(shuō)明語(yǔ)句 ……………………………………………………………… 84 6.2.4 函數(shù)的使用舉例 ………………………………………………………………… 86 6.2.5 自動(dòng)(遞歸)函數(shù) ………………………………………………………………… 88 6.2.6 常量函數(shù) ………………………………………………………………………… 89 6.2.7 帶符號(hào)函數(shù) ……………………………………………………………………… 90 6.3 關(guān)于使用任務(wù)和函數(shù)的小結(jié) ………………………………………………………… 90 6.4 常用的系統(tǒng)任務(wù) ……………………………………………………………………… 91 6.4.1 $display和$write任務(wù) ……………………………………………………… 91 6.4.2 文件輸出 ………………………………………………………………………… 94 6.4.3 顯示層次 ………………………………………………………………………… 96 6.4.4 選通顯示 ………………………………………………………………………… 96 6.4.5 值變轉(zhuǎn)儲(chǔ)文件 …………………………………………………………………… 97 6.5 其他系統(tǒng)函數(shù)和任務(wù) ……………………………………………………………… 98 小 結(jié) ……………………………………………………………………………………… 98 思 考 題 …………………………………………………………………………………… 99 第7章 調(diào)試用系統(tǒng)任務(wù)和常用編譯預(yù)處理語(yǔ)句…………………………………………… 100 概 述……………………………………………………………………………………… 100 7.1 系統(tǒng)任務(wù) $monitor ……………………………………………………………… 100 7.2 時(shí)間度量系統(tǒng)函數(shù)$time ………………………………………………………… 101 7.3 系統(tǒng)任務(wù)$finish…………………………………………………………………… 102 7.4 系統(tǒng)任務(wù)$stop …………………………………………………………………… 102 7.5 系統(tǒng)任務(wù)$readmemb和$readmemh …………………………………………… 103 7.6 系統(tǒng)任務(wù)$random ………………………………………………………………… 105 7.7 編譯預(yù)處理 ………………………………………………………………………… 106 7.7.1 宏定義 d?efine ………………………………………………………………… 106 7.7.2 文件包含處理 i?nclude …………………………………………………… 108 7.7.3 時(shí)間尺度 t?imescale…………………………………………………………… 111 7.7.4 條件編譯命令i?fdef、e?lse、e?ndif …………………………………………… 113 7.7.5 條件執(zhí)行 ……………………………………………………………………… 114 小 結(jié)……………………………………………………………………………………… 115 思 考 題 …………………………………………………………………………………… 116 第8章 語(yǔ)法概念總復(fù)習(xí)練習(xí)………………………………………………………………… 117 概 述……………………………………………………………………………………… 117 小 結(jié)……………………………………………………………………………………… 128 第二部分 Verilog數(shù)字系統(tǒng)設(shè)計(jì)和驗(yàn)證 第9章 VerilogHDL模型的不同抽象級(jí)別 ………………………………………………… 130 概 述……………………………………………………………………………………… 130 9.1 門(mén)級(jí)結(jié)構(gòu)描述 ……………………………………………………………………… 130 9.1.1 與非門(mén)、或門(mén)和反向器及其說(shuō)明語(yǔ)法 ………………………………………… 130 9.1.2 用門(mén)級(jí)結(jié)構(gòu)描述D觸發(fā)器 …………………………………………………… 131 9.1.3 由已經(jīng)設(shè)計(jì)成的模塊構(gòu)成更高一層的模塊 ………………………………… 132 9.2 VerilogHDL的行為描述建模 …………………………………………………… 133 9.2.1 僅用于產(chǎn)生仿真測(cè)試信號(hào)的VerilogHDL行為描述建模 ………………… 134 9.2.2 VerilogHDL建模在Top Down設(shè)計(jì)中的作用和行為建模的可綜合性問(wèn)題………………………………………………………………………………… 136 9.3 用戶(hù)定義的原語(yǔ) …………………………………………………………………… 137 小 結(jié)……………………………………………………………………………………… 138 思 考 題 …………………………………………………………………………………… 139 第10章 如何編寫(xiě)和驗(yàn)證簡(jiǎn)單的純組合邏輯模塊 ………………………………………… 140 概 述……………………………………………………………………………………… 140 10.1 加法器 ……………………………………………………………………………… 140 10.2 乘法器 ……………………………………………………………………………… 142 10.3 比較器 ……………………………………………………………………………… 145 10.4 多路器 ……………………………………………………………………………… 146 10.5 總線(xiàn)和總線(xiàn)操作 …………………………………………………………………… 148 10.6 流水線(xiàn) ……………………………………………………………………………… 149 小 結(jié)……………………………………………………………………………………… 154 思 考 題 …………………………………………………………………………………… 155 第11章 復(fù)雜數(shù)字系統(tǒng)的構(gòu)成 ……………………………………………………………… 156 概 述……………………………………………………………………………………… 156 11.1 運(yùn)算部件和數(shù)據(jù)流動(dòng)的控制邏輯 ………………………………………………… 156 11.1.1 數(shù)字邏輯電路的種類(lèi) ………………………………………………………… 156 11.1.2 數(shù)字邏輯電路的構(gòu)成 ………………………………………………………… 156 11.2 數(shù)據(jù)在寄存器中的暫時(shí)保存 ……………………………………………………… 158 11.3 數(shù)據(jù)流動(dòng)的控制 …………………………………………………………………… 160 11.4 在 VerilogHDL設(shè)計(jì)中啟用同步時(shí)序邏輯 …………………………………… 162 11.5 數(shù)據(jù)接口的同步方法 ……………………………………………………………… 164 小 結(jié)……………………………………………………………………………………… 165 思 考 題 …………………………………………………………………………………… 165 第12章 同步狀態(tài)機(jī)的原理、結(jié)構(gòu)和設(shè)計(jì)…………………………………………………… 166 概 述……………………………………………………………………………………… 166 12.1 狀態(tài)機(jī)的結(jié)構(gòu) ……………………………………………………………………… 166 12.2 Mealy狀態(tài)機(jī)和 Moore狀態(tài)機(jī)的不同點(diǎn)………………………………………… 167 12.3 如何用Verilog來(lái)描述可綜合的狀態(tài)機(jī) ………………………………………… 168 12.3.1 用可綜合Verilog模塊設(shè)計(jì)狀態(tài)機(jī)的典型辦法 …………………………… 168 12.3.2 用可綜合的 Verilog模塊設(shè)計(jì)、用獨(dú)熱碼表示狀態(tài)的狀態(tài)機(jī) ……………… 170 12.3.3 用可綜合的 Verilog模塊設(shè)計(jì)、由輸出指定的碼表示狀態(tài)的狀態(tài)機(jī) ……… 171 12.3.4 用可綜合的 Verilog模塊設(shè)計(jì)復(fù)雜的多輸出狀態(tài)機(jī)時(shí)常用的方法 ……… 173 小 結(jié)……………………………………………………………………………………… 175 思 考 題 …………………………………………………………………………………… 176 第13章 設(shè)計(jì)可綜合的狀態(tài)機(jī)的指導(dǎo)原則 ………………………………………………… 177 概 述……………………………………………………………………………………… 177 13.1 用 VerilogHDL語(yǔ)言設(shè)計(jì)可綜合的狀態(tài)機(jī)的指導(dǎo)原則 ……………………… 177 目 錄 5 13.2 典型的狀態(tài)機(jī)實(shí)例 ………………………………………………………………… 178 13.3 綜合的一般原則 …………………………………………………………………… 180 13.4 語(yǔ)言指導(dǎo)原則 ……………………………………………………………………… 180 13.5 可綜合風(fēng)格的 VerilogHDL模塊實(shí)例 ………………………………………… 181 13.5.1 組合邏輯電路設(shè)計(jì)實(shí)例 ……………………………………………………… 181 13.5.2 時(shí)序邏輯電路設(shè)計(jì)實(shí)例 ……………………………………………………… 187 13.6 狀態(tài)機(jī)的置位與復(fù)位 ……………………………………………………………… 189 13.6.1 狀態(tài)機(jī)的異步置位與復(fù)位 …………………………………………………… 189 13.6.2 狀態(tài)機(jī)的同步置位與復(fù)位 …………………………………………………… 191 小 結(jié)……………………………………………………………………………………… 192 思 考 題 …………………………………………………………………………………… 193 第14章 深入理解阻塞和非阻塞賦值的不同 ……………………………………………… 194 概 述……………………………………………………………………………………… 194 14.1 阻塞和非阻塞賦值的異同 ………………………………………………………… 194 14.1.1 阻塞賦值 ……………………………………………………………………… 195 14.1.2 非阻塞賦值 …………………………………………………………………… 196 14.2 Verilog模塊編程要點(diǎn) …………………………………………………………… 196 14.3 Verilog的層次化事件隊(duì)列 ……………………………………………………… 197 14.4 自觸發(fā)always塊 ………………………………………………………………… 198 14.5 移位寄存器模型 …………………………………………………………………… 199 14.6 阻塞賦值及一些簡(jiǎn)單的例子 ……………………………………………………… 203 14.7 時(shí)序反饋移位寄存器建模 ………………………………………………………… 203 14.8 組合邏輯建模時(shí)應(yīng)使用阻塞賦值 ………………………………………………… 205 14.9 時(shí)序和組合的混合邏輯使用非阻塞賦值 …………………………………… 207 14.10 其他阻塞和非阻塞混合使用的原則 …………………………………………… 208 14.11 對(duì)同一變量進(jìn)行多次賦值 ……………………………………………………… 209 14.12 常見(jiàn)的對(duì)于非阻塞賦值的誤解 ………………………………………………… 210 小 結(jié)……………………………………………………………………………………… 212 思 考 題 …………………………………………………………………………………… 212 第15章 較復(fù)雜時(shí)序邏輯電路設(shè)計(jì)實(shí)踐 …………………………………………………… 213 概 述……………………………………………………………………………………… 213 小 結(jié)……………………………………………………………………………………… 224 思 考 題 …………………………………………………………………………………… 224 第16章 復(fù)雜時(shí)序邏輯電路設(shè)計(jì)實(shí)踐 ……………………………………………………… 226 概 述……………………………………………………………………………………… 226 16.1 二線(xiàn)制I2CCMOS串行EEPROM 的簡(jiǎn)單介紹 ………………………………… 226 16.2 I2C總線(xiàn)特征介紹 ………………………………………………………………… 226 6 Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程(第3版) 16.3 二線(xiàn)制I2CCMOS串行EEPROM 的讀寫(xiě)操作 ……………………………… 227 16.4 EEPROM 的VerilogHDL程序 ………………………………………………… 228 總 結(jié)……………………………………………………………………………………… 251 思 考 題 …………………………………………………………………………………… 251 第17章 簡(jiǎn)化的 RISC_CPU設(shè)計(jì) …………………………………………………………… 252 概 述……………………………………………………………………………………… 252 17.1 課題的來(lái)由和設(shè)計(jì)環(huán)境介紹 ……………………………………………………… 252 17.2 什么是CPU ……………………………………………………………………… 253 17.3 RISC_CPU結(jié)構(gòu) ………………………………………………………………… 253 17.3.1 時(shí)鐘發(fā)生器 …………………………………………………………………… 255 17.3.2 指令寄存器 …………………………………………………………………… 257 17.3.3 累加器 ………………………………………………………………………… 258 17.3.4 算術(shù)運(yùn)算器 …………………………………………………………………… 259 17.3.5 數(shù)據(jù)控制器 …………………………………………………………………… 260 17.3.6 地址多路器 …………………………………………………………………… 261 17.3.7 程序計(jì)數(shù)器 …………………………………………………………………… 261 17.3.8 狀態(tài)控制器 …………………………………………………………………… 262 17.3.9 外圍模塊 ……………………………………………………………………… 268 17.4 RISC_CPU 操作和時(shí)序…………………………………………………………… 269 17.4.1 系統(tǒng)的復(fù)位和啟動(dòng)操作 ……………………………………………………… 269 17.4.2 總線(xiàn)讀操作 …………………………………………………………………… 270 17.4.3 總線(xiàn)寫(xiě)操作 …………………………………………………………………… 271 17.5 RISC_CPU尋址方式和指令系統(tǒng)………………………………………………… 271 17.6 RISC_CPU模塊的調(diào)試 ………………………………………………………… 272 17.6.1 RISC_CPU模塊的前仿真 …………………………………………………… 272 17.6.2 RISC_CPU模塊的綜合 ……………………………………………………… 286 17.6.3 RISC_CPU模塊的優(yōu)化和布局布線(xiàn) ………………………………………… 292 小 結(jié)……………………………………………………………………………………… 302 思 考 題 …………………………………………………………………………………… 303 第18章 虛擬器件/接口、IP和基于平臺(tái)的設(shè)計(jì)方法及其在大型數(shù)字系統(tǒng)設(shè)計(jì)中的作用…………………………………………………………………………………… 304 概 述……………………………………………………………………………………… 304 18.1 軟核和硬核、宏單元、虛擬器件、設(shè)計(jì)和驗(yàn)證IP以及基于平臺(tái)的設(shè)計(jì)方法 …… 304 18.2 設(shè)計(jì)和驗(yàn)證IP供應(yīng)商 …………………………………………………………… 306 18.3 虛擬模塊的設(shè)計(jì) …………………………………………………………………… 307 18.4 虛擬接口模塊的實(shí)例 ……………………………………………………………… 311 小 結(jié)……………………………………………………………………………………… 312 思 考 題 …………………………………………………………………………………… 312 目 錄 7 第三部分 Verilog數(shù)字設(shè)計(jì)示范與實(shí)驗(yàn)練習(xí) 概 述……………………………………………………………………………………… 313 練習(xí)一 簡(jiǎn)單的組合邏輯設(shè)計(jì)…………………………………………………………… 314 練習(xí)二 簡(jiǎn)單分頻時(shí)序邏輯電路的設(shè)計(jì)………………………………………………… 316 練習(xí)三 利用條件語(yǔ)句實(shí)現(xiàn)計(jì)數(shù)分頻時(shí)序電路………………………………………… 318 練習(xí)四 阻塞賦值與非阻塞賦值的區(qū)別………………………………………………… 320 練習(xí)五 用always塊實(shí)現(xiàn)較復(fù)雜的組合邏輯電路 …………………………………… 322 練習(xí)六 在VerilogHDL中使用函數(shù) ………………………………………………… 324 練習(xí)七 在VerilogHDL中使用任務(wù)(task) ………………………………………… 326 練習(xí)八 利用有限狀態(tài)機(jī)進(jìn)行時(shí)序邏輯的設(shè)計(jì)………………………………………… 329 練習(xí)九 利用狀態(tài)機(jī)實(shí)現(xiàn)比較復(fù)雜的接口設(shè)計(jì)………………………………………… 332 練習(xí)十 通過(guò)模塊實(shí)例調(diào)用實(shí)現(xiàn)大型系統(tǒng)的設(shè)計(jì)……………………………………… 337 練習(xí)十一 簡(jiǎn)單卷積器的設(shè)計(jì)…………………………………………………………… 343 附錄一 A/D轉(zhuǎn)換器的 VerilogHDL模型機(jī)所需要的技術(shù)參數(shù) ………………… 357 附錄二 2K*8位 異步 CMOS靜態(tài)RAM HM 65162模型 …………………… 361 練習(xí)十二 利用SRAM 設(shè)計(jì)一個(gè)FIFO ……………………………………………… 366 第四部分 Verilog簡(jiǎn)明語(yǔ)法 語(yǔ)法篇1 關(guān)于VerilogHDL的說(shuō)明 ………………………………………………………… 376 一、關(guān)于IEEE1364標(biāo)準(zhǔn) ……………………………………………………………… 376 二、Verilog簡(jiǎn)介 ………………………………………………………………………377 三、語(yǔ)法總結(jié) ……………………………………………………………………………… 377 四、編寫(xiě) VerilogHDL源代碼的標(biāo)準(zhǔn) ………………………………………………… 379 五、設(shè)計(jì)流程 ……………………………………………………………………………… 381 語(yǔ)法篇2 Verilog硬件描述語(yǔ)言參考手冊(cè)…………………………………………………… 382 一、VerilogHDL語(yǔ)句與常用標(biāo)志符(按字母順序排列)……………………………… 382 二、系統(tǒng)任務(wù)和函數(shù)(Systemtaskandfunction)……………………………………… 448 三、常用系統(tǒng)任務(wù)和函數(shù)的詳細(xì)使用說(shuō)明 ……………………………………………… 452 四、CommandLineOptions命令行的可選項(xiàng) ………………………………………… 463 五、IEEEVerilog1364 2001標(biāo)準(zhǔn)簡(jiǎn)介 ……………………………………………… 464 參考文獻(xiàn)…………………………………………………………………………………………478 出版者的話(huà)………………………………………………………………………………………479
你還可能感興趣
我要評(píng)論
|