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