版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)字系統(tǒng)設(shè)計基礎(chǔ)主講:謝躍雷(講師)Verilog部分介紹VerilogHDL,內(nèi)容包括:Verilog應(yīng)用Verilog語言的構(gòu)成元素結(jié)構(gòu)級描述及仿真行為級描述及仿真延時的特點及說明介紹Verilogtestbench激勵和控制和描述結(jié)果的產(chǎn)生及驗證任務(wù)task及函數(shù)function用戶定義的基本單元(primitive)可綜合的Verilog描述風(fēng)格第一講VerilogHDL數(shù)字系統(tǒng)設(shè)計綜述Verilog概述結(jié)構(gòu)化設(shè)計方法Verilog建模硬件描述語言HDL:描述電路硬件及時序的一種編程語言仿真器:讀入HDL并進行解釋及執(zhí)行的一種軟件抽象級:描述風(fēng)格的詳細程度,如行為級和門級ASIC:專用集成電路(ApplicationSpecificIntegratedCircuit)ASICVender:芯片制造商,開發(fā)并提供單元庫自下而上的設(shè)計流程:一種先構(gòu)建底層單元,然后由底層單元構(gòu)造更大的系統(tǒng)的設(shè)計方法。自頂向下的設(shè)計流程:一種設(shè)計方法,先用高抽象級構(gòu)造系統(tǒng),然后再設(shè)計下層單元RTL級:寄存器傳輸級(RegisterTransferLevel),用于設(shè)計的可綜合的一種抽象級Tcl:ToolcommandLanguage,向交互程序輸入命令的描述語言術(shù)語定義(termsanddefinitions)VerilogHDL是在1983年由GDA(GateWayDesignAutomation)公司的PhilMoorby所創(chuàng)。PhiMoorby后來成為Verilog-XL的主要設(shè)計者和Cadence公司的第一個合伙人。在1984~1985年間,Moorby設(shè)計出了第一個Verilog-XL的仿真器。1986年,Moorby提出了用于快速門級仿真的XL算法。1990年,Cadence公司收購了GDA公司1991年,Cadence公司公開發(fā)表Verilog語言,成立了OVI(OpenVerilogInternational)組織來負(fù)責(zé)VerilogHDL語言的發(fā)展。1995年制定了VerilogHDL的IEEE標(biāo)準(zhǔn),即IEEE1364。2005年制定了verilogHDL的IEEE新標(biāo)準(zhǔn),又稱SystemverilogV3.1標(biāo)準(zhǔn).1.Verilog的歷史1.1Verilog概述2.Verilog與VHDL兩者的區(qū)別:VHDL側(cè)重于系統(tǒng)級描述,從而更多的為系統(tǒng)級設(shè)計人員所采用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.VerilogHDL與C語言雖然Verilog的某些語法與C語言接近,但存在本質(zhì)上的區(qū)別Verilog是一種硬件語言,最終是為了產(chǎn)生實際的硬件電路或?qū)τ布娐愤M行仿真C語言是一種軟件語言,是控制硬件來實現(xiàn)某些功能利用Verilog編程時,要時刻記得Verilog是硬件語言,要時刻將Verilog與硬件電路對應(yīng)起來SystemVerilogandSystemC:面向SOC4.Verilog的用途Verilog的主要應(yīng)用包括:ASIC和FPGA工程師編寫可綜合的RTL代碼高抽象級系統(tǒng)仿真進行系統(tǒng)結(jié)構(gòu)開發(fā)測試工程師用于編寫各種層次的測試程序用于ASIC和FPGA單元或更高層次的模塊的模型開發(fā)1.數(shù)字IC設(shè)計層次與verilog描述抽象層次時序單位基本單元電路的功能描述系統(tǒng)級數(shù)據(jù)處理進程及通信自然語言描述或者相互通信的進程算法級運算步運算的控制行為有限狀態(tài)機、數(shù)據(jù)流圖、控制流圖寄存器變換級(RTL)時鐘周期寄存器、運算、變換布爾方程、二元決策圖、有限狀態(tài)機邏輯門級延時邏輯門、器件(晶體管)原理圖電路級物理時間晶體管、R,L,C等電壓、電流的微分方程物理(版圖)級幾何圖形前端后端1.2結(jié)構(gòu)化設(shè)計方法Verilog既是一種行為描述的語言也是一種結(jié)構(gòu)描述語言。Verilog模型可以是實際電路的不同層次的抽象,一般分為四個抽象級:系統(tǒng)說明/行為級-設(shè)計文檔/算術(shù)描述RTL/功能級-Verilog門級/結(jié)構(gòu)級-Verilog版圖/物理級-幾何圖形行為綜合綜合前仿真邏輯綜合綜合后仿真版圖Verilog設(shè)計在抽象級上需要進行折衷系統(tǒng)說明/行為級-設(shè)計文檔/算術(shù)描述RTL/功能級-Verilog門級/結(jié)構(gòu)級-Verilog版圖/物理級-幾何圖形詳細程度低高輸入/仿真速度高低一個設(shè)計可以用任何層次來表示,當(dāng)設(shè)計從上而下進行時,該設(shè)計就逐步接近物理實現(xiàn),在表示上就更少了一些抽象。但一個設(shè)計所需的細節(jié)會隨著它在層次中的下降而增加。細節(jié)不充分會造成不精確的結(jié)果,過多的細節(jié)則會使該層次的設(shè)計復(fù)雜。Verilog可以在3個抽象級上建模n+n+SGD+版圖級電路級邏輯門級RTL級系統(tǒng)級和算法級行為描述(Behavior)數(shù)據(jù)流描述(DataFlow)結(jié)構(gòu)描述(Structure)混合描述||++行為級用功能塊之間的數(shù)據(jù)流對系統(tǒng)進行描述在需要時在函數(shù)塊之間進行調(diào)度賦值。RTL級/功能級用功能塊內(nèi)部或功能塊之間的數(shù)據(jù)流和控制信號描述系統(tǒng)基于一個已定義的時鐘的周期來定義系統(tǒng)模型結(jié)構(gòu)級/門級用基本單元(primitive)或低層元件(component)的連接來描述系統(tǒng)以得到更高的精確性,特別是時序方面。在綜合時用特定工藝和低層元件將RTL描述映射到門級網(wǎng)表抽象級(LevelsofAbstraction)描述選取設(shè)計工程師在不同的設(shè)計階段采用不同的抽象級首先在行為級描述各功能塊,以降低描述難度,提高仿真速度。在綜合前將各功能模塊進行RTL級描述。用于綜合的庫中的大多數(shù)單元采用結(jié)構(gòu)級描述。在本教程中的結(jié)構(gòu)級描述部分將對結(jié)構(gòu)級(門級)描述進行更詳細的說明。Verilog還有一定的晶體管級描述能力及算法級描述能力2.自頂向下(Top-Down)的結(jié)構(gòu)化設(shè)計方法
一個系統(tǒng)由總設(shè)計師先進行系統(tǒng)描述,將系統(tǒng)劃分為若干模塊,編寫模塊模型(一般為行為級),仿真驗證后,再把這些模塊分配給下一層的設(shè)計師,由他們完成模塊的具體設(shè)計,而總設(shè)計師負(fù)責(zé)各模塊的接口定義頂層模塊子模塊1子模塊2子模塊3基本單元基本單元基本單元基本單元基本單元基本單元(1).相對獨立、功能單一的模塊結(jié)構(gòu)結(jié)構(gòu)化設(shè)計的基本思想是將系統(tǒng)設(shè)計成由多個相對獨立、功能單一的模塊組成的結(jié)構(gòu)。由于模塊之間相對獨立,每一模塊就可以單獨地被理解、編寫、測試、排錯和修改,從而可以有效防止錯誤在模塊之間的擴散,提高系統(tǒng)的質(zhì)量。
(2).“塊內(nèi)聯(lián)系大,塊間聯(liá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)化設(shè)計方法使用的描述方式是模塊結(jié)構(gòu)圖,即以圖形的方式來表達。結(jié)構(gòu)化設(shè)計方法特點:(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)均稱。同層次的模塊之間,在資源和I/O分配上,不出現(xiàn)懸殊的差異,沒有明顯的結(jié)構(gòu)和性能上的瓶頸。(5)通用性好,易于移植。模塊的劃分和設(shè)計應(yīng)滿足通用性要求,模塊設(shè)計應(yīng)考慮移植的問題。一個好的設(shè)計模型塊應(yīng)該可以在其它設(shè)計中使用,并且容易升級和移植;另外,在設(shè)計中應(yīng)盡可能避免使用與器件有關(guān)的特性,即設(shè)計具有可移植性。
1.3Verilog建?,F(xiàn)在我們將層次建模的概念和verilog聯(lián)系起來。verilog使用模塊(module)的概念來代表一個基本的功能塊。模塊通過接口(輸入和輸出)被高層的模塊調(diào)用,但隱藏了內(nèi)部的實現(xiàn)細節(jié)。這樣就使得設(shè)計者可以方便地對某個模塊進行修改,而不影響設(shè)計的其他部分。線。線是器件管腳之間的物理連線;Verilog中用變量wire器件。等同于模塊的概念。Verilog中用moduleVerilogHDL的建模實際上就是如何使用HDL語言對數(shù)字電路的兩種基本要素的特性及相互之間的關(guān)系進行描述的過程。在數(shù)字電路設(shè)計中,數(shù)字電路可簡單歸納為兩種要素:線和器件。verilog中,模塊聲明由關(guān)鍵字module開始,關(guān)鍵字endmoduIe則必須出現(xiàn)在模塊定義的結(jié)尾。每個模塊必須具有一個模塊名,由它惟一地標(biāo)識這個模塊。模塊的端口列表則描述這個模塊的輸入和輸出端口。Module<模塊名>(模塊端口列表)…………..<模塊內(nèi)容>…………….endmoduIe簡單的例子(數(shù)據(jù)流方式)
module
HalfAdder(A,B,Sum,Carry);inputA,B;outputSum,Carry;
assign#2Sum=A^B;assign#5Carry=A&B;
endmoduleModule定義了一個模塊或一個器件,對模塊的描述是任意的,可以是行為描述、數(shù)據(jù)流描述或結(jié)構(gòu)描述頂層模南塊子模塊1子模塊2子模塊3基本單滋元基本單元基本單元基本單元基本單熄元基本單渾元modu確let足op(A冒,B,及,C,禮D,…)百;Sec碰ond歪_1(軌……)鉛;Sec惕ond萌_2(趨……)三;Seco難nd_3邀(……)牢;end是mod澇ulemodu蜂les獸econ根d_1(扶…);Thir特d_1(饅……);Thir要d_2(夏……);end侍mod特ulemod糕ule污se帳con輔d_2研(…)赤;Thi允rd_這3(…括…);Thir楚d_4(森……);end菜mod面ulemodu雪les奇econ優(yōu)d_3(卷…);Thi刃rd_業(yè)5(…賭…);Thir盞d_6(疏……);end徐mod華ulemodu握leT兇hird炊_1(…局);…………數(shù)..end位mod屯ulemod討ule琴Th蕉ird賊_2(腿…);………冰…..endm姓odul遺emod持ule抖Th巧ird百_3(毀…);………莫…..endm只odul克emod儉ule皮Th臭ird與_4(肢…);………棋…..end葬mod坐ulemod兔ule蛛Th懂ird自_5(靈…);………磁…..end殼mod謠ulemod替ule圖Th鏈ird少_6(烏…);………許…..endm僚odul芽e例設(shè)計一提個4位二噸進制脈動像進位計數(shù)甚器T’觸發(fā)器tff0qT’觸發(fā)器tff1qT’觸發(fā)器tff2qT’觸發(fā)器tff2qq0q1q2q3clockresetD觸發(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非門modu里lerip各ple復(fù)_ca位rry秩_co議unt壟er竄(q,則cl齡k,乳res辭et)蒸;outp塊ut[3:0雞]q;inp浮utclk,則res槍et;T_F描Ftff0模(q[0坡],cl淘k,re畏set)冤;T_F陵Ftff蘭1(q委[1]投,q[逢0],織res尼et)找;T_F賀Ftff罰2(q商[2]厲,q[里1],演res瘡et)腫;T_FFtff篩3(q歇[3]京,q[圍2],挺res符et)涌;end孩mod伙uleT’觸發(fā)器tff0qT’觸發(fā)器tff1qT’觸發(fā)器tff2qT’觸發(fā)器tff2qq0q1q2q3clockresetD觸發(fā)器D_FFqclockdresetqT’觸發(fā)器mod舅uleT_F
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人旅游資金過橋借款協(xié)議2篇
- 2025年物流企業(yè)產(chǎn)品研發(fā)與技術(shù)支持合同3篇
- 二零二五版門衛(wèi)人員勞動合同及職業(yè)素養(yǎng)提升協(xié)議4篇
- 2025年物業(yè)管理公司風(fēng)險管理與保險采購合同3篇
- 2025年度個人信用卡透支額度調(diào)整協(xié)議3篇
- 2025年金融產(chǎn)品銷售擔(dān)保合同書規(guī)范文本2篇
- 建設(shè)公司合同范本(2篇)
- 2025年度園林苗木繁育與推廣合作協(xié)議4篇
- 2024年重慶高職分類考試《電工基礎(chǔ)》備考試題庫大全-下(判斷、填空題)
- 二零二五版酒店客房家具更換分期支付合同3篇
- 電纜擠塑操作手冊
- 浙江寧波鄞州區(qū)市級名校2025屆中考生物全真模擬試卷含解析
- IATF16949基礎(chǔ)知識培訓(xùn)教材
- 【MOOC】大學(xué)生創(chuàng)新創(chuàng)業(yè)知能訓(xùn)練與指導(dǎo)-西北農(nóng)林科技大學(xué) 中國大學(xué)慕課MOOC答案
- 勞務(wù)派遣公司員工考核方案
- 基礎(chǔ)生態(tài)學(xué)-7種內(nèi)種間關(guān)系
- 2024年光伏農(nóng)田出租合同范本
- 《阻燃材料與技術(shù)》課件 第3講 阻燃基本理論
- HIV感染者合并慢性腎病的治療指南
- 診所抗菌藥物管理制度
- 招標(biāo)監(jiān)督報告
評論
0/150
提交評論