出版時(shí)間:2008-6 出版社:北京航空航天大學(xué)出版社 作者:夏宇聞 頁(yè)數(shù):477
Tag標(biāo)簽:無(wú)
前言
數(shù)字信號(hào)處理(DSP)系統(tǒ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)是看它能否滿足工程上的需要。而許多工程上的需要都有實(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í)如果僅僅使用通用的微處理器,即使是專用于信號(hào)處理的微處理器,往往也無(wú)法滿足實(shí)時(shí)響應(yīng)的要求。因此,不得不設(shè)計(jì)專用的高速硬線邏輯來(lái)完成這樣的運(yùn)算。設(shè)計(jì)這樣的有苛刻實(shí)時(shí)要求的、復(fù)雜的高速硬線運(yùn)算邏輯是一件很有挑戰(zhàn)性的工作,即使有了好的算法而沒有好的設(shè)計(jì)工具和方法也很難完成?! 〗?0年來(lái),我國(guó)在復(fù)雜數(shù)字電路設(shè)計(jì)技術(shù)領(lǐng)域與國(guó)外的差距越來(lái)越大。作為一名在大學(xué)講授專用數(shù)字電路與系統(tǒng)設(shè)計(jì)課程的老師深深感到責(zé)任的重大。我個(gè)人認(rèn)為,我國(guó)在這一技術(shù)領(lǐng)域的落后與大學(xué)的課程設(shè)置和教學(xué)條件有關(guān)。因?yàn)槲覀儧]有及時(shí)把國(guó)外最先進(jìn)的設(shè)計(jì)方法和技術(shù)介紹給學(xué)生,也沒有給他們創(chuàng)造實(shí)踐的機(jī)會(huì)。1995年我受學(xué)校的委托,籌建世行貸款的電路設(shè)計(jì)自動(dòng)化(EDA)實(shí)驗(yàn)室。通過(guò)13年的摸索、實(shí)踐,逐步掌握了利用VerilogHDL設(shè)計(jì)復(fù)雜數(shù)字電路的仿真和綜合技術(shù)。在此期間為航天部等有關(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)的零修剪樹算法(即SPIHT算法)的RTL級(jí)VerilogHDL模型。不但成功地對(duì)該模型進(jìn)行了仿真和綜合,而且制成的可重新配置硬線邏輯(采用ALTERAFLEX10K系列CPLD/10/30/50各一片)的PCI線路板,能完成約2000條C語(yǔ)句程序才能完成的圖像/解壓縮算法。運(yùn)算結(jié)果與軟件完成的完全一致,而且速度比用微型計(jì)算機(jī)快得多。2003年由我協(xié)助指導(dǎo)的JPEG2000算法硬線邏輯設(shè)計(jì),在清華同行的努力下完成了FPGA驗(yàn)證后并成功地投片,該芯片目前已應(yīng)用于實(shí)時(shí)監(jiān)控系統(tǒng)。近年來(lái)我?guī)ьI(lǐng)的研究生分別為日本某公司、香港科技大學(xué)電子系、革新科技公司和神州龍芯集成電路設(shè)計(jì)公司完成多項(xiàng)設(shè)計(jì),其中包括SATA接口、AMBA總線接口、LED控制器和USB控制器等在內(nèi)的多項(xiàng)IP設(shè)計(jì),取得了良好的社會(huì)效益和聲譽(yù)。2006年秋,正式受聘于神州龍芯集成電路設(shè)計(jì)公司擔(dān)任技術(shù)顧問(wèn),為中國(guó)的龍芯二號(hào)等IC事業(yè)提供必要的技術(shù)支持?! ”緯窃?998年北京航空航天大學(xué)出版社出版的《復(fù)雜數(shù)字電路與系統(tǒng)的VerilogHDL設(shè)計(jì)技術(shù)》和2003年《Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程》基礎(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)有13年的時(shí)間,但仍舊在不斷地學(xué)習(xí)提高之中,書中難免存在疏忽、錯(cuò)誤之處,敬請(qǐng)細(xì)心的讀者不吝指教。我之所以在原版基礎(chǔ)上把這本書再版,是想把原教材中一些不足的地方作一些必要的補(bǔ)充和修改,在大學(xué)生和研究生中加快Verilog設(shè)計(jì)技術(shù)的推廣,盡快培養(yǎng)一批掌握先進(jìn)設(shè)計(jì)技術(shù)的跨世紀(jì)的人才。期望本書能在這一過(guò)程中起到拋磚引玉的作用?! 』叵肫饋?lái),這本書實(shí)質(zhì)上是我們實(shí)驗(yàn)室全體老師和同學(xué)們多年的勞動(dòng)成果,其中在EDA實(shí)驗(yàn)室工作過(guò)的歷屆研究生張琰、山崗、王靜璇、田玉文、馮文楠、楊柳、傅紅軍、龔劍、王書龍、胡瑛、楊雷、邢偉、管麗、劉曦、王進(jìn)磊、王煜華、蘇宇、張?jiān)品?、楊鑫、徐偉俊、邢小地、霍?qiáng)、宋成偉、邢志成、李鵬、李琪、陳巖、趙宗民等都幫我做了許多工作,如部分素材的翻譯、整理、錄入和一些VerilogHDL模塊的設(shè)計(jì)修改和驗(yàn)證?! ”敬卧侔媸窃诒緯?次印刷之后受北航出版社之托進(jìn)行的,趁此機(jī)會(huì)讓我衷心地感謝在編寫本書過(guò)程中所有給過(guò)我?guī)椭凸膭?lì)的老師和同學(xué)們?! 〗虒W(xué)中使用的多媒體課件已在本書第3次印刷后交給出版社,有需要者可向北航出版社發(fā)行部索取,可以免費(fèi)提供給有關(guān)教師指導(dǎo)教學(xué)和備課演示之用。
內(nèi)容概要
本書講述了自20世紀(jì)90年代開始在美國(guó)和其他先進(jìn)的工業(yè)化國(guó)家逐步推廣的利用硬件描述語(yǔ)言(Verilog HDL)建模、仿真和綜合的設(shè)計(jì)復(fù)雜數(shù)字邏輯電路與系統(tǒng)的方法和技術(shù)。書中內(nèi)容從算法和計(jì)算的基本概念出發(fā),講述如何由硬線邏輯電路來(lái)實(shí)現(xiàn)復(fù)雜數(shù)字邏輯系統(tǒng)的方法。全書共分4部分。第一部分共8章,即Verilog數(shù)字設(shè)計(jì)基礎(chǔ)篇,可作為本科生的入門教材。第二部分共10章,即設(shè)計(jì)和驗(yàn)證篇,可作為本科高年級(jí)學(xué)生或研究生學(xué)習(xí)數(shù)字系統(tǒng)設(shè)計(jì)的參考書。第三部分為實(shí)踐篇,共提供12個(gè)上機(jī)練習(xí)和實(shí)驗(yàn)范例。第四部分是語(yǔ)法篇,即Verilog 硬件描述語(yǔ)言參考手冊(cè);IEEE Verilog13642001標(biāo)準(zhǔn)簡(jiǎn)介,以反映Verilog語(yǔ)法的最新變化,可供讀者學(xué)習(xí)、查詢之用。 本書的教學(xué)方式以每2學(xué)時(shí)講授一章為宜,每次課后需要花10 h復(fù)習(xí)思考。完成10章學(xué)習(xí)后,就可以開始做上機(jī)練習(xí),由簡(jiǎn)單到復(fù)雜,由典型到一般,循序漸進(jìn)地學(xué)習(xí)Verilog HDL基礎(chǔ)知識(shí)。按照書上的步驟,可以使大學(xué)電子類及計(jì)算機(jī)工程類本科及研究生,以及相關(guān)領(lǐng)域的設(shè)計(jì)工程人員在半年內(nèi)掌握Verilog HDL設(shè)計(jì)技術(shù)。 本書可作為電子工程類、自動(dòng)控制類、計(jì)算機(jī)類的大學(xué)本科高年級(jí)及研究生教學(xué)用書,亦可供其他工程人員自學(xué)與參考。
作者簡(jiǎn)介
夏宇聞,北京航空航天大學(xué)EDA實(shí)驗(yàn)室教授。
書籍目錄
第一部分 Verilog數(shù)字設(shè)計(jì)基礎(chǔ) 第1章 Verilog的基本知識(shí) 1.1 硬件描述語(yǔ)言HDL 1.2 Verilog HDL的歷史 1.2.1 什么是Verilog HDL 1.2.2 Verilog HDL的產(chǎn)生及發(fā)展 1.3 Verilog HDL和 VHDL的比較 1.4 Verilog的應(yīng)用情況和適用的設(shè)計(jì) 1.5 采用Verilog HDL設(shè)計(jì)復(fù)雜數(shù)字電路的優(yōu)點(diǎn) 1.5.1 傳統(tǒng)設(shè)計(jì)方法——電路原理圖輸入法 1.5.2 Verilog HDL設(shè)計(jì)法與傳統(tǒng)的電路原理圖輸入法的比較 1.5.3 Verilog的標(biāo)準(zhǔn)化與軟核的重用 1.5.4 軟核、固核和硬核的概念及其重用 1.6 采用硬件描述語(yǔ)言(Verilog HDL)的設(shè)計(jì)流程簡(jiǎn)介 1.6.1 自頂向下(Top_Down)設(shè)計(jì)的基本概念 1.6.2 層次管理的基本概念 1.6.3 具體模塊的設(shè)計(jì)編譯和仿真的過(guò)程 1.6.4 具體工藝器件的優(yōu)化、映像和布局布線 小結(jié) 思考題 第2章 Verilog語(yǔ)法的基本概念 概述 2.1 Verilog模塊的基本概念 2.2 Verilog用于模塊的測(cè)試 小結(jié) 思考題 第3章 模塊的結(jié)構(gòu)、數(shù)據(jù)類型、變量和基本運(yùn)算符號(hào) 概述 3.1 模塊的結(jié)構(gòu) 3.1.1 模塊的端口定義 3.1.2 模塊內(nèi)容 3.1.3 理解要點(diǎn) 3.1.4 要點(diǎn)總結(jié) 3.2 數(shù)據(jù)類型及其常量和變量 3.2.1 常量 3.2.2 變量 3.3 運(yùn)算符及表達(dá)式 3.3.1 基本的算術(shù)運(yùn)算符 3.3.2 位運(yùn)算符 小結(jié) 思考題 第4章 運(yùn)算符、賦值語(yǔ)句和結(jié)構(gòu)說(shuō)明語(yǔ)句 概述 4.1 邏輯運(yùn)算符 4.2 關(guān)系運(yùn)算符 4.3 等式運(yùn)算符 4.4 移位運(yùn)算符 4.5 位拼接運(yùn)算符 4.6 縮減運(yùn)算符 4.7 優(yōu)先級(jí)別 4.8 關(guān) 鍵 詞 4.9 賦值語(yǔ)句和塊語(yǔ)句 4.9.1 賦值語(yǔ)句 4.9.2 塊語(yǔ)句 小結(jié) 思考題 第5章 條件語(yǔ)句、循環(huán)語(yǔ)句、塊語(yǔ)句與生成語(yǔ)句 概述 5.1 條件語(yǔ)句(if_else語(yǔ)句) 5.2 case語(yǔ)句 5.3 條件語(yǔ)句的語(yǔ)法 5.4 多路分支語(yǔ)句 5.5 循環(huán)語(yǔ)句 5.5.1 forever語(yǔ)句 5.5.2 repeat語(yǔ)句 5.5.3 while語(yǔ)句 5.5.4 for語(yǔ)句 5.6 順序塊和并行塊 5.6.1 塊語(yǔ)句的類型 5.6.2 塊語(yǔ)句的特點(diǎn) 5.7 生成塊 5.7.1 循環(huán)生成語(yǔ)句 5.7.2 條件生成語(yǔ)句 5.7.3 case生成語(yǔ)句 5.8舉例 5.8.1 四選一多路選擇器 5.8.2 四位計(jì)數(shù)器 小結(jié) 思考題 第6章 結(jié)構(gòu)語(yǔ)句、系統(tǒng)任務(wù)、函數(shù)語(yǔ)句和顯示系統(tǒng)任務(wù) 概述 6.1 結(jié)構(gòu)說(shuō)明語(yǔ)句 6.1.1 initial語(yǔ)句 6.1.2 always語(yǔ)句 6.2 task和function說(shuō)明語(yǔ)句 6.2.1 task和function說(shuō)明語(yǔ)句的不同點(diǎn) 6.2.2 task說(shuō)明語(yǔ)句 6.2.3 function說(shuō)明語(yǔ)句 6.2.4 函數(shù)的使用舉例 6.2.5 自動(dòng)(遞歸)函數(shù) 6.2.6 常量函數(shù) 6.2.7 帶符號(hào)函數(shù) 6.3 關(guān)于使用任務(wù)和函數(shù)的小結(jié) 6.4 常用的系統(tǒng)任務(wù) 6.4.1 $display和$write任務(wù) 6.4.2 文件輸出 6.4.3 顯示層次 6.4.4 選通顯示 6.4.5 值變轉(zhuǎn)儲(chǔ)文件 6.5 其他系統(tǒng)函數(shù)和任務(wù) 小結(jié) 思考題 第7章 調(diào)試用系統(tǒng)任務(wù)和常用編譯預(yù)處理語(yǔ)句 概述 7.1 系統(tǒng)任務(wù) $monitor 7.2 時(shí)間度量系統(tǒng)函數(shù)$time 7.3 系統(tǒng)任務(wù)$finish 7.4 系統(tǒng)任務(wù)$stop 7.5 系統(tǒng)任務(wù)$readmemb和$readmemh 7.6 系統(tǒng)任務(wù) $random 7.7 編譯預(yù)處理 7.7.1 宏定義?define 7.7.2 文件包含"處理?include 7.7.3 時(shí)間尺度?timescale 7.7.4 條件編譯命令?ifdef、?else、?endif 7.7.5 條件執(zhí)行 小結(jié) 思考題 第8章 語(yǔ)法概念總復(fù)習(xí)練習(xí) 概述 小結(jié)第二部分 設(shè)計(jì)和驗(yàn)證部分 第9章 Verilog HDL模型的不同抽象級(jí)別 概述 9.1 門級(jí)結(jié)構(gòu)描述 9.1.1 與非門、或門和反向器及其說(shuō)明語(yǔ)法 9.1.2 用門級(jí)結(jié)構(gòu)描述D觸發(fā)器 9.1.3 由已經(jīng)設(shè)計(jì)成的模塊構(gòu)成更高一層的模塊 9.2 Verilog HDL的行為描述建模 9.2.1 僅用于產(chǎn)生仿真測(cè)試信號(hào)的Verilog HDL行為描述建模 9.2.2 Verilog HDL建模在TopDown設(shè)計(jì)中的作用和行為建模的可綜合性問(wèn)題 9.3 用戶定義的原語(yǔ) 小結(jié) 思考題 第10章 如何編寫和驗(yàn)證簡(jiǎn)單的純組合邏輯模塊 概述 10.1 加法器 10.2 乘法器 10.3 比較器 10.4 多路器 10.5 總線和總線操作 10.6 流水線 小結(jié) 思考題 第11章 復(fù)雜數(shù)字系統(tǒng)的構(gòu)成 概述 11.1 運(yùn)算部件和數(shù)據(jù)流動(dòng)的控制邏輯 11.1.1 數(shù)字邏輯電路的種類 11.1.2 數(shù)字邏輯電路的構(gòu)成 11.2 數(shù)據(jù)在寄存器中的暫時(shí)保存 11.3 數(shù)據(jù)流動(dòng)的控制 11.4 在Verilog HDL設(shè)計(jì)中啟用同步時(shí)序邏輯 11.5 數(shù)據(jù)接口的同步方法 小結(jié) 思考題 第12章 同步狀態(tài)機(jī)的原理、結(jié)構(gòu)和設(shè)計(jì) 概述 12.1 狀態(tài)機(jī)的結(jié)構(gòu) 12.2 Mealy狀態(tài)機(jī)和Moore狀態(tài)機(jī)的不同點(diǎn) 12.3 如何用Verilog來(lái)描述可綜合的狀態(tài)機(jī) 12.3.1 用可綜合Verilog模塊設(shè)計(jì)狀態(tài)機(jī)的典型辦法 12.3.2 用可綜合的Verilog模塊設(shè)計(jì)、用獨(dú)熱碼表示狀態(tài)的狀態(tài)機(jī) 12.3.3 用可綜合的Verilog模塊設(shè)計(jì)、由輸出指定的碼表示狀態(tài)的狀態(tài)機(jī) 12.3.4 用可綜合的Verilog模塊設(shè)計(jì)復(fù)雜的多輸出狀態(tài)機(jī)時(shí)常用的方法 小結(jié) 思考題 第13章 設(shè)計(jì)可綜合的狀態(tài)機(jī)的指導(dǎo)原則 概述 13.1 用Verilog HDL語(yǔ)言設(shè)計(jì)可綜合的狀態(tài)機(jī)的指導(dǎo)原則 13.2 典型的狀態(tài)機(jī)實(shí)例 13.3 綜合的一般原則 13.4 語(yǔ)言指導(dǎo)原則 13.5 可綜合風(fēng)格的Verilog HDL模塊實(shí)例 13.5.1 組合邏輯電路設(shè)計(jì)實(shí)例 13.5.2 時(shí)序邏輯電路設(shè)計(jì)實(shí)例 13.6 狀態(tài)機(jī)的置位與復(fù)位 13.6.1 狀態(tài)機(jī)的異步置位與復(fù)位 13.6.2 狀態(tài)機(jī)的同步置位與復(fù)位 小結(jié) 思考題 第14章 深入理解阻塞和非阻塞賦值的不同 概述 14.1 阻塞和非阻塞賦值的異同 14.1.1 阻塞賦值 14.1.2 非阻塞賦值 14.2 Verilog模塊編程要點(diǎn) 14.3 Verilog的層次化事件隊(duì)列 14.4 自觸發(fā)always塊 14.5 移位寄存器模型 14.6 阻塞賦值及一些簡(jiǎn)單的例子 14.7 時(shí)序反饋移位寄存器建?! ?4.8 組合邏輯建模時(shí)應(yīng)使用阻塞賦值 14.9 時(shí)序和組合的混合邏輯——使用非阻塞賦值 14.10 其他阻塞和非阻塞混合使用的原則 14.11 對(duì)同一變量進(jìn)行多次賦值 14.12 常見的對(duì)于非阻塞賦值的誤解 小結(jié) 思考題 第15章 較復(fù)雜時(shí)序邏輯電路設(shè)計(jì)實(shí)踐 概述 小結(jié) 思考題 第16章 復(fù)雜時(shí)序邏輯電路設(shè)計(jì)實(shí)踐 概述 16.1 二線制I2C CMOS串行EEPROM的簡(jiǎn)單介紹 16.2 I2C總線特征介紹 16.3 二線制I2C CMOS串行EEPROM的讀寫操作 16.4 EEPROM的Verilog HDL程序 總結(jié) 思考題 第17章 簡(jiǎn)化的 RISC_CPU設(shè)計(jì) 概述 17.1 課題的來(lái)由和設(shè)計(jì)環(huán)境介紹 17.2 什么是CPU 17.3 RISC_CPU結(jié)構(gòu) 17.3.1 時(shí)鐘發(fā)生器 17.3.2 指令寄存器 17.3.3 累加器 17.3.4 算術(shù)運(yùn)算器 17.3.5 數(shù)據(jù)控制器 17.3.6 地址多路器 17.3.7 程序計(jì)數(shù)器 17.3.8 狀態(tài)控制器 17.3.9 外圍模塊 17.4 RISC_CPU 操作和時(shí)序 17.4.1 系統(tǒng)的復(fù)位和啟動(dòng)操作 17.4.2 總線讀操作 17.4.3 總線寫操作 17.5 RISC_CPU尋址方式和指令系統(tǒng) 17.6 RISC_CPU模塊的調(diào)試 17.6.1 RISC_CPU模塊的前仿真 17.6.2 RISC_CPU模塊的綜合 17.6.3 RISC_CPU模塊的優(yōu)化和布局布線 小結(jié) 思考題 第18章 虛擬器件/接口、IP和基于平臺(tái)的設(shè)計(jì)方法及其在大型數(shù)字系統(tǒng)設(shè)計(jì)中的作用 概述 18.1 軟核和硬核、宏單元、虛擬器件、設(shè)計(jì)和驗(yàn)證IP以及基于平臺(tái)的設(shè)計(jì)方法 18.2 設(shè)計(jì)和驗(yàn)證IP供應(yīng)商 18.3 虛擬模塊的設(shè)計(jì) 18.4 虛擬接口模塊的實(shí)例 小結(jié) 思考題第三部分 設(shè)計(jì)示范與實(shí)驗(yàn)練習(xí) 概述 練習(xí)一 簡(jiǎn)單的組合邏輯設(shè)計(jì) 練習(xí)二 簡(jiǎn)單分頻時(shí)序邏輯電路的設(shè)計(jì) 練習(xí)三 利用條件語(yǔ)句實(shí)現(xiàn)計(jì)數(shù)分頻時(shí)序電路 練習(xí)四 阻塞賦值與非阻塞賦值的區(qū)別 練習(xí)五 用always塊實(shí)現(xiàn)較復(fù)雜的組合邏輯電路 練習(xí)六 在Verilog HDL中使用函數(shù) 練習(xí)七 在Verilog HDL中使用任務(wù)(task) 練習(xí)八 利用有限狀態(tài)機(jī)進(jìn)行時(shí)序邏輯的設(shè)計(jì) 練習(xí)九 利用狀態(tài)機(jī)實(shí)現(xiàn)比較復(fù)雜的接口設(shè)計(jì) 練習(xí)十 通過(guò)模塊實(shí)例調(diào)用實(shí)現(xiàn)大型系統(tǒng)的設(shè)計(jì) 練習(xí)十一 簡(jiǎn)單卷積器的設(shè)計(jì) 附錄一 A/D轉(zhuǎn)換器的Verilog HDL模型機(jī)所需要的技術(shù)參數(shù) 附錄二 2K*8位 異步 CMOS 靜態(tài)RAM HM65162模型 練習(xí)十二 利用SRAM設(shè)計(jì)一個(gè)FIFO第四部分 語(yǔ)法篇 語(yǔ)法篇1 關(guān)于Verilog HDL的說(shuō)明 一、 關(guān)于 IEEE 1364標(biāo)準(zhǔn) 二、 Verilog簡(jiǎn)介 三、 語(yǔ)法總結(jié) 四、 編寫Verilog HDL源代碼的標(biāo)準(zhǔn) 五、 設(shè)計(jì)流程 語(yǔ)法篇2 Verilog硬件描述語(yǔ)言參考手冊(cè) 一、 Verilog HDL語(yǔ)句與常用標(biāo)志符(按字母順序排列) 二、 系統(tǒng)任務(wù)和函數(shù)(System task and function) 三、 常用系統(tǒng)任務(wù)和函數(shù)的詳細(xì)使用說(shuō)明 四、 Command Line Options 命令行的可選項(xiàng) 五、 IEEE Verilog 13642001標(biāo)準(zhǔn)簡(jiǎn)介參考文獻(xiàn)
章節(jié)摘錄
第一部分 VerilOG數(shù)字設(shè)計(jì)基礎(chǔ) 數(shù)字通信和自動(dòng)化控制等領(lǐng)域的高速發(fā)展和世界范圍內(nèi)的高技術(shù)競(jìng)爭(zhēng)對(duì)數(shù)字系統(tǒng)提出了越來(lái)越高的要求,特別是需要設(shè)計(jì)具有實(shí)時(shí)信號(hào)處理能力的專用集成電路,要求把包括多個(gè)CPU內(nèi)核在內(nèi)的整個(gè)電子系統(tǒng)綜合到一個(gè)芯片(SOC)上。設(shè)計(jì)并驗(yàn)證這樣復(fù)雜的電路及系統(tǒng)已不再是簡(jiǎn)單的個(gè)人勞動(dòng),而需要綜合許多專家的經(jīng)驗(yàn)和知識(shí)才能夠完成。近10年來(lái)電路制造工藝技術(shù)進(jìn)步非常迅速,目前國(guó)際上60 nm的制造工藝,已達(dá)到工業(yè)化生產(chǎn)的規(guī)模,而電路設(shè)計(jì)能力遠(yuǎn)遠(yuǎn)落后于制造技術(shù)的進(jìn)步。在數(shù)字邏輯設(shè)計(jì)領(lǐng)域,迫切需要一種共同的工業(yè)標(biāo)準(zhǔn)來(lái)統(tǒng)一對(duì)數(shù)字邏輯電路及系統(tǒng)的描述,這樣就能把系統(tǒng)設(shè)計(jì)工作分解為邏輯設(shè)計(jì)(前端)、電路實(shí)現(xiàn)(后端)和驗(yàn)證三個(gè)互相獨(dú)立而又相關(guān)的部分。由于邏輯設(shè)計(jì)的相對(duì)獨(dú)立性就可以把專家們?cè)O(shè)計(jì)的各種常用數(shù)字邏輯電路和組件(如FFT算法、DCT算法部件,DDRAM讀寫控制器等)建成宏單元(megcell)或軟(固/硬)核,也稱作Soft(firm/hard)Core,即IP(知識(shí)產(chǎn)權(quán)內(nèi)核的英文縮寫)庫(kù)供設(shè)計(jì)者引用,設(shè)計(jì)者可以直接利用它們的行為模型設(shè)計(jì)并驗(yàn)證其他電路,以減少重復(fù)勞動(dòng),提高工作效率。電路的實(shí)現(xiàn)則可借助于綜合工具和IP的重復(fù)利用,以及布局布線工具(與具體工藝技術(shù)有關(guān))自動(dòng)地完成。 Verilog HDL和VHDL這兩種工業(yè)標(biāo)準(zhǔn)的產(chǎn)生順應(yīng)了歷史的潮流,因而得到了迅速的發(fā)展。美國(guó)、日本等國(guó)由于高級(jí)設(shè)計(jì)工程師人力資源成本遠(yuǎn)高于中國(guó),所以,近年來(lái)把許多設(shè)計(jì)工作轉(zhuǎn)移到中國(guó)大陸,以降低設(shè)計(jì)成本。作為新世紀(jì)的中國(guó)大學(xué)生和年輕的電子工程師應(yīng)該盡早掌握這種新的設(shè)計(jì)方法,使我國(guó)在復(fù)雜數(shù)字電路及系統(tǒng)的設(shè)計(jì)競(jìng)爭(zhēng)中逐步縮小與美國(guó)等先進(jìn)的工業(yè)發(fā)達(dá)國(guó)家的差距?! 〉?章 Verilog的基本知識(shí) 1.1 硬件描述語(yǔ)言HDL 硬件描述語(yǔ)言(HDL,hardware description language)是一種用形式化方法來(lái)描述數(shù)字電路和系統(tǒng)的語(yǔ)言。數(shù)字電路系統(tǒng)的設(shè)計(jì)者利用這種語(yǔ)言可以從上層到下層(從抽象到具體)逐層描述自己的設(shè)計(jì)思想,用一系列分層次的模塊來(lái)表示極其復(fù)雜的數(shù)字系統(tǒng)。然后利用電子設(shè)計(jì)自動(dòng)化(以下簡(jiǎn)稱為EDA)工具逐層進(jìn)行仿真驗(yàn)證,再把其中需要變?yōu)榫唧w物理電路的模塊組合經(jīng)由自動(dòng)綜合工具轉(zhuǎn)換到門級(jí)電路網(wǎng)表。接下去再用專用集成電路(ASIC)或現(xiàn)場(chǎng)可編程門陣列(FPGA)自動(dòng)布局布線工具把網(wǎng)表轉(zhuǎn)換為具體電路布線結(jié)構(gòu)的實(shí)現(xiàn)。在制成物理器件之前,還可以用Verilog的門級(jí)模型(原語(yǔ)元件或UDP)來(lái)代替具體基本元件。因其邏輯功能和延時(shí)特性與真實(shí)的物理元件完全一致,所以在仿真工具的支持下能驗(yàn)證復(fù)雜數(shù)字系統(tǒng)物理結(jié)構(gòu)的正確性,使投片的成功率達(dá)到l00%。目前,這種稱為高層次設(shè)計(jì)(high—level—design)的方法已被廣泛采用。據(jù)統(tǒng)計(jì),目前在美國(guó)硅谷約有90%以上的ASIC和FPGA已采用Verilog硬件描述語(yǔ)言方法進(jìn)行設(shè)計(jì)?! ∮布枋稣Z(yǔ)言的發(fā)展至今已有近30年的歷史,并成功地應(yīng)用于設(shè)計(jì)的各個(gè)階段:建模、仿真、驗(yàn)證和綜合等。到20世紀(jì)80年代,已出現(xiàn)了上百種硬件描述語(yǔ)言,并對(duì)設(shè)計(jì)自動(dòng)化曾起到了極大的促進(jìn)和推動(dòng)作用。但是,這些語(yǔ)言一般各自面向特定的設(shè)計(jì)領(lǐng)域與層次,而且眾多的語(yǔ)言使用戶無(wú)所適從。因此急需一種面向設(shè)計(jì)的多領(lǐng)域、多層次、并得到普遍認(rèn)同的標(biāo)準(zhǔn)硬件描述語(yǔ)言。進(jìn)入20世紀(jì)80年代后期,硬件描述語(yǔ)言向著標(biāo)準(zhǔn)化的方向發(fā)展。最終,VHDL和Verilog HDL語(yǔ)言適應(yīng)了這種趨勢(shì)的要求,先后成為IEEE標(biāo)準(zhǔn)。把硬件描述語(yǔ)言用于自動(dòng)綜合還只有10多年的歷史。最近l0多年來(lái),用綜合工具把可綜合風(fēng)格的HDL模塊自動(dòng)轉(zhuǎn)換為具體電路發(fā)展非常迅速,大大地提高了復(fù)雜數(shù)字系統(tǒng)的設(shè)計(jì)生產(chǎn)率。在美國(guó)和日本等先進(jìn)電子工業(yè)國(guó),Verilog語(yǔ)言已成為設(shè)計(jì)數(shù)字系統(tǒng)的基礎(chǔ)。本書第一部分將通過(guò)具體例子,由淺入深地幫助同學(xué)們學(xué)習(xí): ?。?)Verilog的基本語(yǔ)法; ?。?)簡(jiǎn)單的可綜合Verilog模塊與邏輯電路的對(duì)應(yīng)關(guān)系; ?。?)簡(jiǎn)單的Verilog測(cè)試模塊和它的意義?! 械诙糠謱⑼ㄟ^(guò)較復(fù)雜的設(shè)計(jì)實(shí)例,幫助同學(xué)們掌握: ?。?)如何編寫復(fù)雜的多層次的可綜合風(fēng)格的Verilog HDL模塊; ?。?)如何用可綜合的Verilog模塊構(gòu)成一個(gè)可靠的復(fù)雜IP軟核和固核模塊; ?。?)如何借助于Verilog語(yǔ)言,并利用已有的虛擬行為模塊對(duì)所設(shè)計(jì)的系統(tǒng)模塊(由可綜合的自主和商業(yè)IP模塊組成)進(jìn)行全面可靠的測(cè)試和驗(yàn)證(包括軟/硬件協(xié)同測(cè)試的基本概念)?! ?.2 Verilog HDL的歷史 1.2.1什么是Verilog HDL Verilog HDL是硬件描述語(yǔ)言的一種,用于數(shù)字電子系統(tǒng)設(shè)計(jì)。該語(yǔ)言允許設(shè)計(jì)者進(jìn)行各種級(jí)別的邏輯設(shè)計(jì),進(jìn)行數(shù)字邏輯系統(tǒng)的仿真驗(yàn)證、時(shí)序分析、邏輯綜合。它是目前應(yīng)用最廣泛的一種硬件描述語(yǔ)言。據(jù)有關(guān)文獻(xiàn)報(bào)道,目前在美國(guó)使用Verilog HDL進(jìn)行設(shè)計(jì)的工程師大約有l(wèi)0多萬(wàn)人,全美國(guó)有200多所大學(xué)教授用Veril09硬件描述語(yǔ)言的設(shè)計(jì)方法。在我國(guó)臺(tái)灣地區(qū)幾乎所有著名大學(xué)的電子和計(jì)算機(jī)工程系都講授Verilog有關(guān)的課程?! ?.2.2 Verilog HDL的產(chǎn)生及發(fā)展 Verilog HDL是在1983年由GDA(GateWay Design Automation)公司的Phil Moorby首創(chuàng)的。Phil Moorby后來(lái)成為Veril09—XL的主要設(shè)計(jì)者和Cadence公司(Cadence DesignSystem)的第一個(gè)合伙人。在1984至1985年,Moorby設(shè)計(jì)出了第一個(gè)名為Veril09—XL的仿真器;l986年,他對(duì)Verilog HDL的發(fā)展又作出了另一個(gè)巨大貢獻(xiàn),即提出了用于快速門級(jí)仿真的XL算法?! ‰S著VerilOG—XL算法的成功,Verilog HDL語(yǔ)言得到迅速發(fā)展。1989年,Cadence公司收購(gòu)了GDA公司,Verilog HDL語(yǔ)言成為Cadence公司的私有財(cái)產(chǎn)。l990年,Cadence公司決定公開Verilog HDL語(yǔ)言,于是成立了0VI(Open Verilog International)組織來(lái)負(fù)責(zé)促進(jìn)Verilog HDL語(yǔ)言的發(fā)展。基于Verilog HDL的優(yōu)越性,IEEE于1995年制定了VerilogHDL的IEEE標(biāo)準(zhǔn),即Verilog HDLl364—1995;2001年發(fā)布了Verilog HDLl364—2001標(biāo)準(zhǔn);2005年SystemVerilog IEEE l800—2005標(biāo)準(zhǔn)的公布,更使得Veril09語(yǔ)言在綜合、仿真驗(yàn)證和模塊的重用等性能方面都有大幅度的提高?! D1.1展示了Veril09的發(fā)展歷史和未來(lái)?! ?.3 Verilog HDL和VHDL的比較 Verilog HDL和VHDL都是用于邏輯設(shè)計(jì)的硬件描述語(yǔ)言,并且都已成為IEEE標(biāo)準(zhǔn)。VHDL是在1987年成為IEEE標(biāo)準(zhǔn),Verilog HDL則在1995年才正式成為IEEE標(biāo)準(zhǔn)。之所以VHDL比Verilog HDL早成為IEEE標(biāo)準(zhǔn),這是因?yàn)閂HDL是由美國(guó)軍方組織開發(fā)的,而Verilog HDL則是從一個(gè)普通的民間公司的私有財(cái)產(chǎn)轉(zhuǎn)化而來(lái),基于Verilog HDL的優(yōu)越性,才成為IEEE標(biāo)準(zhǔn),因而有更強(qiáng)的生命力。 VHDL其英文全名為VHSIC Hardware Description Language,而VHSIC則是VeryHigh Speed Integerated Circuit的縮寫詞,意為甚高速集成電路,故VHDL其準(zhǔn)確的中文譯名為甚高速集成電路的硬件描述語(yǔ)言?! erilog HDL和VHDL作為描述硬件電路設(shè)計(jì)的語(yǔ)言,其共同的特點(diǎn)在于:能形式化地抽象表示電路的行為和結(jié)構(gòu);支持邏輯設(shè)計(jì)中層次與范圍的描述;可借用高級(jí)語(yǔ)言的精巧結(jié)構(gòu)來(lái)簡(jiǎn)化電路行為的描述;具有電路仿真與驗(yàn)證機(jī)制以保證設(shè)計(jì)的正確性;支持電路描述由高層到低層的綜合轉(zhuǎn)換;硬件描述與實(shí)現(xiàn)工藝無(wú)關(guān)(有關(guān)工藝參數(shù)可通過(guò)語(yǔ)言提供的屬性包括進(jìn)去);便于文檔管理;易于理解和設(shè)計(jì)重用?! 〉荲erilog HDL和VHDL又各有其自己的特點(diǎn)。由于Verilog HDL早在1983年就已推出,至今已有20多年的應(yīng)用歷史,因而Verilog HDL擁有更廣泛的設(shè)計(jì)群體,成熟的資源也遠(yuǎn)比VHDL豐富。與VHDL相比Verilog HDL的最大優(yōu)點(diǎn)是:它是一種非常容易掌握的硬件描述語(yǔ)言,只要有C語(yǔ)言的編程基礎(chǔ),通過(guò)20學(xué)時(shí)的學(xué)習(xí),再加上一段實(shí)際操作,一般同學(xué)可在2~3個(gè)月內(nèi)掌握這種設(shè)計(jì)方法的基本技術(shù)。而掌握VHDL設(shè)計(jì)技術(shù)就比較困難。這是因?yàn)閂HDL不很直觀,需要有Ada編程基礎(chǔ),一般認(rèn)為至少需要半年以上的專業(yè)培訓(xùn),才能掌握VHDL的基本設(shè)計(jì)技術(shù)。2005年,SystemVerilog IEEEl800—2005標(biāo)準(zhǔn)公布以后,集成電路設(shè)計(jì)界普遍認(rèn)為Verilog HDL將在10年內(nèi)全面取代VHDL成為ASIC設(shè)計(jì)行業(yè)包攬?jiān)O(shè)計(jì)、測(cè)試和驗(yàn)證功能的的唯一語(yǔ)言。圖1.2所示的是Verilog HDL和VHDL建模能力的比較圖,供讀者參考。-2005標(biāo)準(zhǔn),不但使Veril09的可綜合性能和系統(tǒng)仿真性能方面有大幅度的提高,而且在IP的重用方面(包括設(shè)計(jì)和驗(yàn)證模塊的重用)也有重大的突破。因此,Verilog HDL不但作為學(xué)習(xí)HDL設(shè)計(jì)方法的入門和基礎(chǔ)是比較合適的,而且對(duì)于ASIC設(shè)計(jì)專業(yè)人員而言,也是必須掌握的基本技術(shù)。學(xué)習(xí)掌握Verilog HDL建模、仿真、綜合、重用和驗(yàn)證技術(shù)不僅可以使同學(xué)們對(duì)數(shù)字電路設(shè)計(jì)技術(shù)有更進(jìn)一步的了解,而且可以為以后學(xué)習(xí)高級(jí)的行為綜合、物理綜合、IP設(shè)計(jì)和復(fù)雜系統(tǒng)設(shè)計(jì)和驗(yàn)證打下堅(jiān)實(shí)的基礎(chǔ)?! ?.4 Verilog的應(yīng)用情況和適用的設(shè)計(jì) 近10多年以來(lái),EDA界一直對(duì)在數(shù)字邏輯設(shè)計(jì)中究竟采用哪一硬件描述語(yǔ)言爭(zhēng)論不休。 近二三年來(lái),美國(guó)、日本和我國(guó)臺(tái)灣地區(qū)電子設(shè)計(jì)界的情況已經(jīng)清楚地表明,在高層次數(shù)字系統(tǒng)設(shè)計(jì)領(lǐng)域,Verilog已經(jīng)取得壓倒性的優(yōu)勢(shì);
編輯推薦
《普通高等教育"十一五"國(guó)家級(jí)規(guī)劃教材?北京高等教育精品教材?Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程(第2版)》可作為電子工程類、自動(dòng)控制類、計(jì)算機(jī)類的大學(xué)本科高年級(jí)及研究生教學(xué)用書,亦可供其他工程人員自學(xué)與參考。 《Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程》是在1998年北京航空航天大學(xué)出版社出版的《復(fù)雜數(shù)字電路與系統(tǒng)的Verilog HDL設(shè)計(jì)技術(shù)》和2003年《Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程》基礎(chǔ)上修訂的,是一本既有理論又有實(shí)踐的設(shè)計(jì)大全。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程 PDF格式下載