版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)字系統(tǒng)設(shè)計基礎(chǔ)數(shù)字系統(tǒng)設(shè)計基礎(chǔ)主講:謝躍雷(講師)主講:謝躍雷(講師)Verilog部分 介紹Verilog HDL, 內(nèi)容包括:Verilog應(yīng)用Verilog語言的構(gòu)成元素結(jié)構(gòu)級描述及仿真行為級描述及仿真延時的特點及說明介紹Verilog testbench激勵和控制和描述結(jié)果的產(chǎn)生及驗證任務(wù)task及函數(shù)function用戶定義的基本單元(primitive)可綜合的Verilog描述風(fēng)格第一講Verilog HDL數(shù)字系統(tǒng)設(shè)計綜述 Verilog概述 結(jié)構(gòu)化設(shè)計方法 Verilog建模硬件描述語言硬件描述語言HDL:描述電路硬件及時序的一種編程語言仿真器仿真器:讀入HDL并進行解釋及
2、執(zhí)行的一種軟件抽象級抽象級:描述風(fēng)格的詳細程度,如行為級和門級ASIC:專用集成電路(Application Specific Integrated Circuit)ASIC Vender:芯片制造商,開發(fā)并提供單元庫自下而上的設(shè)計流程自下而上的設(shè)計流程:一種先構(gòu)建底層單元,然后由底層單元構(gòu)造更大的系統(tǒng)的設(shè)計方法 。自頂向下的設(shè)計流程自頂向下的設(shè)計流程:一種設(shè)計方法,先用高抽象級構(gòu)造系統(tǒng),然后再設(shè)計下層單元RTL級級:寄存器傳輸級(Register Transfer Level),用于設(shè)計的可綜合的一種抽象級Tcl:Tool command Language, 向交互程序輸入命令的描述語言術(shù)語
3、定義(terms and definitions)Verilog HDL是在是在1983年由年由GDA(GateWay Design Automation)公司公司的的Phil Moorby所創(chuàng)。所創(chuàng)。Phi Moorby后來成為后來成為Verilog-XL的主要設(shè)計者和的主要設(shè)計者和Cadence公司的第一個合伙人。公司的第一個合伙人。在在19841985年間,年間,Moorby設(shè)計出了第一個設(shè)計出了第一個Verilog-XL的仿真器。的仿真器。1986年,年,Moorby提出了用于快速門級仿真的提出了用于快速門級仿真的XL算法。算法。1990年,年,Cadence公司收購了公司收購了GDA
4、公司公司1991年,年,Cadence公司公開發(fā)表公司公開發(fā)表Verilog語言,成立了語言,成立了OVI(Open Verilog International)組織來負責(zé)組織來負責(zé)Verilog HDL語言的發(fā)展。語言的發(fā)展。1995年制定了年制定了Verilog HDL的的IEEE標(biāo)準(zhǔn),即標(biāo)準(zhǔn),即IEEE1364。2005年制定了年制定了verilog HDL的的IEEE新標(biāo)準(zhǔn),又稱新標(biāo)準(zhǔn),又稱Systemverilog V3.1標(biāo)準(zhǔn)標(biāo)準(zhǔn).1.Verilog的歷史的歷史1.1 Verilog 概述2. Verilog與VHDL 兩者的區(qū)別:VHDL側(cè)重于系統(tǒng)級描述,從而更多的為系統(tǒng)級設(shè)計人
5、員所采用Verilog側(cè)重于電路級描述,從而更多的為電路級設(shè)計人員所采用 目前,設(shè)計者使用Verilog和VHDL的情況美國:Verilog: 80%, VHDL: 20%臺灣:Verilog: 50%, VHDL: 50% 中國的微電子設(shè)計公司,90%以上采用Verilog,對于從事FPGA開發(fā)設(shè)計者,掌握Verilog或VHDL都可以,對于ASIC設(shè)計者,必須掌握Verilog,掌握VHDL。3.Verilog HDL與 C語言 雖然Verilog的某些語法與C語言接近,但存在本質(zhì)上的區(qū)別Verilog是一種硬件語言,最終是為了產(chǎn)生實際的硬件電路或?qū)τ布娐愤M行仿真C語言是一種軟件語言,是
6、控制硬件來實現(xiàn)某些功能利用利用Verilog編程時,要時刻記得編程時,要時刻記得Verilog是硬件語言,是硬件語言,要時刻將要時刻將Verilog與硬件電路對應(yīng)起來與硬件電路對應(yīng)起來 SystemVerilog and SystemC :面向SOC4.Verilog的用途的用途 Verilog的主要應(yīng)用包括:的主要應(yīng)用包括:ASICASIC和和FPGAFPGA工程師編寫可綜合的工程師編寫可綜合的RTLRTL代碼代碼高抽象級系統(tǒng)仿真進行系統(tǒng)結(jié)構(gòu)開發(fā)高抽象級系統(tǒng)仿真進行系統(tǒng)結(jié)構(gòu)開發(fā)測試工程師用于編寫各種層次的測試程序測試工程師用于編寫各種層次的測試程序用于用于ASICASIC和和FPGAFPGA
7、單元或更高層次的模塊的模型開發(fā)單元或更高層次的模塊的模型開發(fā)抽象層次抽象層次時序單位時序單位基本單元基本單元電路的功能描述電路的功能描述系統(tǒng)級系統(tǒng)級數(shù)據(jù)處理數(shù)據(jù)處理進程及通信進程及通信自然語言描述或者相互通信的進自然語言描述或者相互通信的進程程算法級算法級運算步運算步運算的控制運算的控制行為有限狀態(tài)機、數(shù)據(jù)流圖、控行為有限狀態(tài)機、數(shù)據(jù)流圖、控制流圖制流圖寄存器變寄存器變換級換級(RTL)時鐘周期時鐘周期寄存器、運算、寄存器、運算、變換變換布爾方程、二元決策圖、有限狀布爾方程、二元決策圖、有限狀態(tài)機態(tài)機邏輯門級邏輯門級延時延時邏輯門、器件邏輯門、器件(晶體管)(晶體管)原理圖原理圖電路級電路級物
8、理時間物理時間晶體管、晶體管、R,L,C等等電壓、電流的微分方程電壓、電流的微分方程物理(版物理(版圖)級圖)級幾何圖形幾何圖形前端后端1.2 結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法 VerilogVerilog既是一種行為描述的語言也是一種結(jié)構(gòu)描述語言。既是一種行為描述的語言也是一種結(jié)構(gòu)描述語言。VerilogVerilog模型可以是實際電路的不同層次的抽象,一般分模型可以是實際電路的不同層次的抽象,一般分為四個抽象級:為四個抽象級:系統(tǒng)說明系統(tǒng)說明/行為級行為級-設(shè)計文檔設(shè)計文檔/算術(shù)描述算術(shù)描述RTL/功能級功能級-Verilog門級門級/結(jié)構(gòu)級結(jié)構(gòu)級-Verilog版圖版圖/物理級物理級-幾何圖
9、形幾何圖形行為綜合行為綜合綜合前仿真綜合前仿真邏輯綜合邏輯綜合綜合后仿真綜合后仿真版圖版圖 Verilog設(shè)計在抽象級上需要進行折衷設(shè)計在抽象級上需要進行折衷系統(tǒng)說明系統(tǒng)說明/行為級行為級-設(shè)計文檔設(shè)計文檔/算術(shù)描述算術(shù)描述RTL/功能級功能級-Verilog門級門級/結(jié)構(gòu)級結(jié)構(gòu)級-Verilog版圖版圖/物理級物理級-幾何圖形幾何圖形詳細程度詳細程度 低低 高高輸入輸入/仿真速度仿真速度 高高 低低一個設(shè)計可以用任何層次來表示,當(dāng)設(shè)計從上而下進行時,該設(shè)計就逐步接近物一個設(shè)計可以用任何層次來表示,當(dāng)設(shè)計從上而下進行時,該設(shè)計就逐步接近物理實現(xiàn),在表示上就更少了一些抽象。但一個設(shè)計所需的細節(jié)會
10、隨著它在層次中理實現(xiàn),在表示上就更少了一些抽象。但一個設(shè)計所需的細節(jié)會隨著它在層次中的下降而增加。細節(jié)不充分會造成不精確的結(jié)果,過多的細節(jié)則會使該層次的設(shè)的下降而增加。細節(jié)不充分會造成不精確的結(jié)果,過多的細節(jié)則會使該層次的設(shè)計復(fù)雜。計復(fù)雜。nVerilog 可以在3個抽象級上建模n+n+SGD+版圖級版圖級電路級電路級邏輯門級邏輯門級RTL級級系統(tǒng)級和算法級系統(tǒng)級和算法級行為描述行為描述(Behavior)數(shù)據(jù)流描述(Data Flow)結(jié)構(gòu)描述結(jié)構(gòu)描述(Structure)混合描述混合描述|+行為級行為級l 用功能塊之間的數(shù)據(jù)用功能塊之間的數(shù)據(jù)流對系統(tǒng)進行描述流對系統(tǒng)進行描述l 在需要時在函
11、數(shù)塊之在需要時在函數(shù)塊之間進行調(diào)度賦值。間進行調(diào)度賦值。RTL級級/功能級功能級l用功能塊內(nèi)部或功能用功能塊內(nèi)部或功能塊之間的數(shù)據(jù)流和控制塊之間的數(shù)據(jù)流和控制信號描述系統(tǒng)信號描述系統(tǒng)l基于一個已定義的時基于一個已定義的時鐘的周期來定義系統(tǒng)模鐘的周期來定義系統(tǒng)模型型結(jié)構(gòu)級結(jié)構(gòu)級/門級門級l用基本單元用基本單元(primitive)或低層或低層元件元件(component)的連接來描的連接來描述系統(tǒng)以得到更高的精確性,述系統(tǒng)以得到更高的精確性,特別是時序方面。特別是時序方面。l在綜合時用特定工藝和低層在綜合時用特定工藝和低層元件將元件將RTL描述映射到門級網(wǎng)描述映射到門級網(wǎng)表表n抽象級抽象級(Le
12、vels of Abstraction)描述選取描述選取 設(shè)計工程師在不同的設(shè)計階段采用不同的抽象級設(shè)計工程師在不同的設(shè)計階段采用不同的抽象級首先在行為級描述各功能塊,以降低描述難度,提高仿真速度。首先在行為級描述各功能塊,以降低描述難度,提高仿真速度。在綜合前將各功能模塊進行在綜合前將各功能模塊進行RTL級描述。級描述。用于綜合的庫中的大多數(shù)單元采用結(jié)構(gòu)級描述。在本教程中的結(jié)用于綜合的庫中的大多數(shù)單元采用結(jié)構(gòu)級描述。在本教程中的結(jié)構(gòu)級描述部分將對結(jié)構(gòu)級構(gòu)級描述部分將對結(jié)構(gòu)級(門級門級)描述進行更詳細的說明。描述進行更詳細的說明。 Verilog還有一定的晶體管級描述能力及算法級描述能力還有一
13、定的晶體管級描述能力及算法級描述能力 一個系統(tǒng)由總設(shè)計師先進行系統(tǒng)描述,將系統(tǒng)劃分一個系統(tǒng)由總設(shè)計師先進行系統(tǒng)描述,將系統(tǒng)劃分為若干模塊,編寫模塊模型為若干模塊,編寫模塊模型( (一般為行為級一般為行為級) ),仿真驗證后,仿真驗證后,再把這些模塊分配給下一層的設(shè)計師,由他們完成模塊的再把這些模塊分配給下一層的設(shè)計師,由他們完成模塊的具體設(shè)計,而總設(shè)計師負責(zé)各模塊的接口定義具體設(shè)計,而總設(shè)計師負責(zé)各模塊的接口定義頂層模塊頂層模塊子模塊子模塊1子模塊子模塊2子模塊子模塊3基本單元基本單元基本單元基本單元基本單元基本單元基本單元基本單元基本單元基本單元基本單元基本單元(1).相對獨立、功能單一的模
14、塊結(jié)構(gòu)相對獨立、功能單一的模塊結(jié)構(gòu)結(jié)構(gòu)化設(shè)計的基本思想是將系統(tǒng)設(shè)計成由多個相對獨立、功能單一的模塊組成的結(jié)構(gòu)。由于模塊之間相對獨立,每一模塊就可以單獨地被理解、編寫、測試、排錯和修改,從而可以有效防止錯誤在模塊之間的擴散,提高系統(tǒng)的質(zhì)量。 (2).“塊內(nèi)聯(lián)系大,塊間聯(lián)系小塊內(nèi)聯(lián)系大,塊間聯(lián)系小”的模塊性能標(biāo)準(zhǔn)的模塊性能標(biāo)準(zhǔn)模塊內(nèi)部聯(lián)系要大,模塊之間聯(lián)系要小,這是結(jié)構(gòu)化設(shè)計中衡量模塊相對獨立性能的標(biāo)準(zhǔn)。事實上,塊內(nèi)聯(lián)系和塊間聯(lián)系是同一個事物的兩個方面。若把聯(lián)系密切的成分組織在同一模塊中,塊內(nèi)系統(tǒng)高了,塊間聯(lián)系自然就少了。 (3).采用模塊結(jié)構(gòu)圖的描述方式采用模塊結(jié)構(gòu)圖的描述方式結(jié)構(gòu)化設(shè)計方法使用
15、的描述方式是模塊結(jié)構(gòu)圖,即以圖形的方式來表達。(1)分割后最底層的邏輯塊應(yīng)適合用邏輯語言進行表達。如果利用邏輯圖作最底層模塊輸入方法,需要分解到門,觸發(fā)器和宏模塊一級;用HDL行為描述語言則可以分解到算法一級。 (2)考慮共享模塊。在設(shè)計中,往往會出現(xiàn)一些功能相似的邏輯模塊,相似的功能應(yīng)該設(shè)計成共享的基本模塊,象子程序一樣由高層邏輯塊調(diào)用。這樣可以減少需要設(shè)計的模塊數(shù)目、改善設(shè)計的結(jié)構(gòu)化特性。 (3)接口信號線最少。復(fù)雜的接口信號容易引起設(shè)計錯誤,并且給布線帶來困難。以交互信號的最少的地方為邊界劃分模塊,用最少的信號線進行信號和數(shù)據(jù)的交換為最佳的方法。 (4)結(jié)構(gòu)均稱。同層次的模塊之間,在資源
16、和IO分配上,不出現(xiàn)懸殊的差異,沒有明顯的結(jié)構(gòu)和性能上的瓶頸。 (5)通用性好,易于移植。模塊的劃分和設(shè)計應(yīng)滿足通用性要求,模塊設(shè)計應(yīng)考慮移植的問題。一個好的設(shè)計模型塊應(yīng)該可以在其它設(shè)計中使用,并且容易升級和移植;另外,在設(shè)計中應(yīng)盡可能避免使用與器件有關(guān)的特性,即設(shè)計具有可移植性。 1.3 Verilog 建模 現(xiàn)在我們將層次建模的概念和verilog聯(lián)系起來。verilog使用模塊(module)的概念來代表一個基本的功能塊。模塊通過接口(輸入和輸出輸入和輸出)被高層的模塊調(diào)用,但隱藏了內(nèi)部的實現(xiàn)細節(jié)。這樣就使得設(shè)計者可以方便地對某個模塊進行修改,而不影響設(shè)計的其他部分。線。線是器件管腳之間
17、的物理連線; Verilog中用變量wire器件。等同于模塊的概念。Verilog中用moduleVerilog HDL的建模實際上就是如何使用的建模實際上就是如何使用HDL語言對數(shù)字電語言對數(shù)字電路的兩種基本要素的特性及相互之間的關(guān)系進行描述的過程。路的兩種基本要素的特性及相互之間的關(guān)系進行描述的過程。在數(shù)字電路設(shè)計中,數(shù)字電路可簡單歸納為兩種要素:線和器件。在數(shù)字電路設(shè)計中,數(shù)字電路可簡單歸納為兩種要素:線和器件。verilog中,模塊聲明由關(guān)鍵字module開始,關(guān)鍵字endmoduIe則必須出現(xiàn)在模塊定義的結(jié)尾。每個模塊必須具有一個模塊名模塊名,由它惟一地標(biāo)識這個模塊。模塊的端口列表則
18、描述這個模塊的輸入和輸出端口。Module (模塊端口列表)模塊端口列表).模塊內(nèi)容模塊內(nèi)容.endmoduIe 簡單的例子(數(shù)據(jù)流方式)module HalfAdder(A, B, Sum, Carry); input A, B; output Sum, Carry; assign #2 Sum=AB; assign #5 Carry=A&B; endmoduleModule定義了一個模塊或一個器件,對模塊的描述是任意的,可以是行為描述行為描述、數(shù)據(jù)流描述數(shù)據(jù)流描述或結(jié)結(jié)構(gòu)描述構(gòu)描述頂層模塊頂層模塊子模塊子模塊1子模塊子模塊2子模塊子模塊3基本單元基本單元基本單元基本單元基本單元基本
19、單元基本單元基本單元基本單元基本單元基本單元基本單元module top(A, B, ,C,D,);Second_1();Second_2();Second_3(); endmodulemodule second_1();Third_1();Third_2();endmodulemodule second_2();Third_3();Third_4();endmodulemodule second_3();Third_5();Third_6();endmodulemodule Third_1();.endmodulemodule Third_2();.endmodulemodule Third
20、_3();.endmodulemodule Third_4();.endmodulemodule Third_5();.endmodulemodule Third_6();.endmodule例設(shè)計一個4位二進制脈動進位計數(shù)器T觸發(fā)器tff0qT觸發(fā)器tff1qT觸發(fā)器tff2qT觸發(fā)器tff2qq0q1q2q3clock resetD觸發(fā)器D_FFqclockdresetqT觸發(fā)器4位二進制脈動進位計數(shù)器由4個T觸發(fā)器構(gòu)成,而很一個T觸發(fā)器可由一個D觸發(fā)器和一個非門構(gòu)成脈動進位計數(shù)器T觸發(fā)器tff0T觸發(fā)器tff1T觸發(fā)器tff2T觸發(fā)器tff3D_FF非門D_FF非門D_FF非門D_FF非門module ripple_carr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年親子協(xié)議模板
- 2025年增資協(xié)議合同條款
- 2025年度個人承包工程勞務(wù)合同模板4篇
- 2025年合作環(huán)境科學(xué)書籍出版協(xié)議
- 攪拌站項目合作開發(fā)合同(二零二五年)3篇
- 2025年度環(huán)保認(rèn)證木地板采購與施工合同4篇
- 2025年度鄉(xiāng)村旅游資源承包經(jīng)營權(quán)轉(zhuǎn)讓合同4篇
- 2025年度股權(quán)質(zhì)押擔(dān)保與文化產(chǎn)業(yè)融合發(fā)展合同
- 二零二五年度足療養(yǎng)生館加盟投資協(xié)議
- 2025年度美容院美容師服務(wù)提成勞務(wù)合同模板
- 2024-2030年中國海泡石產(chǎn)業(yè)運行形勢及投資規(guī)模研究報告
- 動物醫(yī)學(xué)類專業(yè)生涯發(fā)展展示
- 2024年同等學(xué)力申碩英語考試真題
- 消除“艾梅乙”醫(yī)療歧視-從我做起
- 非遺文化走進數(shù)字展廳+大數(shù)據(jù)與互聯(lián)網(wǎng)系創(chuàng)業(yè)計劃書
- 2024山西省文化旅游投資控股集團有限公司招聘筆試參考題庫附帶答案詳解
- 科普知識進社區(qū)活動總結(jié)與反思
- 加油站廉潔培訓(xùn)課件
- 現(xiàn)金日記賬模板(帶公式)
- 消化內(nèi)科專科監(jiān)測指標(biāo)匯總分析
- 混凝土結(jié)構(gòu)工程施工質(zhì)量驗收規(guī)范
評論
0/150
提交評論