版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 | HYPERLINK / 百度首頁(yè) HYPERLINK /v2/?login 登錄 HYPERLINK /cashier/browse/vipcashier?dqStatCode=topnav_joinvip&cashier_code=topnav_joinvip VIP意見(jiàn)反饋 HYPERLINK /apps?fr=1011 下載客戶端4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案 HYPERLINK /?fr=nav 首頁(yè) HYPERLINK javascript:void(0); 分類 HYPERLI
2、NK javascript:void(0); 精品內(nèi)容 HYPERLINK /wenkuverify?from=1 申請(qǐng)認(rèn)證 HYPERLINK javascript:void(0); 機(jī)構(gòu)合作 HYPERLINK javascript:void(0); 頻道專區(qū) HYPERLINK /xtopic/wkback 百度智慧課堂 HYPERLINK /user/browse/vip/ 百度教育VIP緒 論 HYPERLINK /?fr=crumbs 百度文庫(kù) HYPERLINK /?fr=crumbs HYPERLINK /edu/index 教育專區(qū) HYPERLINK /edu/index
3、HYPERLINK /list/10 高等教育 HYPERLINK /list/10 HYPERLINK /list/109 工學(xué)1.什么是信號(hào)處理電路?它通常由哪兩大部分組成?信號(hào)處理電路是進(jìn)行一些復(fù)雜的數(shù)字運(yùn)算和數(shù)據(jù)處理,并且又有實(shí)時(shí)響應(yīng)要求的電路。它通常有高速數(shù)據(jù)通道接口和高速算法電路兩大部分組成。2.為什么要設(shè)計(jì)專用的信號(hào)處理電路?因?yàn)橛械臄?shù)字信號(hào)處理對(duì)時(shí)間的要求非??量?,以至于用高速的通用處理器也無(wú)法在規(guī)定的時(shí)間內(nèi)完成必要的運(yùn)算。通用微處理器芯片是為一般目的而設(shè)計(jì)的,運(yùn)算的步驟必須通過(guò)程序編譯后生成的機(jī)器碼指令加載到存儲(chǔ)器中,然后在微處理器芯片控制下,按時(shí)鐘的節(jié)拍,逐條取出指令分析指
4、令和執(zhí)行指令,直到程序的結(jié)束。微處理器芯片中的內(nèi)部總線和運(yùn)算部件也是為通用目的而設(shè)計(jì),即使是專為信號(hào)處理而設(shè)計(jì)的通用微處理器,因?yàn)樗耐ㄓ眯砸膊豢赡転槟骋惶厥獾乃惴▉?lái)設(shè)計(jì)一系列的專用的運(yùn)算電路而且其內(nèi)部總線的寬度也不能隨便的改變,只有通過(guò)改變程序,才能實(shí)現(xiàn)這個(gè)特殊的算法,因而其算法速度也受到限制所以要設(shè)計(jì)專用的信號(hào)處理電路。3.什么是實(shí)時(shí)處理系統(tǒng)?實(shí)時(shí)處理系統(tǒng)是具有實(shí)時(shí)響應(yīng)的處理系統(tǒng)。4.為什么要用硬件描述語(yǔ)言來(lái)設(shè)計(jì)復(fù)雜的算法邏輯電路?因?yàn)楝F(xiàn)代復(fù)雜數(shù)字邏輯系統(tǒng)的設(shè)計(jì)都是借助于 EDA 工具完成的,無(wú)論電路系統(tǒng)的仿真和綜合都需要掌握硬件描述語(yǔ)言。5.能不能完全用 C 語(yǔ)言來(lái)代替硬件描述語(yǔ)言進(jìn)行算
5、法邏輯電路的設(shè)計(jì)?不能,因?yàn)榛A(chǔ)算法的描述和驗(yàn)證通常用 C 語(yǔ)言來(lái)做。如果要設(shè)計(jì)一個(gè)專用的電路來(lái)進(jìn)行這種對(duì)速度有要求的實(shí)時(shí)數(shù)據(jù)處理,除了以上 C 語(yǔ)言外,還須編寫硬件描述語(yǔ)言程序進(jìn)行仿真以便從電路結(jié)構(gòu)上保證算法能在規(guī)定的時(shí)間內(nèi)完成,并能通過(guò)與前端和后端的設(shè)備接口正確無(wú)誤地交換數(shù)據(jù)。6.為什么在算法邏輯電路的設(shè)計(jì)中需要用 C 語(yǔ)言和硬件描述語(yǔ)言配合使用來(lái)提高設(shè)計(jì)效率?首先 C 語(yǔ)言很靈活,查錯(cuò)功能強(qiáng),還可以通過(guò) PLI 編寫自己的系統(tǒng)任務(wù),并直接與硬件仿真器結(jié)合使用。C 語(yǔ)言是目前世界上應(yīng)用最為廣泛的一種編程語(yǔ)言,因而 C 程序的設(shè)計(jì)環(huán)境比 Verilog HDL 更完整,此外,C 語(yǔ)言有可靠地
6、編譯環(huán)境,語(yǔ)法完備,缺陷缺少,應(yīng)用于許多的領(lǐng)域。比較起來(lái),Verilog 語(yǔ)言只是針對(duì)硬件描述的,在別處使用并不方便。而用 Verilog 的仿真,綜合,查錯(cuò)等大部分軟件都是商業(yè)軟件,與 C 語(yǔ)言相比缺乏長(zhǎng)期大量的使用,可靠性較差,亦有很多缺陷。所以只有在 C 語(yǔ)言的配合使用下,Verilog 才能更好地發(fā)揮作用。C語(yǔ)言與 Verilog HDL 語(yǔ)言相輔相成,互相配合使用。這就是即利用 C 語(yǔ)言的完整性又要結(jié)合 Verilog 對(duì)硬件描述的精確性,來(lái)更快更好地設(shè)計(jì)出符合性能要求的天之藍(lán)電子工作室1/view/33cc9b7d192e45361166f54e.html1/44 4/15/201
7、9verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案硬件電路系統(tǒng),從而來(lái)提高效率。第一部分 Verilog 數(shù)字設(shè)計(jì)基礎(chǔ)第 1 章 Verilog 的基本知識(shí)1.什么是硬件描述語(yǔ)言?它的主要作用是什么?硬件描述語(yǔ)言是一種用形式化方式來(lái)描述數(shù)字電路和系統(tǒng)的語(yǔ)言。它的主要作用是:數(shù)字電路系統(tǒng)的設(shè)計(jì)者利用這種語(yǔ)言可以從上層到下層(從抽象到具體)逐步描述自己的設(shè)計(jì)思想,用一系列分層次的模塊來(lái)表示極其復(fù)雜的數(shù)字系統(tǒng)。2.目前世界上符合 IEEE 標(biāo)準(zhǔn)的硬件描述語(yǔ)言有哪兩種?它們各有什么特點(diǎn)?符合 IEEE 標(biāo)準(zhǔn)的硬件描述語(yǔ)言是 Verilog
8、 HDL 和 VHDL 兩種。它們的共同特點(diǎn)是:能夠形式化地抽象表示電路的行為和結(jié)構(gòu);支持邏輯設(shè)計(jì)中層次與范圍的描述;可借用高級(jí)語(yǔ)言的精巧結(jié)構(gòu)來(lái)簡(jiǎn)化電路行為的描述;具有電路仿真與驗(yàn)證機(jī)制以保證設(shè)計(jì)的正確性;支持電路描述由高層到低層的綜合 1 轉(zhuǎn)換硬件描述與實(shí)現(xiàn)工藝無(wú)關(guān);便于文檔管理;易于理解和設(shè)計(jì)重用。不同點(diǎn):VerilogHDL 是一種非常容易掌握的硬件描述語(yǔ)言,而 VHDL 掌握起來(lái)就比較困難。3.什么情況下需要采用硬件描述語(yǔ)言的設(shè)計(jì)方法?在對(duì)邏輯電路及系統(tǒng)的設(shè)計(jì)的時(shí)間要求很短的情況下需要采用硬件描述語(yǔ)言的設(shè)計(jì)方法。4.采用硬件描述語(yǔ)言設(shè)計(jì)方法的優(yōu)點(diǎn)是什么?有什么缺點(diǎn)??jī)?yōu)點(diǎn)是:與工藝無(wú)關(guān)性
9、。這使得工程師在功能設(shè)計(jì),邏輯驗(yàn)證階段,可以不必過(guò)多考慮門級(jí)及工藝實(shí)現(xiàn)的具體細(xì)節(jié),只需要利用系統(tǒng)設(shè)計(jì)時(shí)對(duì)芯片的要求,施加不同的約束條件,即可設(shè)計(jì)出實(shí)際電路。缺點(diǎn)是:需要相應(yīng)的 EDA 工具,而 EDA 工具的穩(wěn)定性需要進(jìn)一步的在工程中提升。5.簡(jiǎn)單敘述一下利用 EDA 工具并采用硬件描述語(yǔ)言的設(shè)計(jì)方法和流程?采用自頂向下的設(shè)計(jì)方法:從系統(tǒng)級(jí)開(kāi)始把系統(tǒng)劃分為基本單元,然后再把每個(gè)基本單元?jiǎng)澐譃橄乱粚哟蔚幕締卧?,一直這樣做下去,直到可以直接用EDA 元件庫(kù)中的基本元件來(lái)實(shí)現(xiàn)為止。其基本流程主要由兩大主要功能部分組成:(1)設(shè)計(jì)開(kāi)發(fā) 即從編寫設(shè)計(jì)文件-綜合到布局布線-電路生成這樣一序列步驟。(2)
10、設(shè)計(jì)驗(yàn)證 也就是進(jìn)行各種仿真的一序列步驟,如果在仿真過(guò)程中發(fā)現(xiàn)問(wèn)題就返回設(shè)計(jì)輸入進(jìn)行修改。5.硬件描述語(yǔ)言可以用哪兩種方式參與復(fù)雜數(shù)字電路的設(shè)計(jì)?復(fù)雜數(shù)字電路的設(shè)計(jì)和復(fù)雜數(shù)字電路的仿真驗(yàn)證。天之藍(lán)電子工作室2/view/33cc9b7d192e45361166f54e.html2/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案7.用硬件描述語(yǔ)言設(shè)計(jì)的數(shù)字系統(tǒng)需要經(jīng)過(guò)哪些步驟才能與具體的電路相對(duì)應(yīng)?編寫設(shè)計(jì)文件;功能仿真;優(yōu)化,布局布線;布線后門級(jí)仿真8.為什么說(shuō)用硬件描述語(yǔ)言設(shè)計(jì)的數(shù)字邏輯系統(tǒng)下具有很大的
11、靈活性并可以映射到任何工藝的電路上?硬件描述語(yǔ)言的設(shè)計(jì)具有與工藝無(wú)關(guān)性。這使得工程師在功能設(shè)計(jì),邏輯驗(yàn)證階段,可以不必過(guò)多考 慮門級(jí)及工藝實(shí)現(xiàn)的具體細(xì)節(jié),只需要利用系統(tǒng)設(shè)計(jì)時(shí)對(duì)芯片的要求,施加不同的約束條件,即可設(shè)計(jì)出實(shí)際電路。9.軟核是什么?虛擬器件是什么?它們的作用是什么?把功能經(jīng)過(guò)驗(yàn)證的,可綜合的,實(shí)現(xiàn)后電路結(jié)構(gòu)總門數(shù)在 5000 門以上的Verilog HDL 模型稱為軟核。而把由軟核構(gòu)成的器件稱為虛擬器件。作用:大大縮短設(shè)計(jì)周期,加快復(fù)雜電路的設(shè)計(jì)。10.集成電路行業(yè)中 IP 的含義是什么?固核是什么?硬核是什么?與軟核相比它們各有什么特點(diǎn)?各適合于什么場(chǎng)合?在集成電路行業(yè)中 IP
12、是知識(shí)產(chǎn)權(quán)(Intellectual Property)的含義。把在某一現(xiàn)場(chǎng)可編程門陣列器件上實(shí)現(xiàn)的經(jīng)驗(yàn)證是正確的,總門數(shù)在 5000 門以上的電路結(jié)構(gòu)編碼文件稱為固核。把在某一專用集成電路工藝的器件上實(shí)現(xiàn)的經(jīng)驗(yàn)證時(shí)正確的總門數(shù)在 5000 門以上的門電路結(jié)構(gòu)版圖掩膜稱為硬核。在工具實(shí)現(xiàn)手段和工藝技術(shù)尚未確定的邏輯設(shè)計(jì)階段,IP 核具有很大的靈活性,很容易借助 EDA 工具與其他外部邏輯結(jié)合為一體。相比之下固核和硬核與其他外部邏輯結(jié)合為一體的靈活性要差很多。11.簡(jiǎn)述 Top_Down 設(shè)計(jì)方法和硬件描述語(yǔ)言的關(guān)系?Top_Down 的設(shè)計(jì)方法是首先從系統(tǒng)設(shè)計(jì)入手,從頂層進(jìn)行功能劃分和結(jié)構(gòu)設(shè)計(jì)
13、。系統(tǒng)的總仿真是頂層進(jìn)行功能劃分的總要環(huán)節(jié),而該過(guò)程需要采用硬件描述語(yǔ)言的方法。12.System Verilog 與 Verilog 有什么關(guān)系?適合于何種設(shè)計(jì)?System Verilog 是 Verilog 語(yǔ)言的拓展和延伸。Veril 適合系統(tǒng)級(jí),算法級(jí),寄存器級(jí),邏輯級(jí),門級(jí),電路開(kāi)關(guān)級(jí)設(shè)計(jì)而 System Verilog 更適合于可重用的可綜合 IP 和可重用的驗(yàn)證用 IP 設(shè)計(jì),以及特大型基于 IP 的系統(tǒng)級(jí)設(shè)計(jì)和驗(yàn)證。天之藍(lán)電子工作室3/view/33cc9b7d192e45361166f54e.html3/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)
14、思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案第 2 章 Verilog 語(yǔ)法的基本概念1.Verilog 語(yǔ)言有什么作用?可描述順序執(zhí)行和并行執(zhí)行的程序結(jié)構(gòu);用延遲表達(dá)式或事件表達(dá)式來(lái)明確地控制過(guò)程的啟動(dòng)時(shí)間;通過(guò)命名的事件來(lái)觸發(fā)其他過(guò)程里的激活行為或停止行為;提供了條件如 if-else,case 等循環(huán)程序結(jié)構(gòu);提供了可帶參數(shù)且非零延續(xù)時(shí)間的任務(wù)程序結(jié)構(gòu);提供了可定義新的操作符的函數(shù)結(jié)構(gòu);提供了用于建立表達(dá)式的算術(shù)運(yùn)算符,邏輯運(yùn)算符,位運(yùn)算符;Verilog HDL 語(yǔ)言作為一種結(jié)構(gòu)化的語(yǔ)言非常適用于門級(jí)和開(kāi)光級(jí)的模型設(shè)計(jì);提供了一套完整的表示組合邏輯的基本元件的原話
15、;提供了雙向通路和電阻器件的原話;可建立 MOS 器件的電荷分享和電荷衰減動(dòng)態(tài)模型;Verilog HDL 的構(gòu)造性語(yǔ)句可以精確地建立信號(hào)的模型;2.構(gòu)成模塊的關(guān)鍵詞是什么?module,endmodule3.為什么說(shuō)可以用 Verilog 構(gòu)成非常復(fù)雜的電路結(jié)構(gòu)?因?yàn)?Verilog 可描述順序執(zhí)行和并行執(zhí)行的程序結(jié)構(gòu);用延遲表達(dá)式或事件表達(dá)式來(lái)明確地控制過(guò)程的啟動(dòng)時(shí)間;通過(guò)命名的事件來(lái)觸發(fā)其他過(guò)程里的激活行為或停止行為;提供了條件如 if-else,case 等循環(huán)程序結(jié)構(gòu);提供了可帶參數(shù)且非零延續(xù)時(shí)間的任務(wù)程序結(jié)構(gòu);提供了可定義新的操作符的函數(shù)結(jié)構(gòu);提供了用于建立表達(dá)式的算術(shù)運(yùn)算符,邏輯
16、運(yùn)算符,位運(yùn)算符;Verilog HDL 語(yǔ)言作為一種結(jié)構(gòu)化的語(yǔ)言非常適用于門級(jí)和開(kāi)光級(jí)的模型設(shè)計(jì);提供了一套完整的表示組合邏輯的基本元件的原話;提供了雙向通路和電阻器件的原話;可建立 MOS 器件的電荷分享和電荷衰減動(dòng)態(tài)模型;Verilog HDL 的構(gòu)造性語(yǔ)句可以精確地建立信號(hào)的模型。4.為什么可以用比較抽象的描述來(lái)設(shè)計(jì)具體的電路結(jié)構(gòu)?因?yàn)橛锌梢杂帽容^抽象描述設(shè)計(jì)電路結(jié)構(gòu)的語(yǔ)言,而這種語(yǔ)言是適合數(shù)字系統(tǒng)設(shè)計(jì)的語(yǔ)言。5.是否任意抽象的符合語(yǔ)法的 Verilog 模塊都可以通過(guò)綜合工具轉(zhuǎn)變?yōu)殡娐方Y(jié)構(gòu)?不能。要符合語(yǔ)法,還符合一些基本規(guī)則的 Verilog 模塊才可以通過(guò)綜合工具轉(zhuǎn)變?yōu)殡娐方Y(jié)構(gòu)。
17、6.什么叫綜合?天之藍(lán)電子工作室4/view/33cc9b7d192e45361166f54e.html4/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案通過(guò)綜合工具把行為級(jí)描述的模塊通過(guò)邏輯網(wǎng)表自動(dòng)轉(zhuǎn)化為門級(jí)形式的模塊叫綜合。7.綜合是由什么工具來(lái)完成的?EDA 工具來(lái)完成綜合的。8.通過(guò)綜合產(chǎn)生的是什么?產(chǎn)生的結(jié)果有什么用處?產(chǎn)生的是由與門,或門和非門組成的加法器,比較器等組合邏輯。產(chǎn)生的模塊很容易與某種工藝的基本元件逐一對(duì)應(yīng)起來(lái),再通過(guò)布局布線工具自動(dòng)地轉(zhuǎn)變?yōu)槟撤N工具工藝的電路布線結(jié)構(gòu)。9.仿真是什
18、么?為什么要進(jìn)行仿真?仿真是對(duì)電路模塊進(jìn)行動(dòng)態(tài)的全面測(cè)試。通過(guò)觀測(cè)被測(cè)試模塊的輸出信號(hào)是否符合要求可以調(diào)試和驗(yàn)證邏輯系統(tǒng)的設(shè)計(jì)和結(jié)構(gòu)準(zhǔn)確與否,并發(fā)現(xiàn)問(wèn)題及時(shí)修改。10.仿真可以在幾層面上進(jìn)行?每個(gè)層面的仿真有什么意義?分別為;前仿真,邏輯網(wǎng)表仿真,門級(jí)仿真和布線后仿真;前仿真,邏輯網(wǎng)表仿真,門級(jí)仿真;可以調(diào)試和驗(yàn)證邏輯系統(tǒng)的設(shè)計(jì)和結(jié)構(gòu)準(zhǔn)確與否,并發(fā)現(xiàn)問(wèn)題及時(shí)修改。布線后仿真:分析設(shè)計(jì)的電路模塊的運(yùn)行是否正常。11.模塊的端口是如何描述的?用“.”表示被引用模塊的端口。12.在引用實(shí)例模塊的時(shí)候,如何在主模塊中連接信號(hào)線?用小括號(hào)中來(lái)表示本模塊中與之連接的模塊。13.如何產(chǎn)生連續(xù)的周期性測(cè)試時(shí)鐘
19、?用 always 語(yǔ)句來(lái)產(chǎn)生連續(xù)的周期性測(cè)試模塊。14.如果不用 initial 塊,能否產(chǎn)生測(cè)試時(shí)鐘?不能,沒(méi)有 initial 塊,就不知道時(shí)鐘信號(hào)的初始值15.從本講中的簡(jiǎn)單例子,是否能明白 always 塊與 initial 塊有什么不同?Initial 塊只執(zhí)行一次,而 always 塊執(zhí)行無(wú)數(shù)次。16.為什么說(shuō) Verilog 可以用來(lái)設(shè)計(jì)數(shù)字邏輯電路和系統(tǒng)?因?yàn)?Verilog 可描述順序執(zhí)行和并行執(zhí)行的程序結(jié)構(gòu);用延遲表達(dá)式或事件表達(dá)式來(lái)明確地控制過(guò)程的啟動(dòng)時(shí)間;通過(guò)命名的事件來(lái)觸發(fā)其他過(guò)程里的激活行為或停止行為;提供了條件如 if-else,case 等循環(huán)程序結(jié)構(gòu);提供了
20、可帶參數(shù)且非零延續(xù)時(shí)間的任務(wù)程序結(jié)構(gòu);提供了可定義新的操作符的函數(shù)結(jié)構(gòu);提供了用于建立表達(dá)式的算術(shù)運(yùn)算符,邏輯運(yùn)算符,位運(yùn)算符;Verilog HDL 語(yǔ)言作為一種結(jié)構(gòu)化的語(yǔ)言非常適用于門級(jí)和開(kāi)光級(jí)的模型設(shè)計(jì);提供了一套完整的表示組合邏輯的基本元件的原話;提供了雙向通路和電阻器件的原話;可建立 MOS 器天之藍(lán)電子工作室5/view/33cc9b7d192e45361166f54e.html5/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案件的電荷分享和電荷衰減動(dòng)態(tài)模型;Verilog HDL 的構(gòu)造性語(yǔ)
21、句可以精確地建立信號(hào)的模型。第 3 章 模塊的結(jié)構(gòu)、數(shù)據(jù)類型、變量和基本運(yùn)算符號(hào)1.模塊由幾個(gè)部分組成?由描述接口和描述邏輯功能兩部分組成。2.端口分為幾種?三種:輸出口,輸入口,輸入/輸出口3.為什么端口要說(shuō)明信號(hào)的位寬?因?yàn)槿绻徽f(shuō)明信號(hào)的位寬可能會(huì)在信號(hào)發(fā)生改變時(shí)發(fā)生錯(cuò)誤,不容易看出接收到的信號(hào)的數(shù)據(jù)寬度,就很難進(jìn)行數(shù)據(jù)的處理。4.能否說(shuō)模塊相當(dāng)于電路圖中的功能模塊,端口相當(dāng)于功能模塊的引腳?可以那樣說(shuō),每個(gè)模塊都有特定的功能,而功能的實(shí)現(xiàn)就必須依靠具體的電路得以實(shí)現(xiàn),端口是信號(hào)傳遞的通道,可以說(shuō)是功能模塊的引腳。5.模塊中的功能描述可以由哪幾類語(yǔ)句或語(yǔ)句塊組成?它們出現(xiàn)的順序會(huì)不會(huì)影響
22、功能的描述?用 assign 語(yǔ)句聲明,用實(shí)例元件,用 always 塊。它們出現(xiàn)的順序不會(huì)影響到功能的描述。6.這幾類描述中哪一種直接與電路結(jié)構(gòu)有關(guān)?用實(shí)例元件直接與電路結(jié)構(gòu)有關(guān)。7.最基本的 Verilog 變量有哪幾種類型?wire 型、reg 型、memory 型8.reg 型和 wire 型變量的差別是什么?reg 型變量是寄存器型變量,wire 型變量是連線型變量。兩者根本性的差別在于reg 型變量有個(gè)寄存器來(lái)存放變量,這個(gè)值只有變量發(fā)生改變時(shí)才會(huì)改變否則保證原來(lái)的值不變,wire 型變量的值不是確定的值。9.由連續(xù)賦值語(yǔ)句(assign)賦值的變量能否是 reg 類型的?可以是
23、reg 類型的變量。10.在 always 模塊中被賦值的變量能否是 wire 類型的?如果不能是 wire 類型,那么必須是什么類型的?它們表示的一定是實(shí)際的寄存器嗎?不能。必須是 reg 類型的變量,它們表示不一定是實(shí)際的寄存器。11.參數(shù)類型的變量有什么用處?參數(shù)類型的變量的好處是可以提高程序的可讀性和可維護(hù)性。12.Verilog 語(yǔ)法規(guī)定的參數(shù)傳遞和重新定義功能有什么直接的應(yīng)用價(jià)值?天之藍(lán)電子工作室6/view/33cc9b7d192e45361166f54e.html6/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)
24、字系統(tǒng)設(shè)計(jì)教程思考題答案可以用于定義延遲時(shí)間和變量寬度。13.邏輯比較運(yùn)算符小于等于“=”和非阻塞賦值大于等于“=”的表示是完全一樣的,為什么 Verilog 在語(yǔ)句解釋和編譯時(shí)不會(huì)搞錯(cuò)?因?yàn)檫壿嫳容^時(shí)“=”兩邊是兩個(gè)操作數(shù),此時(shí)“=”是雙目運(yùn)算符,而在非阻塞賦值時(shí)“=”的右邊是操作數(shù),此時(shí)“=”單目運(yùn)算符。14.是否可以說(shuō)實(shí)例引用的描述實(shí)際上就是嚴(yán)格意義上的電路結(jié)構(gòu)描述?不能實(shí)例引用的描述是在門級(jí)電路上加以描述的,和嚴(yán)格意義上的電路結(jié)構(gòu)描述還是有點(diǎn)差距的。天之藍(lán)電子工作室7/view/33cc9b7d192e45361166f54e.html7/44 4/15/2019verilog - 數(shù)
25、字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案第 4 章 運(yùn)算符、賦值語(yǔ)句和結(jié)構(gòu)說(shuō)明語(yǔ)句1.邏輯運(yùn)算符與按位邏輯運(yùn)算符有什么不同,它們各在什么場(chǎng)合使用?用邏輯運(yùn)算符運(yùn)算時(shí)是兩個(gè)操作數(shù)進(jìn)行邏輯運(yùn)算,而按位邏輯運(yùn)算符運(yùn)算時(shí)是兩個(gè)操作數(shù)對(duì)應(yīng)的每一位進(jìn)行邏輯運(yùn)算。邏輯運(yùn)算符多用于條件的判斷,按位邏輯運(yùn)算符用于信號(hào)的運(yùn)算和檢測(cè)。2.指出兩種邏輯等式運(yùn)算符的不同點(diǎn),解釋書(shū)上的真值表。兩種邏輯運(yùn)算符有很大的區(qū)別?!?“要求兩個(gè)比較數(shù)完全一樣,無(wú)論高阻還是未知,只要每位完全相同即可;而“=”只有在兩個(gè)操作數(shù)每位都已知即 1或 0,在這種前提下兩個(gè)操作數(shù)每位相同結(jié)果才
26、為真,如果不是在這個(gè)前提那么其結(jié)果始終為 x;3.拼接符的作用是什么?為什么說(shuō)合理地使用拼接符可以提高程序的可讀性和可維護(hù)性?拼接符表示的操作其物理意義是什么?拼接符的作用是把兩個(gè)或多個(gè)信號(hào)的某些位拼接起來(lái)進(jìn)行運(yùn)算操作。因?yàn)榻柚唇臃梢杂靡粋€(gè)符號(hào)名來(lái)表示由多位信號(hào)組成的復(fù)雜信號(hào)。其物理意義是將多個(gè)信號(hào)結(jié)合成一個(gè)信號(hào)。4.如果都不帶時(shí)間延遲,阻塞和非阻塞賦值有什么不同?舉例說(shuō)明它們的不同點(diǎn)?阻塞和非阻塞賦值的區(qū)別在阻塞是順序執(zhí)行而非阻塞是并行執(zhí)行。以下面的語(yǔ)句舉例非阻塞賦值always(posedge clk)beginb=a;c=b;end阻塞賦值always(posedge clk)beg
27、inb=a;c=b;end兩種不同的賦值方式結(jié)果是不同的,非阻塞賦值 b=a;cend_wave;endfork#50 r=h35;#100 r=hE2;#150 r=h00;#200 r=hF7;#250 -end_wave;join上面兩個(gè)塊執(zhí)行起來(lái)效果是完全一樣的,第一個(gè)模塊是按順序執(zhí)行,而第二個(gè)模塊是每個(gè)語(yǔ)句同時(shí)執(zhí)行的。6.如果在順序塊中,前面有一條語(yǔ)句是無(wú)限循環(huán),下面的語(yǔ)句能否進(jìn)行?下面的語(yǔ)句不能執(zhí)行。7.如果在并行塊中,發(fā)生上述情況,會(huì)如何呢?下面的語(yǔ)句能夠執(zhí)行。天之藍(lán)電子工作室9/view/33cc9b7d192e45361166f54e.html9/44 4/15/2019ve
28、rilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案第 5 章 條件語(yǔ)句、循環(huán)語(yǔ)句、塊語(yǔ)句與生成語(yǔ)句1.為什么建議在編寫 Verilog 模塊程序時(shí),如果用到 if 語(yǔ)句建議大家把配套的 else情況也考慮在內(nèi)?因?yàn)槿绻麤](méi)有配套的 else 語(yǔ)句,在不滿足 if 條件語(yǔ)句時(shí),將會(huì)保持原來(lái)的狀態(tài)不變,從而在綜合時(shí)會(huì)產(chǎn)生一個(gè)鎖存器,而這是設(shè)計(jì)不想要的結(jié)果。2.用 if 語(yǔ)句;elseif 語(yǔ)句;elseif 語(yǔ)句;.else 語(yǔ)句和用 case endcase 表示不同條件下的多個(gè)分支是完全相同的,還是有什么不同?不是完全相同。(1)與 ca
29、se 語(yǔ)句中的控制表達(dá)式和多分支表達(dá)式這種比較相比,if_else_if 結(jié)構(gòu)中條件表達(dá)式更為直觀些。(2)對(duì)于那些分支表達(dá)式中存在不定值x 和高阻值 z 的位時(shí) case 語(yǔ)句提供了處理這種情況的手段。3.如果 case 語(yǔ)句的分支條件沒(méi)有覆蓋所有可能的組合條件,定義了 default 項(xiàng)和沒(méi)有定義 default 項(xiàng)有什么不同?定義了 default 項(xiàng)則會(huì)使電路描述的更加的清楚,綜合的時(shí)候不會(huì)產(chǎn)生不想要的結(jié)果,沒(méi)用定義 default 則會(huì)使在綜合是產(chǎn)生一個(gè)鎖存器。4.仔細(xì)闡釋 case、casex 和 casez 之間的不同。case、casex、casez 對(duì)應(yīng)的真值表如上,可以看出
30、 case 無(wú)論是 0,1,還是 x 高阻都能夠比較,而 casez 不將高阻進(jìn)行比較,在其它情況都進(jìn)行比較;而 casex 不將高阻和 x 進(jìn)行比較,在其它情況進(jìn)行比較。5.forever 語(yǔ)句如果運(yùn)行了,在它下面的語(yǔ)句能否運(yùn)行?它位于 begin end 和位于fork join 塊有什么不同?不能運(yùn)行。位于 begin end,由于 begin and 是順序塊,所以只要執(zhí)行到 forever則將不能運(yùn)行下面的程序;而位于 fork join,它是并行塊,執(zhí)行了 forever 還是能夠執(zhí)行 forever 下面的語(yǔ)句。6.forever 語(yǔ)句 repeat 語(yǔ)句能否獨(dú)立于過(guò)程塊而存在,
31、即能否不在 initial 或 always塊中使用?forever 不能獨(dú)立于過(guò)程塊中,而 repeat 能夠獨(dú)立于過(guò)程塊中。天之藍(lán)電子工作室10/view/33cc9b7d192e45361166f54e.html10/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案7.用 for 循環(huán)為存儲(chǔ)器許多單元賦值時(shí)是否需要時(shí)間?為什么如果不定義時(shí)間延遲,它可以不需要時(shí)間就把不管多大的儲(chǔ)存器賦值完畢?如果定義了時(shí)間延遲則需要時(shí)間,否則不需要時(shí)間。因?yàn)檠h(huán)的邊界是確定的,那么在綜合時(shí)該循環(huán)語(yǔ)句被認(rèn)為是重復(fù)的硬件結(jié)
32、構(gòu)。8.for 循環(huán)是否可以表示可以綜合的組合邏輯?請(qǐng)舉例說(shuō)明??梢员硎揪C合的組合邏輯。例如用 for 循環(huán)實(shí)現(xiàn)的乘法器9.在編寫測(cè)試模塊時(shí)用什么方法可以使 for 循環(huán)按照時(shí)鐘的節(jié)拍運(yùn)行?請(qǐng)比較圖5.3 所示程序段??梢栽?for 循環(huán)的最后嵌套時(shí)鐘節(jié)拍運(yùn)行的信號(hào)。第一種程序不能按照時(shí)鐘節(jié)拍來(lái)對(duì) memi賦值,而第二種程序可以。10.聲明一個(gè)為 oscillate 的寄存器變量并將它初始化為 0,使其每 30 個(gè)時(shí)間單位進(jìn)行一次取反操作,不要使用 always 語(yǔ)句(提示:使用 forever 循環(huán))。reg oscillate;initialbeginoscillate=0;forever
33、#30 oscillate=!Oscillate;end11.設(shè)計(jì)一個(gè)周期為 40 個(gè)時(shí)鐘單位的時(shí)鐘循環(huán),其占空比為 25%,使用 always和 initial 塊進(jìn)行設(shè)計(jì),將其在仿真 0 時(shí)刻的值初始化為 0。initialbeginclock=0;alwaysbegin天之藍(lán)電子工作室11/view/33cc9b7d192e45361166f54e.html11/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案#30 clock=0;#10 clock=1;endend12.給定下面含有阻塞過(guò)程賦值語(yǔ)
34、句的 initial 塊,每個(gè)語(yǔ)句在什么仿真時(shí)刻開(kāi)始執(zhí)行?a,b,c 和 d 在仿真過(guò)程中的中間值和仿真結(jié)束時(shí)的值是什么?initialbegina=1b0;1b=#10 1b0;c=#5 1b0;d=#20a,b,c;234end第一條語(yǔ)句在仿真開(kāi)始時(shí)就執(zhí)行,第二句在仿真 10 個(gè)時(shí)鐘單元后執(zhí)行,第三句在仿真 15 個(gè)時(shí)鐘信號(hào)單元后執(zhí)行,第四句在仿真 35 個(gè)時(shí)鐘單元后執(zhí)行。在中間仿真過(guò)程中 a=0,b,c,d 為不確定值結(jié)束時(shí) abcd 的值是 a=1b0,b=10,c=10,d=3b000。13.在第 12 題中,如果 initial 塊中包含的是非阻塞過(guò)程賦值語(yǔ)句,那么各個(gè)問(wèn)題的答案是
35、什么?如果是非阻塞過(guò)程賦值則答案是;第一條語(yǔ)句在仿真開(kāi)始時(shí)就執(zhí)行,第二句在仿真 10 個(gè)時(shí)鐘單元后執(zhí)行,第三句在仿真 5 個(gè)時(shí)鐘信號(hào)單元后執(zhí)行,第四句在仿真 20 個(gè)時(shí)鐘單元后執(zhí)行。在中間仿真過(guò)程中 a=0,b,c,d 為不確定值結(jié)束時(shí) abcd的值是 a=1b0,b=10,c=10,d=3b000。14.下面例子中 d 的最終值是什么?initialbeginb=1b1;c=1b0;#10 b=1b0;endinitialbegind=#25(b|c);endD 的最終值 0。天之藍(lán)電子工作室12/view/33cc9b7d192e45361166f54e.html12/44 4/15/20
36、19verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案15 使用帶同步清零端的 D 觸發(fā)器(清零高電平有效,在時(shí)鐘下降沿執(zhí)行清零操作)設(shè)計(jì)下一個(gè)下降沿觸發(fā)的 D 觸發(fā)器,只能使用行為語(yǔ)句(提示:D 觸發(fā)器的輸出 q 應(yīng)當(dāng)聲明為寄存器變量)。使用設(shè)計(jì)出的 D 觸發(fā)器輸出一個(gè)周期為 10 個(gè)時(shí)間單位的時(shí)鐘信號(hào)。module D_FF(CLR,CLK,D,Q);input CLR,CLK,D;output Q;reg Q;always (posedge CLR or necedge CLK)beginif(CLR) Q=0;else#10
37、 Q=D;endendmodule16.使用帶有異步清零端的 D 觸發(fā)器設(shè)計(jì)第 15 題要求的 D 觸發(fā)器(在清零端變?yōu)楦唠娖胶罅⒓磮?zhí)行清零操作,無(wú)須等待下一個(gè)時(shí)鐘下降沿 ),并對(duì)這個(gè) D 觸發(fā)器進(jìn)行測(cè)試。module D_FF(CLR,CLK,D,Q);input CLR,CLK,D;output Q;reg Q;always (posedge CLR )beginQ=0;endalways (necedge CLK)begin#10 Q=D;endendmodule17.使用 wait 語(yǔ)句設(shè)計(jì)一個(gè)電平敏感的鎖存器,該鎖存器的輸入信號(hào)為 d 和 clock,輸出為 q,其功能是當(dāng) cloc
38、k=1 時(shí) q=d;module L_FF(d,clock,q);input d,clk;天之藍(lán)電子工作室13/view/33cc9b7d192e45361166f54e.html13/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案output q;reg q;alwaysbeginwait(clock=1)q=d;endendmodule18.使用條件語(yǔ)句設(shè)計(jì)例 5.18中的四選一多路選擇器,外部端口必須保持不變。module mux4_to_1(out,i0,i1,i2,i3,s1,s0);outpu
39、t out;input i0,i1,i2,i3;input s1,s0;reg out;always (s1 or s0 or i0 or i1 or i2 or i3)beginif(s1=0&s0=0)out=i0;else if(s1=0&s0=1)out=i1;else if(s1=1&s0=0)out=i2;else if(s1=1&s0=1)out=i3;elseout=1bx;endendmodule19.使用 case 語(yǔ)句設(shè)計(jì)八功能的算術(shù)運(yùn)算單元(ALU),其輸入信號(hào) a 和 b 均為 4 位,還有功能選擇信號(hào) select 為 3 位,輸出信號(hào)為 out(5 位),算術(shù)運(yùn)算
40、單元 ALU 所執(zhí)行的操作與 select 信號(hào)有關(guān),具體關(guān)系如 5.1 所列(忽略輸出結(jié)果中的上溢和下溢的位)。天之藍(lán)電子工作室14/view/33cc9b7d192e45361166f54e.html14/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案module ALU(a,b,select,out);input3:0 a,b;input2:0 select;output4:0 out;reg4:0 out;always (select)begincase(select)3b000: out=a;3
41、b001: out=a+b;3b010: out=a-b;3b011: out=a/b;3b100: out=a%b;3b101: out=a1;3b111: out=ab;default:out=5bx;endcaseendendmodule天之藍(lán)電子工作室15/view/33cc9b7d192e45361166f54e.html15/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案20.使用 while 循環(huán)設(shè)計(jì)一個(gè)時(shí)鐘信號(hào)發(fā)生器。其時(shí)鐘信號(hào)的初值為 0,周期為 10個(gè)時(shí)間單元。initialbegin
42、clk=0;while(1)#10 clk=!clk;end21.使用 for 循環(huán)對(duì)一個(gè)長(zhǎng)度為 1024(地址從 01023)、位寬為 4 的寄存器類型數(shù)組 cache_var 進(jìn)行初始化,把所有單元都設(shè)置為 0.beginreg3:0 cache_var1023:0;intiger i;for(i=0;i1024;i+)cache_vari=0;end22.使用 forever 循環(huán)設(shè)計(jì)一個(gè)時(shí)鐘信號(hào),周期為 10,占空比為 40%,初值為 0.initialbeginclk=0;foreverbegin#6 clk=0;#4 clk=1;endend23.使用 repeat 將語(yǔ)句 a=a
43、+1 延遲 20 個(gè)時(shí)鐘上升沿之后再執(zhí)行。parameter delay=20;intiger i;reg a;beginrepeat(delay)天之藍(lán)電子工作室16/view/33cc9b7d192e45361166f54e.html16/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案always (posedge clk)begini+;if(i=20)a=a+1;endend24.下面是一個(gè)內(nèi)嵌順序塊和并行塊的塊語(yǔ)句。該塊的執(zhí)行結(jié)束時(shí)間是多少?事件的順序是怎樣的?每條語(yǔ)句的仿真結(jié)束時(shí)間是多少?in
44、itialbegin/ 順序執(zhí)行x=1b0;#5 y=1b1;fork.5/并行執(zhí)行#20 a=x;#15 b=y;join.25.20#40 x=1b1; / 順序執(zhí)行 .65fork#10 p=x;/并行執(zhí)行.75begin/ 順序執(zhí)行.75#10 a=y;#30 b=x;.105end#5 m=y;.70joinend該塊的執(zhí)行結(jié)束時(shí)間是 5+20+40+40=105 個(gè)時(shí)鐘單位每條語(yǔ)句執(zhí)行的時(shí)間如上圖所標(biāo)25.用 forever 循環(huán)語(yǔ)句,命名塊(named block)和禁用(disabling of) 命名塊來(lái)設(shè)計(jì)一個(gè)八位計(jì)數(shù)器。這個(gè)計(jì)數(shù)器從 count=5 開(kāi)始計(jì)數(shù),到 coun
45、t=67 結(jié)束計(jì)數(shù)。每個(gè)時(shí)鐘正跳變計(jì)數(shù)器加一,時(shí)鐘的周期為 10,計(jì)數(shù)器的設(shè)計(jì)只用到了一次循環(huán),然后就被禁用了(提示:使用 disable 語(yǔ)句)。天之藍(lán)電子工作室17/view/33cc9b7d192e45361166f54e.html17/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案reg7:0 count;initialbegincount =5;endbegin:mame blockforeverbegin: disabling ofalways (posedge clk)beginif(cou
46、nt67)#10 count=count+1;disable: disabling of;endendend天之藍(lán)電子工作室18/view/33cc9b7d192e45361166f54e.html18/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案第 6 章 結(jié)構(gòu)語(yǔ)句、系統(tǒng)任務(wù)、函數(shù)語(yǔ)句和顯示系統(tǒng)任務(wù)1.怎樣理解 initial 語(yǔ)句只執(zhí)行一次的概念?在仿真開(kāi)始時(shí),initial 語(yǔ)句只執(zhí)行一次,但 initial 語(yǔ)句里面的語(yǔ)句可能不執(zhí)行一次,因?yàn)槿绻?while 循環(huán),雖然 initial 語(yǔ)句是
47、執(zhí)行一次,但只要進(jìn)了 while 循環(huán),則會(huì)執(zhí)行到仿真結(jié)束。2.在 initial 語(yǔ)句引導(dǎo)的過(guò)程中是否可以有循環(huán)語(yǔ)句?如果可以,是否與思考題 1,互相矛盾?可以,并不互相矛盾。initial 語(yǔ)句確實(shí)是執(zhí)行了一次,但并不意味著 initial 語(yǔ)句過(guò)程中就不能是循環(huán)語(yǔ)句,兩者并不矛盾。3.怎樣理解由 always 語(yǔ)句引導(dǎo)的過(guò)程塊是不斷活動(dòng)的?always 語(yǔ)句的過(guò)程塊是不斷活動(dòng)的,在仿真過(guò)程中 always 塊始終在循環(huán)的活動(dòng)著,檢查 always 語(yǔ)句后面的信號(hào)是否發(fā)生相應(yīng)改變,這是 always 活動(dòng)的實(shí)質(zhì),如果 always 語(yǔ)句后面沒(méi)有檢查的信號(hào)則將會(huì)進(jìn)入一個(gè)循環(huán),將會(huì)使仿真器鎖死
48、。4.不斷活動(dòng)與不斷執(zhí)行有什么不同?不斷活動(dòng)是 always 語(yǔ)句不斷活動(dòng)檢查是否滿足條件(如某個(gè)信號(hào)發(fā)生改變),不斷執(zhí)行時(shí) always 語(yǔ)句引導(dǎo)的過(guò)程中的語(yǔ)句不斷的執(zhí)行著。5.怎樣理解沿觸發(fā)和電平觸發(fā)的不同?沿觸發(fā)是在某個(gè)信號(hào)在上升沿或下降沿到來(lái)時(shí),觸發(fā)執(zhí)行過(guò)程塊。電平觸發(fā)是在某個(gè)信號(hào)發(fā)生改變時(shí)就會(huì)觸發(fā)執(zhí)行過(guò)程塊。6.是不是可以說(shuō)沿觸發(fā)是有間隔的,在一定的時(shí)間區(qū)間里只需要注意有限的點(diǎn),而電平觸發(fā)卻需要注意無(wú)窮多個(gè)點(diǎn)?不是。沿觸發(fā)是信號(hào)的上升沿或下降沿進(jìn)行觸發(fā),而電平觸發(fā)是在某個(gè)信號(hào)發(fā)生改變時(shí)進(jìn)行觸發(fā),并不需要注意無(wú)窮多個(gè)點(diǎn)。7.沿觸發(fā)的 always 塊和電平觸發(fā)的 always 塊各表示
49、什么類型的邏輯電路的行為?為什么?沿觸發(fā)的 always 塊常表示時(shí)序邏輯電路,因?yàn)槠浜蜁r(shí)序有很關(guān)。電平觸發(fā)的always 塊常表示組合邏輯電路,因?yàn)槠浜椭缓碗娖接嘘P(guān)。8.簡(jiǎn)單敘述任務(wù)和函數(shù)的不同點(diǎn)(1)函數(shù)只能與主模塊共用同一個(gè)仿真時(shí)間單元,而任務(wù)可以定義自己的仿真時(shí)間單位;(2)函數(shù)不能啟動(dòng)任務(wù),而任務(wù)能啟動(dòng)其他任務(wù)和函數(shù);(3)函數(shù)至少要有一個(gè)輸入變量,而任務(wù)可以沒(méi)有或有多個(gè)任何類型的變量;(4)函數(shù)返回一個(gè)值,而任務(wù)則不返回值。9.簡(jiǎn)單敘述$display、$write 和$strobe 的不同點(diǎn)。$display 自動(dòng)地在輸出后進(jìn)行換行,$write 則不進(jìn)行自動(dòng)換行,其它都非常相似
50、。天之藍(lán)電子工作室19/view/33cc9b7d192e45361166f54e.html19/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案如果許多其他語(yǔ)句與$display 任務(wù)在同一個(gè)時(shí)間單位執(zhí)行,那么這些語(yǔ)句與$display 任務(wù)的執(zhí)行順序是不確定的。如果使用$strobe,該語(yǔ)句總是在同時(shí)刻的其他賦值語(yǔ)句執(zhí)行完成之后執(zhí)行。10.簡(jiǎn)單敘述 Verilog1364-2001 版語(yǔ)法規(guī)定的電平敏感列表的簡(jiǎn)化寫法。關(guān)鍵詞“or”也可以使用“,”來(lái)代替。11.如何在 Verilog 測(cè)試模塊中,利用文
51、件的讀寫產(chǎn)生預(yù)定格式的信號(hào),并記錄有測(cè)試價(jià)值的信號(hào)?Verilog 提供了系統(tǒng)任務(wù)來(lái)選擇要轉(zhuǎn)儲(chǔ)的模塊實(shí)例或模塊實(shí)例信號(hào)( dumpvars),選擇 VCD 文件的名稱($dumpfile),選擇轉(zhuǎn)儲(chǔ)過(guò)程的起點(diǎn)和終點(diǎn)($dumppon,$dumpoff),選擇生成檢測(cè)點(diǎn)(Sdunpall),其使用方法如下initial$dumpfile(myfile.dmp); /仿真信息轉(zhuǎn)儲(chǔ)到 myfile.dmp 文件initial$dumpvars;initail/沒(méi)有指定變量范圍,把設(shè)計(jì)中全部信號(hào)都轉(zhuǎn)儲(chǔ)$dunpvars(1,top); /轉(zhuǎn)儲(chǔ)模塊實(shí)例投票中的信號(hào)/數(shù) 1 表示層次的等級(jí)只轉(zhuǎn)儲(chǔ) top
52、下第一層信號(hào)/即轉(zhuǎn)儲(chǔ) top 模塊中的變量,而不轉(zhuǎn)儲(chǔ)在 top 中引用initial$dumpvars(2,top.m1); /轉(zhuǎn)儲(chǔ) top.m1 模塊下兩層的信號(hào)initial$dumpvars(0,top.m1); /數(shù) 0 表示轉(zhuǎn)儲(chǔ) top.m1 模塊下面各個(gè)層的所有信號(hào)initialbegin$dumpon;/啟動(dòng)轉(zhuǎn)儲(chǔ)過(guò)程#100000 $dunpoff; /過(guò)了 100000 個(gè)仿真單位后,停止轉(zhuǎn)儲(chǔ)過(guò)程endinitial/生成一個(gè)檢查點(diǎn),轉(zhuǎn)儲(chǔ)所有 VCD 變量的現(xiàn)行值$dumpall;天之藍(lán)電子工作室20/view/33cc9b7d192e45361166f54e.html20/4
53、4 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案第 7 章 調(diào)試用系統(tǒng)任務(wù)和常用編譯預(yù)處理語(yǔ)句1.為什么在多個(gè)模塊調(diào)試的情況下$monitor 需要配合$monitoron 和$monitoroff 來(lái)工作?$monitoron 和$monitoroff 任務(wù)的作用是通過(guò)打開(kāi)和關(guān)閉監(jiān)控標(biāo)志來(lái)控制監(jiān)控任務(wù)$monitor 的啟動(dòng)和停止,這樣使得程序員可以很容易地控制$monitor 何時(shí)發(fā)生。$monitoron 則用于打開(kāi)監(jiān)控標(biāo)志,啟動(dòng)監(jiān)控任務(wù)$monitor。通常在通過(guò)調(diào)用$monitoron 來(lái)啟動(dòng)$mo
54、nitor 時(shí)不管$monitor 參數(shù)列表中的值是否發(fā)生改變,總是立刻輸出顯示當(dāng)前時(shí)刻參數(shù)列表中的值,這用于在監(jiān)控的初始時(shí)刻設(shè)定初始比較值。在默認(rèn)情況下,控制標(biāo)志在仿真的起始時(shí)刻就已經(jīng)打開(kāi)了。在多模式調(diào)試的情況下,許多模塊中都調(diào)用了$monitor,因?yàn)槿魏螘r(shí)刻只能用一個(gè)$monitor 起作用,因此需配合$monitoron 與$monitoroff 使用,把需要監(jiān)視的模塊用$monitor 打開(kāi),在監(jiān)視完畢后及時(shí)用$monitoroff 關(guān)閉,以便把$monitor 讓給其他模塊使用。2.請(qǐng)用$random 配合求模運(yùn)算編寫:(1)用于測(cè)試的跳變沿抖動(dòng)為周期 1/10 的時(shí)鐘波形。(2)
55、隨機(jī)出現(xiàn)的脈寬隨機(jī)的窄脈寬。module random_pulse(dout);output9:0 dout;reg9:0 dout;integer delay;initialbegin#10 dout=0;for(k=0;k100;k=k+1)begindelay=$random%10;#delay dout=1;#delay dout=0;endendendmodule3.Verilog 的編譯預(yù)處理與 C 語(yǔ)言的編譯預(yù)處理有什么不同?Verilog 的編譯處理,在編譯處理命令之前要以開(kāi)頭。4.請(qǐng)仔細(xì)闡釋timescale 編譯預(yù)處理的作用?timescale 命令用來(lái)說(shuō)明跟在該命令后的模
56、塊的時(shí)間單位和時(shí)間精度。使用timescale 命令可以在同一個(gè)設(shè)計(jì)里包含采用了不同的時(shí)間單位的模塊。天之藍(lán)電子工作室21/view/33cc9b7d192e45361166f54e.html21/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案5.不同timescale 定義的多模塊仿真測(cè)試時(shí)需要注意什么?如果在同一個(gè)設(shè)計(jì)里,多個(gè)模塊中用到的時(shí)間單位和時(shí)間精度單位不同,需要用到以下的時(shí)間結(jié)構(gòu):(1)用timescale 命令來(lái)聲明本模塊中所用到的時(shí)間單位和時(shí)間精度;(2)用系統(tǒng)任務(wù)$printtimesc
57、ale 來(lái)輸出顯示一個(gè)模塊的時(shí)間單位和時(shí)間精度;(3)用系統(tǒng)函數(shù)$time 和$realtime 及%t 格式聲明來(lái)輸出顯示 EDA 工具記錄的時(shí)間信息。6.為什么說(shuō)系統(tǒng)任務(wù)$readmen 可以用來(lái)產(chǎn)生用于算法驗(yàn)證的極其復(fù)雜的測(cè)試用數(shù)據(jù)流?在 Verilog HDL 程序中有兩個(gè)系統(tǒng)任務(wù)$readmemb 和$readmemh,并用來(lái)從文件中讀取數(shù)據(jù)到存儲(chǔ)器中,這兩個(gè)系統(tǒng)任務(wù)可以在仿真的任何時(shí)刻被執(zhí)行使用。復(fù)雜數(shù)據(jù)可以用 C 語(yǔ)言產(chǎn)生,存在文件中,用$readmem 取出存入存儲(chǔ)器,在按節(jié)拍輸出,這在驗(yàn)證算法邏輯電路時(shí)特別有用。7.為什么熟練地使用條件編譯命令可以使源代碼有更大的靈活性,可以
58、使用于不同的實(shí)現(xiàn)對(duì)象,如不同工藝的 ASIC 或速度規(guī)模不同的 FBGA 或 CPLD,從而為軟核的商品化創(chuàng)造條件?合理的使用條件編譯和條件執(zhí)行預(yù)處理可以使測(cè)試程序適應(yīng)不同的編譯環(huán)境,也可以把不同的測(cè)試過(guò)程編寫到一個(gè)統(tǒng)一的測(cè)試程序中去,可以簡(jiǎn)化測(cè)試的過(guò)程,對(duì)于復(fù)雜設(shè)計(jì)的驗(yàn)證模塊的編寫很有實(shí)用價(jià)值。天之藍(lán)電子工作室22/view/33cc9b7d192e45361166f54e.html22/44 4/15/2019verilog - 數(shù)字系統(tǒng)設(shè)計(jì)課程(第二版)思考題答案 - 百度文庫(kù)Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程思考題答案第二部分 設(shè)計(jì)和驗(yàn)證部分第 9 章 Verilog HDL 模型的不同
59、抽象級(jí)別1.Verilog HDL 的模型共有哪幾種類型(級(jí)別)?有 5 種類型,系統(tǒng)級(jí),算法級(jí),RTL 級(jí),門級(jí),開(kāi)關(guān)級(jí)。2.每種類型的 Verilog HDL 各有什么特點(diǎn)?主要用于什么場(chǎng)合?系統(tǒng)級(jí),算法級(jí)和 RTL 級(jí)是屬于行為級(jí),門級(jí)是屬于結(jié)構(gòu)級(jí)的。系統(tǒng)級(jí):用高級(jí)語(yǔ)言結(jié)構(gòu)實(shí)現(xiàn)設(shè)計(jì)模塊的外部性能的模型。算法級(jí):用高級(jí)語(yǔ)言結(jié)構(gòu)實(shí)現(xiàn)設(shè)計(jì)算法的模型。RTL 級(jí):描述數(shù)據(jù)在寄存器之間流動(dòng)和如何處理這些數(shù)據(jù)的模型。門級(jí):描述邏輯門以及邏輯門之間的連接的模型。開(kāi)關(guān)級(jí):描述器件中三極管和存儲(chǔ)節(jié)點(diǎn)以及它們之間連接的模型。3.不可綜合成為電路的 Verilog 模塊有什么好處?描述比較直觀4.為什么說(shuō) V
60、erilog HDL 的語(yǔ)言結(jié)構(gòu)可以支持構(gòu)成任意復(fù)雜的數(shù)字邏輯系統(tǒng)?通過(guò) Verilog 語(yǔ)言中的模塊實(shí)例引用,可以構(gòu)成任何復(fù)雜結(jié)構(gòu)的電路,這種以結(jié)構(gòu)方式所建成的 Verilog 模型不僅是可以以仿真的,而且也是可以綜合的,其本質(zhì)是表示電路的具體結(jié)構(gòu),也可以說(shuō)這種 Verilog 文件也是一種結(jié)構(gòu)網(wǎng)表。5.什么是綜合?是否任何符合語(yǔ)法的 Verilog HDL 程序都可以綜合?綜合是通過(guò)綜合器把 HDL 程序轉(zhuǎn)化成標(biāo)準(zhǔn)的門級(jí)結(jié)構(gòu)網(wǎng)表。不是任何復(fù)合語(yǔ)法的 VerilogHDL 程序都可以綜合。6.綜合生成的是不是真實(shí)的電路?若不是,還需要哪些步驟才能真正成為具體的電路?不是,真實(shí)的電路還需要利用
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園人民廣場(chǎng)課程設(shè)計(jì)
- 攝影作品布展合同范例
- 土地流轉(zhuǎn)合同合同范例
- 更改勞動(dòng)合同范例
- 聘請(qǐng)?jiān)u級(jí)機(jī)構(gòu)合同范例
- 砂石場(chǎng)勞務(wù)用工合同范例
- 天然氣罐運(yùn)輸合同范例
- 私人司機(jī)合同范例
- 服裝銷樣合同范例
- 倉(cāng)儲(chǔ)物流保管合同范例
- 合肥城建公司招聘筆試題目
- 2024年糧食集團(tuán)招聘筆試參考題庫(kù)附帶答案詳解
- 中職學(xué)校專業(yè)建設(shè)指導(dǎo)委員會(huì)
- 培智信息技術(shù)教案
- 皖醫(yī)大內(nèi)科學(xué)習(xí)題及答案02呼吸系統(tǒng)疾病
- 2024年度醫(yī)院內(nèi)窺鏡科述職報(bào)告課件
- 《關(guān)聯(lián)翻譯理論》課件
- 脫糖果汁的生產(chǎn)工藝優(yōu)化
- 《非典型性心梗》課件
- 2024年中鐵建公路運(yùn)營(yíng)有限公司招聘筆試參考題庫(kù)含答案解析
- 奢侈品認(rèn)知篇
評(píng)論
0/150
提交評(píng)論