數(shù)字集成電路設(shè)計(jì)工具與使用_第1頁(yè)
數(shù)字集成電路設(shè)計(jì)工具與使用_第2頁(yè)
數(shù)字集成電路設(shè)計(jì)工具與使用_第3頁(yè)
數(shù)字集成電路設(shè)計(jì)工具與使用_第4頁(yè)
數(shù)字集成電路設(shè)計(jì)工具與使用_第5頁(yè)
已閱讀5頁(yè),還剩129頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

數(shù)字集成電路設(shè)計(jì)工具與使用第一頁(yè),共134頁(yè)。前端設(shè)計(jì)

數(shù)字IC設(shè)計(jì)流程第二頁(yè),共134頁(yè)。后端設(shè)計(jì)第三頁(yè),共134頁(yè)。設(shè)計(jì)輸入:以電路圖或HDL語(yǔ)言的形式形成電路文件;輸入的文件經(jīng)過(guò)編譯后,可以形成對(duì)電路邏輯模型的標(biāo)準(zhǔn)描述;邏輯仿真(功能仿真):對(duì)如上形成的邏輯描述加入輸入測(cè)試信號(hào),檢查輸出信號(hào)是否滿(mǎn)足設(shè)計(jì)要求;在此沒(méi)有考慮任何時(shí)間關(guān)系,只是檢測(cè)邏輯是否有錯(cuò);數(shù)字集成電路的設(shè)計(jì)流程第四頁(yè),共134頁(yè)。系統(tǒng)分割(設(shè)計(jì)綜合):采用特定的設(shè)計(jì)方法分解實(shí)現(xiàn)電路模型,得到電路實(shí)際采用的邏輯單元及其相互連接形式;在GA設(shè)計(jì)時(shí),電路會(huì)分割為2-3輸入的邏輯單元,在FPGA設(shè)計(jì)中,分割為4輸入邏輯單元,而采用CPLD設(shè)計(jì)時(shí),則分割為更大的邏輯單元。數(shù)字集成電路的設(shè)計(jì)流程第五頁(yè),共134頁(yè)。前仿真:采用綜合出的電路結(jié)構(gòu),對(duì)每個(gè)邏輯單元添加上對(duì)應(yīng)的時(shí)間延遲信息;在此基礎(chǔ)上進(jìn)行仿真,檢測(cè)電路是否存在邏輯或時(shí)序錯(cuò)誤;電路的布局,定位與布線:對(duì)于通過(guò)前仿真的電路系統(tǒng),從全局到局部,進(jìn)行每個(gè)單元的定位以及相關(guān)的連線安排;數(shù)字集成電路的設(shè)計(jì)流程第六頁(yè),共134頁(yè)。電路參數(shù)提取:根據(jù)連線的具體長(zhǎng)度和負(fù)載程度,提取每一根連線的電阻/電容參數(shù),得到相應(yīng)的時(shí)間延遲信息;后仿真:將提取的連線參數(shù)代入到電路中,在此基礎(chǔ)上進(jìn)行仿真,檢測(cè)電路是否存在邏輯或時(shí)序錯(cuò)誤;數(shù)字集成電路的設(shè)計(jì)流程第七頁(yè),共134頁(yè)。在邏輯設(shè)計(jì)階段,針對(duì)設(shè)計(jì)的輸入編輯、仿真和綜合過(guò)程,需要使用必要的軟件工具進(jìn)行支持;這種設(shè)計(jì)工具主要可以分為兩類(lèi):一類(lèi)是由PLD的制造商推出的針對(duì)特定器件的設(shè)計(jì)工具;另一類(lèi)是由專(zhuān)業(yè)軟件公司推出的針對(duì)特定用途的設(shè)計(jì)工具。數(shù)字集成電路的設(shè)計(jì)工具第八頁(yè),共134頁(yè)。由PLD的制造商推出,例如Altera公司的MaxplusII,QuartusII,Xilinx公司的ISE等。這類(lèi)工具的優(yōu)點(diǎn)是從設(shè)計(jì)輸入直到器件下載,設(shè)計(jì)的全過(guò)程都能在一個(gè)工具中實(shí)現(xiàn),使用非常簡(jiǎn)單方便;缺點(diǎn)是該類(lèi)工具以器件綜合為目標(biāo),對(duì)于不能實(shí)現(xiàn)直接綜合的電路的行為設(shè)計(jì)不能支持。針對(duì)特定器件的設(shè)計(jì)工具第九頁(yè),共134頁(yè)。由專(zhuān)業(yè)的工具設(shè)計(jì)者推出,例如Synplicity公司的綜合工具Synplify,

ModelTechnology公司的仿真工具M(jìn)odelSim等。這類(lèi)工具通常專(zhuān)業(yè)性比較強(qiáng),包容性好,可以最大限度地兼容HDL語(yǔ)言的各種描述,適應(yīng)從抽象到具體的各種設(shè)計(jì)方式。缺點(diǎn)是其專(zhuān)用性比較強(qiáng),使用的簡(jiǎn)便性不及第一類(lèi)。針對(duì)特定用途的設(shè)計(jì)工具第十頁(yè),共134頁(yè)。仿真工具M(jìn)odelSim綜合工具Synplify

設(shè)計(jì)工具M(jìn)axplusII,Quartus關(guān)于設(shè)計(jì)工具的簡(jiǎn)單介紹第十一頁(yè),共134頁(yè)。電路仿真的要點(diǎn)使用輸入向量對(duì)電路模型進(jìn)行測(cè)試;仿真失敗表明該模型存在錯(cuò)誤(不能工作);仿真成功不能證明該模型正確!仿真可以從高級(jí)別到低級(jí)別分為很多層次,高級(jí)別比較抽象,低級(jí)別比較詳細(xì)。第十二頁(yè),共134頁(yè)。行為仿真(功能仿真)對(duì)于行為模型進(jìn)行仿真:根據(jù)輸入的變化或指定的時(shí)間,開(kāi)始一個(gè)仿真循環(huán),執(zhí)行所有進(jìn)程;每個(gè)進(jìn)程啟動(dòng)執(zhí)行到其中止為止;模型中的有效信號(hào)更新時(shí),會(huì)產(chǎn)生一個(gè)事件;如果在本仿真循環(huán)中有信號(hào)產(chǎn)生了事件,則仿真將重新執(zhí)行一遍;仿真循環(huán)的執(zhí)行時(shí)間為delta時(shí)間。第十三頁(yè),共134頁(yè)。結(jié)構(gòu)仿真(前仿真)對(duì)于電路邏輯結(jié)構(gòu)模型進(jìn)行仿真:結(jié)構(gòu)仿真可以根據(jù)使用器件的情況,為不同的元件添加不同的延遲時(shí)間,所以能夠在一定程度上反映出電路的時(shí)間性能,并分析影響電路速度的關(guān)鍵因素,便于對(duì)電路進(jìn)行修改。第十四頁(yè),共134頁(yè)。電路仿真(后仿真)對(duì)于布局布線后的電路模型進(jìn)行仿真:電路仿真可以根據(jù)器件的布局和連接情況,通過(guò)從電路中提取連線物理參數(shù),估算出連線延遲,從而為電路中信號(hào)的傳遞附加傳輸延遲,能夠更準(zhǔn)確地反映出電路的時(shí)間性能,便于進(jìn)行電路的時(shí)序設(shè)計(jì)修改。第十五頁(yè),共134頁(yè)。數(shù)字電路設(shè)計(jì)與Verilog硬件描述HDL(HardwareDescriptionLanguage)語(yǔ)言,是一種用形式化方法來(lái)描述數(shù)字電路和系統(tǒng)的語(yǔ)言。。HDL語(yǔ)言既包含一些高層程序設(shè)計(jì)語(yǔ)言的結(jié)構(gòu)形式,同時(shí)也兼顧描述硬件線路連接的具體構(gòu)件。通過(guò)使用結(jié)構(gòu)級(jí)或行為級(jí)描述可以在不同的抽象層次描述設(shè)計(jì),主要包括三個(gè)領(lǐng)域五個(gè)抽象層次。

HDL語(yǔ)言是并發(fā)的,即具有在同一時(shí)刻執(zhí)行多任務(wù)的能力。

HDL語(yǔ)言有時(shí)序的概念。第十六頁(yè),共134頁(yè)。什么是硬件描述語(yǔ)言HDL具有特殊結(jié)構(gòu)能夠?qū)τ布壿嬰娐返墓δ苓M(jìn)行描述的一種高級(jí)編程語(yǔ)言這種特殊結(jié)構(gòu)能夠:描述電路的連接描述電路的功能在不同抽象級(jí)上描述電路描述電路的時(shí)序表達(dá)具有并行性HDL主要有兩種:Verilog和VHDLVerilog起源于C語(yǔ)言,因此非常類(lèi)似于C語(yǔ)言,容易掌握VHDL起源于ADA語(yǔ)言,格式嚴(yán)謹(jǐn),不易學(xué)習(xí)。VHDL出現(xiàn)較晚,但標(biāo)準(zhǔn)化早。IEEE1706-1985標(biāo)準(zhǔn)。第十七頁(yè),共134頁(yè)。為什么使用HDL使用HDL描述設(shè)計(jì)具有下列優(yōu)點(diǎn):設(shè)計(jì)在高層次進(jìn)行,與具體實(shí)現(xiàn)無(wú)關(guān)設(shè)計(jì)開(kāi)發(fā)更加容易早在設(shè)計(jì)期間就能發(fā)現(xiàn)問(wèn)題能夠自動(dòng)的將高級(jí)描述映射到具體工藝實(shí)現(xiàn)在具體實(shí)現(xiàn)時(shí)才做出某些決定HDL具有更大的靈活性可重用可以選擇工具及生產(chǎn)廠HDL能夠利用先進(jìn)的軟件更快的輸入易于管理第十八頁(yè),共134頁(yè)。Verilog的歷史VerilogHDL是在1983年由GDA(GateWayDesignAutomation)公司的PhilMoorby所創(chuàng)。PhiMoorby后來(lái)成為Verilog-XL的主要設(shè)計(jì)者和Cadence公司的第一個(gè)合伙人。在1984~1985年間,Moorby設(shè)計(jì)出了第一個(gè)Verilog-XL的仿真器。1986年,Moorby提出了用于快速門(mén)級(jí)仿真的XL算法。1990年,Cadence公司收購(gòu)了GDA公司1991年,Cadence公司公開(kāi)發(fā)表Verilog語(yǔ)言,成立了OVI(OpenVerilogInternational)組織來(lái)負(fù)責(zé)VerilogHDL語(yǔ)言的發(fā)展。1995年制定了VerilogHDL的IEEE標(biāo)準(zhǔn),即IEEE1364。第十九頁(yè),共134頁(yè)。Verilog的用途Verilog的主要應(yīng)用包括:ASIC和FPGA工程師編寫(xiě)可綜合的RTL代碼高抽象級(jí)系統(tǒng)仿真進(jìn)行系統(tǒng)結(jié)構(gòu)開(kāi)發(fā)測(cè)試工程師用于編寫(xiě)各種層次的測(cè)試程序用于ASIC和FPGA單元或更高層次的模塊的模型開(kāi)發(fā)第二十頁(yè),共134頁(yè)。抽象級(jí)(LevelsofAbstraction)Verilog既是一種行為描述的語(yǔ)言也是一種結(jié)構(gòu)描述語(yǔ)言。Verilog模型可以是實(shí)際電路的不同級(jí)別的抽象。這些抽象的級(jí)別包括:系統(tǒng)說(shuō)明-設(shè)計(jì)文檔/算法描述RTL/功能級(jí)-Verilog門(mén)級(jí)/結(jié)構(gòu)級(jí)-Verilog版圖/物理級(jí)-幾何圖形行為綜合綜合前仿真邏輯綜合綜合后仿真版圖第二十一頁(yè),共134頁(yè)。抽象級(jí)(LevelsofAbstraction)在抽象級(jí)上需要進(jìn)行折衷系統(tǒng)說(shuō)明-設(shè)計(jì)文檔/算術(shù)描述RTL/功能級(jí)-Verilog門(mén)級(jí)/結(jié)構(gòu)級(jí)-Verilog版圖/物理級(jí)-幾何圖形詳細(xì)程度低高輸入/仿真速度高低第二十二頁(yè),共134頁(yè)。抽象級(jí)(LevelsofAbstraction)Verilog可以在三種抽象級(jí)上進(jìn)行描述行為級(jí)用功能塊之間的數(shù)據(jù)流對(duì)系統(tǒng)進(jìn)行描述在需要時(shí)在函數(shù)塊之間進(jìn)行調(diào)度賦值。RTL級(jí)/功能級(jí)用功能塊內(nèi)部或功能塊之間的數(shù)據(jù)流和控制信號(hào)描述系統(tǒng)基于一個(gè)已定義的時(shí)鐘的周期來(lái)定義系統(tǒng)模型結(jié)構(gòu)級(jí)/門(mén)級(jí)用基本單元(primitive)或低層元件(component)的連接來(lái)描述系統(tǒng)以得到更高的精確性,特別是時(shí)序方面。在綜合時(shí)用特定工藝和低層元件將RTL描述映射到門(mén)級(jí)網(wǎng)表第二十三頁(yè),共134頁(yè)。抽象級(jí)(LevelsofAbstraction)設(shè)計(jì)工程師在不同的設(shè)計(jì)階段采用不同的抽象級(jí)首先在行為級(jí)描述各功能塊,以降低描述難度,提高仿真速度。在綜合前將各功能模塊進(jìn)行RTL級(jí)描述。用于綜合的庫(kù)中的大多數(shù)單元采用結(jié)構(gòu)級(jí)描述。在本教程中的結(jié)構(gòu)級(jí)描述部分將對(duì)結(jié)構(gòu)級(jí)(門(mén)級(jí))描述進(jìn)行更詳細(xì)的說(shuō)明。Verilog還有一定的晶體管級(jí)描述能力及算法級(jí)描述能力第二十四頁(yè),共134頁(yè)。行為級(jí)和RTL級(jí)MUX的行為可以描述為:只要信號(hào)a或b或sel發(fā)生變化,如果sel為0則選擇a輸出;否則選擇b輸出。modulemuxtwo(out,a,b,sel);inputa,b,sel;outputout;regout;always@(seloraorb)if(!sel)out=a;elseout=b;endmodule這個(gè)行為級(jí)RTL描述不處理X和Z狀態(tài)輸入,并且沒(méi)有延時(shí)。在行為級(jí)模型中,邏輯功能描述采用高級(jí)語(yǔ)言結(jié)構(gòu),如@,while,wait,if,case。Testbench(testfixture)通常采用行為級(jí)描述。所有行為級(jí)結(jié)構(gòu)在testbench描述中都可以采用。RTL模型中數(shù)據(jù)流都是基于時(shí)鐘的。任何時(shí)鐘元件在時(shí)鐘沿處的行為都要精確描述。RTL級(jí)描述是行為級(jí)Verilog的子集。第二十五頁(yè),共134頁(yè)。僅需一種語(yǔ)言Verilog的一個(gè)主要特點(diǎn)是可應(yīng)用于各種抽象級(jí)。建模時(shí)可采用門(mén)級(jí)和RTL級(jí)混合描述,在開(kāi)發(fā)testfixture時(shí)可以采用行為級(jí)描述。第二十六頁(yè),共134頁(yè)。結(jié)構(gòu)級(jí)描述結(jié)構(gòu)級(jí)Verilog適合開(kāi)發(fā)小規(guī)模元件,如ASIC和FPGA的單元Verilog內(nèi)部帶有描述基本邏輯功能的基本單元(primitive),如and門(mén)。用戶(hù)可以定義自己的基本單元UDP(UserDefinedPrivitives)綜合產(chǎn)生的結(jié)果網(wǎng)表通常是結(jié)構(gòu)級(jí)的。用戶(hù)可以用結(jié)構(gòu)級(jí)描述粘接(glue)邏輯。下面是MUX的結(jié)構(gòu)級(jí)描述,采用Verilog基本單元(門(mén))描述。描述中含有傳輸延時(shí)。moduletwomux(out,a,b,sl);inputa,b,sl;outputout;notu1(nsl,sl);and#1u2(sela,a,nsl);and#1u3(selb,b,sl);or#2u4(out,sela,selb);endmodule綜合不支持!第二十七頁(yè),共134頁(yè)。VerilogHDL建模概述數(shù)字電路=線+器件線:器件管教之間的物理連接器件:組合邏輯(如與或非門(mén)等)和時(shí)序邏輯器件(如寄存器、鎖存器、RAM等)VerilogHDL建模:使用HDL語(yǔ)言對(duì)數(shù)字電路的兩種基本要素的特性及相互之間的關(guān)系進(jìn)行描述。2.1建模第二十八頁(yè),共134頁(yè)。VerilogHDL建模概述是Verilog的基本描述單元,用于描述某個(gè)設(shè)計(jì)的功能或結(jié)構(gòu)及其與其他模塊通信的外部端口概念上可等同一個(gè)器件,如通用器件(與門(mén)、三態(tài)門(mén)等)或通用宏單元(計(jì)數(shù)器、ALU、CPU)等。模塊可被另一個(gè)模塊調(diào)用一個(gè)電路設(shè)計(jì)可由多個(gè)模塊組合而成。2.2模塊(module)第二十九頁(yè),共134頁(yè)。VerilogHDL建模概述例1.加法器2.2模塊(module)簡(jiǎn)單實(shí)例第三十頁(yè),共134頁(yè)。VerilogHDL建模概述例2.比較器2.2模塊(module)簡(jiǎn)單實(shí)例第三十一頁(yè),共134頁(yè)。VerilogHDL建模概述例3.三態(tài)門(mén)驅(qū)動(dòng)器2.2模塊(module)簡(jiǎn)單實(shí)例第三十二頁(yè),共134頁(yè)。VerilogHDL建模概述模塊內(nèi)容位于module和endmodule兩個(gè)語(yǔ)句之間模塊包括接口描述部分和邏輯功能描述部分??膳c實(shí)際器件相類(lèi)比每個(gè)模塊要進(jìn)行端口定義,并說(shuō)明輸入、輸出口,然后對(duì)模塊的功能進(jìn)行邏輯描述(測(cè)試模塊例外)書(shū)寫(xiě)格式自由,一行可以寫(xiě)幾個(gè)語(yǔ)句,一個(gè)語(yǔ)句可以分幾行寫(xiě)。除endmodule與局外,每個(gè)語(yǔ)句后面需要有分號(hào)表示該語(yǔ)句結(jié)束2.3模塊的結(jié)構(gòu)第三十三頁(yè),共134頁(yè)。VerilogHDL建模概述2.4模塊語(yǔ)法第三十四頁(yè),共134頁(yè)。VerilogHDL建模概述一個(gè)模塊用一個(gè)文件模塊名與文件名要同名一行一句語(yǔ)句信號(hào)方向按輸入、輸出、雙向順序描述盡量采用參數(shù)化,提高設(shè)計(jì)的重用2.5書(shū)寫(xiě)語(yǔ)法建議第三十五頁(yè),共134頁(yè)。VerilogHDL建模概述信號(hào)在電路中傳輸會(huì)有傳播延時(shí),如線延時(shí)、器件延時(shí)等時(shí)延就是對(duì)延時(shí)特性的HDL描述所有時(shí)延都必須根據(jù)時(shí)間單位進(jìn)行定義,定義方式為在文件頭添加如下語(yǔ)句:是VerilogHDL提供的預(yù)編譯處理命令,1ns表示時(shí)間單位是1ns,100ps表示時(shí)間精度是100ps。2.6時(shí)延第三十六頁(yè),共134頁(yè)。VerilogHDL建模概述表示B信號(hào)在2個(gè)時(shí)間單位后得到A信號(hào)的值。2.6時(shí)延時(shí)延舉例第三十七頁(yè),共134頁(yè)。VerilogHDL建模概述結(jié)構(gòu)化描述方式數(shù)據(jù)流描述方式行為描述方式2.7三種建模方式第三十八頁(yè),共134頁(yè)。VerilogHDL建模概述通過(guò)對(duì)電路結(jié)構(gòu)的描述來(lái)建模,即通過(guò)對(duì)器件的調(diào)用(HDL概念稱(chēng)為“例化”),并使用線來(lái)連接各器件的描述方式器件包括:Verilog的內(nèi)置門(mén)(如與門(mén)and,異或門(mén)xor等),也可以是用戶(hù)的一個(gè)設(shè)計(jì)反映了一個(gè)設(shè)計(jì)的層次結(jié)構(gòu)2.7三種建模方式結(jié)構(gòu)化描述方式第三十九頁(yè),共134頁(yè)。VerilogHDL建模概述2.7三種建模方式結(jié)構(gòu)化描述方式例1:一位全加器第四十頁(yè),共134頁(yè)。VerilogHDL建模概述1.兩個(gè)異或門(mén)、兩個(gè)與門(mén)、一個(gè)或門(mén)2.S1、T1、T2是門(mén)與門(mén)之間的連線3.純結(jié)構(gòu)的建模方式4.Xor、and、or為Verilog內(nèi)置的門(mén)器件Xor表明調(diào)用一個(gè)內(nèi)置的異或門(mén),器件名稱(chēng)xor,代碼實(shí)例化名X1;括號(hào)內(nèi)的S1,A,B表明該器件管腳的實(shí)際連接線的名稱(chēng),其中A、B是輸入,S1是輸出。其他相同一位全加器代碼第四十一頁(yè),共134頁(yè)。VerilogHDL建模概述結(jié)構(gòu)化描述方式例2:兩位全加器兩位全加器結(jié)構(gòu)示意框圖第四十二頁(yè),共134頁(yè)。VerilogHDL建模概述兩位全加器代碼第四十三頁(yè),共134頁(yè)。VerilogHDL建模概述通過(guò)對(duì)數(shù)據(jù)流在設(shè)計(jì)中的具體行為的描述來(lái)建模使用連續(xù)賦值語(yǔ)句。借助于Verilog提供的一些運(yùn)算符,如按位邏輯運(yùn)算,邏輯與(&),邏輯或(|)等2.7三種建模方式數(shù)據(jù)流描述方式第四十四頁(yè),共134頁(yè)。VerilogHDL建模概述2.7三種建模方式數(shù)據(jù)流描述方式例1:一位全加器第四十五頁(yè),共134頁(yè)。VerilogHDL建模概述一位全加器代碼注意:各assign語(yǔ)句之間是并行執(zhí)行的,即各語(yǔ)句的執(zhí)行與語(yǔ)句之間的順序無(wú)關(guān)。如上,當(dāng)A有變化時(shí),S1、T2將同時(shí)變化,S1的變化又會(huì)造成Sum和T1的同時(shí)變化。第四十六頁(yè),共134頁(yè)。VerilogHDL建模概述采用對(duì)信號(hào)行為級(jí)的描述(不是結(jié)構(gòu)級(jí)的描述)的方法來(lái)建模一般采用initial塊語(yǔ)句或always塊語(yǔ)句通常采用行為級(jí)的運(yùn)算符如加法(+),減法(-)運(yùn)算符等2.7三種建模方式行為描述方式第四十七頁(yè),共134頁(yè)。VerilogHDL建模概述一位全加器行為建模注意:只有寄存器類(lèi)型的信號(hào)才可以在always和initial語(yǔ)句中進(jìn)行賦值,類(lèi)型定義通過(guò)reg語(yǔ)句實(shí)現(xiàn)Always語(yǔ)句一直重復(fù)執(zhí)行,由敏感表中的變量觸發(fā)在begin和end之間的語(yǔ)句順序執(zhí)行,屬于串行語(yǔ)句行為描述方式例1第四十八頁(yè),共134頁(yè)。VerilogHDL建模概述一位全加器行為建模采用更高級(jí)(更趨于行為級(jí))的描述方式,即直接采用“+”來(lái)描述加法{Cout,Sun}表述將兩個(gè)信號(hào)拼接成一個(gè)寬度更長(zhǎng)的信號(hào)。行為描述方式例2第四十九頁(yè),共134頁(yè)。VerilogHDL建模概述實(shí)際設(shè)計(jì)中往往是多種設(shè)計(jì)模式的混合。一般,對(duì)頂層設(shè)計(jì)采用結(jié)構(gòu)描述方式;對(duì)底層模塊,可采用數(shù)據(jù)流、行為級(jí)或兩者的結(jié)合如上面的兩位全加器,對(duì)頂層模塊(Four_bit_FA)采用結(jié)構(gòu)描述方式進(jìn)行“例化”,對(duì)底層模塊(FA)可采用結(jié)構(gòu)描述、數(shù)據(jù)流描述或行為描述。2.7三種建模方式混合設(shè)計(jì)描述第五十頁(yè),共134頁(yè)。VerilogHDL基本語(yǔ)法標(biāo)識(shí)符注釋格式數(shù)字值集合數(shù)據(jù)類(lèi)型運(yùn)算符和表達(dá)式條件語(yǔ)句Case語(yǔ)句第五十一頁(yè),共134頁(yè)。1、標(biāo)識(shí)符定義:標(biāo)識(shí)符(identifier)用于定義模塊名、端口名、信號(hào)等。可以是一組字母、數(shù)字、$符號(hào)和_(下劃線)符號(hào)的組合,但標(biāo)識(shí)符的第一個(gè)字符必須是字母或者下劃線。另外,標(biāo)識(shí)符區(qū)分大小寫(xiě)。例:CountCOUNT//與Count不同R56_68FIVE$關(guān)鍵字,Verilog中的保留字。注意:只有小寫(xiě)的關(guān)鍵字才是保留字第五十二頁(yè),共134頁(yè)。書(shū)寫(xiě)規(guī)范建議用有意義的有效的名字,如Sum、CPU_addr等用下劃線區(qū)分詞采用一些前綴或后綴,

時(shí)鐘采用Clk前綴:Clk_50,Clk_CPU

低電平采用_n后綴:Enable_n統(tǒng)一一定的縮寫(xiě),如全局復(fù)位信號(hào)Rst同一信號(hào)在不同層次保持一致性,如同一時(shí)鐘信號(hào)必須在各模塊中保持一致自定義的標(biāo)識(shí)符不能與保留字同名參數(shù)采用大寫(xiě),如SIZE第五十三頁(yè),共134頁(yè)。2、注釋Verilog中有兩種注釋的方式,一種是一“/*”符號(hào)開(kāi)始,以“*/”符號(hào)結(jié)束,在兩個(gè)符號(hào)之間的語(yǔ)句都是注釋語(yǔ)句,因此可以擴(kuò)展到多行。如:以上n各語(yǔ)句都是注釋語(yǔ)句另一種是以“//”開(kāi)頭的語(yǔ)句,它表示以//開(kāi)始到本行的結(jié)束都屬于注釋語(yǔ)句第五十四頁(yè),共134頁(yè)。3、格式VerilogHDL是區(qū)分大小寫(xiě)的,即大小寫(xiě)不同的標(biāo)識(shí)符是不同的Verilog書(shū)寫(xiě)格式自由,一條語(yǔ)句可多行書(shū)寫(xiě);一行可寫(xiě)多個(gè)語(yǔ)句空白(新行、制表符、空格)沒(méi)有特殊意義如與是一樣的一個(gè)語(yǔ)句一行采用空四格的TAB鍵進(jìn)行縮進(jìn)第五十五頁(yè),共134頁(yè)。4、數(shù)字值集合值的集合常量(整型、實(shí)型、字符型)變量第五十六頁(yè),共134頁(yè)。4.1值集合四種基本的值類(lèi)型0:邏輯0或“假”1:邏輯1或“真”X:未知值Z:高阻四種值得解釋內(nèi)置于語(yǔ)言中與門(mén)的輸入或表達(dá)式中的“z”的值通常解釋為“x”X值與z值不區(qū)分大小寫(xiě),及0x1z和0X1Z相同第五十七頁(yè),共134頁(yè)。4.2常量整型、實(shí)型、字符串型下劃線符號(hào)“_”可隨意用在整數(shù)或?qū)崝?shù)中,用來(lái)提高易讀性。注:下劃線不能作為首字符。整型書(shū)寫(xiě)格式:簡(jiǎn)單的十進(jìn)制數(shù)格式;基數(shù)格式字符串型:雙引號(hào)內(nèi)的字符系列。第五十八頁(yè),共134頁(yè)。4.2.1整型-簡(jiǎn)單的十進(jìn)制格式帶有一個(gè)可選的“+”或“-”操作符的數(shù)字序列例如:32十進(jìn)制數(shù)32-15十進(jìn)制數(shù)-15第五十九頁(yè),共134頁(yè)。4.2.1整型-基數(shù)表示法(一)格式:[size]’basevalueSize定義以位計(jì)的常量的位長(zhǎng);base為o或O(表示八進(jìn)制),b或B(表示二進(jìn)制),d或D(表示十進(jìn)制),h或H(表示十六進(jìn)制)之一;value是基于base的值的數(shù)字序列。值x和z以及十六進(jìn)制中的a到f不區(qū)分大小寫(xiě)第六十頁(yè),共134頁(yè)。4.2.1整型-基數(shù)表示法(二)合法例子:非法例子:第六十一頁(yè),共134頁(yè)。4.2.1整型-基數(shù)表示法(三)注意:x(或z)在十六進(jìn)制中代表4位x(或z),在八進(jìn)制中代表3位x(或z),在二進(jìn)制中代表1位x(或z)。整型數(shù)的長(zhǎng)度定義是可選的,如沒(méi)有定義長(zhǎng)度,數(shù)的長(zhǎng)度為相應(yīng)值中定義的位數(shù),如:如果定義的長(zhǎng)度比常量制定的長(zhǎng)度長(zhǎng),通常在左邊填0補(bǔ)位。但是如果數(shù)最左邊一位為“x”或“z”,就相應(yīng)地用x或z在左邊補(bǔ)位。如:如果長(zhǎng)度定義的要小,最左邊的位相應(yīng)地被截?cái)?。如:第六十二?yè),共134頁(yè)。4.2.2字符串型雙引號(hào)內(nèi)的字符序列。字符串不能分成多行書(shū)寫(xiě)。例:整數(shù)型常量是可以綜合的,而實(shí)數(shù)型和字符串型常量都是不可綜合的第六十三頁(yè),共134頁(yè)。5、數(shù)據(jù)類(lèi)型線網(wǎng)類(lèi)型(nettype)寄存器類(lèi)型(regtype)第六十四頁(yè),共134頁(yè)。5.1數(shù)據(jù)類(lèi)型-線網(wǎng)類(lèi)型(nettype)常用wire定義用于對(duì)結(jié)構(gòu)化器件之間的物理連線建模代表物理連接線,不存儲(chǔ)邏輯值,必須由器件驅(qū)動(dòng),通常由Assign進(jìn)行賦值,如:當(dāng)一個(gè)wire類(lèi)型的信號(hào)沒(méi)有被驅(qū)動(dòng)時(shí),缺省值為z(高阻)信號(hào)非有定義數(shù)據(jù)類(lèi)型時(shí),缺省為wire類(lèi)型語(yǔ)法:第六十五頁(yè),共134頁(yè)。5.2數(shù)據(jù)類(lèi)型-寄存器類(lèi)型(regtype)Reg是最常用的寄存器類(lèi)型,用于對(duì)存儲(chǔ)單元的描述,如D觸發(fā)器,ROM。在某種觸發(fā)機(jī)制下分配一個(gè)值,在分配下一個(gè)值之前保留原值Reg類(lèi)型的變量,不一定是存儲(chǔ)單元,如在always語(yǔ)句中進(jìn)行描述的必須用reg類(lèi)型的變量。語(yǔ)法:例:第六十六頁(yè),共134頁(yè)。5.2數(shù)據(jù)類(lèi)型-寄存器類(lèi)型(regtype)建模舉例:用寄存器類(lèi)型構(gòu)建兩位的D觸發(fā)器:用寄存器數(shù)組類(lèi)型來(lái)建立存儲(chǔ)器的模型,如對(duì)2個(gè)8位的RAM建模如下:存儲(chǔ)單元必須一個(gè)一個(gè)地賦值第六十七頁(yè),共134頁(yè)。6、運(yùn)算符關(guān)系運(yùn)算符算術(shù)運(yùn)算符邏輯運(yùn)算符按位邏輯運(yùn)算符條件運(yùn)算符連接運(yùn)算符移位運(yùn)算符第六十八頁(yè),共134頁(yè)。6.1運(yùn)算符-算術(shù)運(yùn)算符常用算術(shù)運(yùn)算符:加法(二元運(yùn)算符):“+”減法(二元運(yùn)算符):“-”乘法(二元運(yùn)算符):“*”除法(二元運(yùn)算符):“/”求余(二元運(yùn)算符):“%”第六十九頁(yè),共134頁(yè)。6.2運(yùn)算符-關(guān)系運(yùn)算符(一)包括:> 大于< 小于>= 不小于<= 不大于== 等于=== 全等!= 不等!== 不全等結(jié)果為T(mén)rue(1)或False(0)。如果操作數(shù)中有一位為x或z,那么結(jié)果為x第七十頁(yè),共134頁(yè)。6.2運(yùn)算符-關(guān)系運(yùn)算符(二)例:如果操作數(shù)長(zhǎng)度不同,長(zhǎng)度較短的操作數(shù)在左方填0補(bǔ)齊。例:邏輯相等與不等的比較中,只要一個(gè)操作數(shù)含有x或z,比較結(jié)果為未知(x)。如:第七十一頁(yè),共134頁(yè)。6.3運(yùn)算符-邏輯運(yùn)算符(一)包括:&& 邏輯與|| 邏輯或!

邏輯非語(yǔ)法:(表達(dá)式1)邏輯運(yùn)算符(表達(dá)式2)運(yùn)算結(jié)果為0或1,例:第七十二頁(yè),共134頁(yè)。6.3運(yùn)算符-邏輯運(yùn)算符(二)邏輯與(&&)的真值表:邏輯或(||)的真值表:第七十三頁(yè),共134頁(yè)。6.4運(yùn)算符-按位邏輯運(yùn)算符(一)包括:~ 一元非,相當(dāng)于非門(mén)運(yùn)算& 二元與,相當(dāng)于與門(mén)運(yùn)算| 二元或,相當(dāng)于或門(mén)運(yùn)算^ 二元異或,相當(dāng)于異或門(mén)運(yùn)算~^,^~ 二元異或非,即同或,相當(dāng)于同或門(mén)運(yùn)算

在輸入操作數(shù)的對(duì)應(yīng)位上按位操作,產(chǎn)生向量結(jié)果。第七十四頁(yè),共134頁(yè)。6.4運(yùn)算符-按位邏輯運(yùn)算符(二)按位邏輯運(yùn)算符真值表:第七十五頁(yè),共134頁(yè)。6.2運(yùn)算符-按位邏輯運(yùn)算符(三)例:如果操作數(shù)長(zhǎng)度不相等,長(zhǎng)度較小的操作數(shù)在最左端填0補(bǔ)位。例如:第七十六頁(yè),共134頁(yè)。6.5運(yùn)算符-條件運(yùn)算符根據(jù)條件表達(dá)式的值選擇表達(dá)式語(yǔ)法:cond_expr?expr1:expr2;如果cond_expr為真(1),選項(xiàng)expr1,如果cond_expr為假(0),選擇expr2.如果cond_expr為x或z,結(jié)果是按以下邏輯expr1和expr2按位操作的值:0與0得1,1與1得1,其余情況為x例:第七十七頁(yè),共134頁(yè)。6.6運(yùn)算符-連接運(yùn)算符將小表達(dá)式合并形成大表達(dá)式語(yǔ)法:{expr1,expr2,…,exprN}例:第七十八頁(yè),共134頁(yè)。6.7運(yùn)算符:移位運(yùn)算符<<左移位運(yùn)算符>>右移位運(yùn)算符語(yǔ)法:a>>n或a<<na代表要進(jìn)行移位的操作數(shù),n代表要移幾位。邏輯移位,移出的位用0填補(bǔ)例1:若A=5’b11001,則:A>>2的值為5’b00110A<<2的值為5’b00100第七十九頁(yè),共134頁(yè)。7、If_else(條件)語(yǔ)句用來(lái)判定所給定的條件是否滿(mǎn)足,根據(jù)判定的結(jié)果(真或假)決定執(zhí)行給出的兩種操作之一。三種形式:第八十頁(yè),共134頁(yè)。If_else語(yǔ)句的三種形式第八十一頁(yè),共134頁(yè)。說(shuō)明:1.if語(yǔ)句后面都有表達(dá)式,一般為邏輯表達(dá)式或關(guān)系表達(dá)式。0、x、z按“假”處理,1按“真”處理。2.注意分號(hào)的使用,if、else合起來(lái)是一條語(yǔ)句,else不能單獨(dú)使用3.if、else后面如果有多個(gè)操作語(yǔ)句,必須用begin和end關(guān)鍵字包含起來(lái)組成為一個(gè)復(fù)合語(yǔ)句,例第八十二頁(yè),共134頁(yè)。說(shuō)明:4.允許一定形式的表達(dá)式簡(jiǎn)寫(xiě),例如:5.if語(yǔ)句的嵌套注意if和else的配對(duì)關(guān)系,else總是與它上面最近的if配對(duì)??梢杂胋egin、end塊語(yǔ)句來(lái)確定配對(duì)關(guān)系。例:第八十三頁(yè),共134頁(yè)。例:使用begin和end塊語(yǔ)句來(lái)確定if和else的配對(duì)關(guān)系第八十四頁(yè),共134頁(yè)。8、case語(yǔ)句多分支選擇語(yǔ)句三種形式:1.case(表達(dá)式)<case分支項(xiàng)>endcase2.casez(表達(dá)式)<case分支項(xiàng)>endcase3.casex(表達(dá)式)<case分支項(xiàng)>endcase語(yǔ)法:第八十五頁(yè),共134頁(yè)。說(shuō)明:1.case括號(hào)中的表達(dá)式稱(chēng)為控制表達(dá)式,分支項(xiàng)中的表達(dá)式稱(chēng)為分支表達(dá)式。2.當(dāng)控制表達(dá)式的值與分支表達(dá)式的值項(xiàng)相等時(shí),就執(zhí)行分支表達(dá)式后面的語(yǔ)句;如果所有的分支表達(dá)式的值都沒(méi)有與控制表達(dá)式的值相匹配,就執(zhí)行default后面的語(yǔ)句3.default項(xiàng)可有可無(wú),一個(gè)case語(yǔ)句只能有一個(gè)default項(xiàng)4.每個(gè)分支表達(dá)式的值必須互不相同,否則會(huì)出現(xiàn)矛盾。5.所有表達(dá)式值的位寬必須相等。6.case、casez、casex的區(qū)別,case為全等比較,casez對(duì)表達(dá)式中出現(xiàn)z的相應(yīng)位不予比較,casex對(duì)表達(dá)式中出現(xiàn)x、z的相應(yīng)位均不予比較,見(jiàn)真值表第八十六頁(yè),共134頁(yè)。三種建模方式詳解結(jié)構(gòu)建模數(shù)據(jù)流建模行為建模第八十七頁(yè),共134頁(yè)。1、結(jié)構(gòu)建模(一)描述語(yǔ)句主要是實(shí)例化語(yǔ)句實(shí)例化的對(duì)象主要是PLD廠家提供的宏單元和設(shè)計(jì)者已有的設(shè)計(jì)第八十八頁(yè),共134頁(yè)。結(jié)構(gòu)建模(二)——實(shí)例化語(yǔ)句語(yǔ)法:module_nameinstance_name(port_associations);端口關(guān)聯(lián)可通過(guò)位置或名稱(chēng)關(guān)聯(lián),但兩者不能混用通過(guò)位置關(guān)聯(lián)(port_expr1,port_expr2,…,port_exprn);通過(guò)名稱(chēng)關(guān)聯(lián)(.PortName(portexpr1),.PortName(port_expr2),….PortName(port_exprn));第八十九頁(yè),共134頁(yè)。結(jié)構(gòu)建模(二)——實(shí)例化語(yǔ)句例[1]:....moduleand(C,A,B);inputA,B;outputC;...andA1(T3,A,B);//實(shí)例化時(shí)采用位置關(guān)聯(lián),T3對(duì)應(yīng)輸出端口C,A對(duì)應(yīng)A,B對(duì)應(yīng)B。andA2(//實(shí)例化時(shí)采用名字關(guān)聯(lián),.C是and器件的端口,其與信號(hào)T3相連.C(T3),.A(A),.B(B));第九十頁(yè),共134頁(yè)。結(jié)構(gòu)建模(二)——實(shí)例化語(yǔ)句port_expr可以是以下的任何類(lèi)型:1)標(biāo)識(shí)符(reg或net)如.C(T3),T3為wire型標(biāo)識(shí)符。2)位選擇,如.C(D[0]),C端口接到D信號(hào)的第0bit位。3)部分選擇,如.Bus(Din[5:4])。4)上述類(lèi)型的合并,如.Addr({A1,A2[1:0]}。5)表達(dá)式(只適用于輸入端口),如.A(wireZire=0)。建議:在例化的端口映射中請(qǐng)采用名字關(guān)聯(lián),這樣,當(dāng)被調(diào)用的模塊管腳改變時(shí)不易出錯(cuò)。第九十一頁(yè),共134頁(yè)。結(jié)構(gòu)建模(二)——實(shí)例化語(yǔ)句端口懸空的處理:在我們的實(shí)例化中,可能有些管腳沒(méi)用到,可在映射中采用空白處理,如:DFFd1(.Q(QS),.Qbar(),.Data(D),.Preset(),//該管腳懸空.Clock(CK));//名稱(chēng)對(duì)應(yīng)方式。對(duì)輸入管腳懸空的,則該管腳輸入為高阻Z,輸出管腳被懸空的,該輸出管腳廢棄不用。第九十二頁(yè),共134頁(yè)。當(dāng)端口和局部端口表達(dá)式的長(zhǎng)度不同時(shí),端口通過(guò)無(wú)符號(hào)數(shù)的右對(duì)齊或截?cái)喾绞竭M(jìn)行匹配例如:moduleChild(Pba,Ppy);input[5:0]Pba;output[2:0]Ppy;...endmodulemoduleTop;wire[1:2]Bdl;wire[2:6]Mpr;ChildC1(Bdl,Mpr);endmodule第九十三頁(yè),共134頁(yè)。在對(duì)Child模塊的實(shí)例中,Bdl[2]連接到Pba[0],Bdl[1]連接到Pba[1],余下的輸入端口Pba[5]、Pba[4]和Pba[3]懸空,因此為高阻態(tài)z。與之相似,Mpr[6]連接到Ppy[0],Mpr[5]連接到Ppy[1],Mpr[4]連接到Ppy[2]。參見(jiàn)下圖:第九十四頁(yè),共134頁(yè)。結(jié)構(gòu)化建模具體實(shí)例

對(duì)一個(gè)數(shù)字系統(tǒng)的設(shè)計(jì),我們采用的是自頂向下的設(shè)計(jì)方式。可把系統(tǒng)劃分成幾個(gè)功能模塊,每個(gè)功能模塊再劃分成下一層的子模塊。每個(gè)模塊的設(shè)計(jì)對(duì)應(yīng)一個(gè)module,一個(gè)module設(shè)計(jì)成一個(gè)verilogHDL程序文件。因此,對(duì)一個(gè)系統(tǒng)的頂層模塊,我們采用結(jié)構(gòu)化的設(shè)計(jì),即頂層模塊分別調(diào)用了各個(gè)功能模塊。下面以一個(gè)實(shí)例(一個(gè)頻率計(jì)數(shù)器系統(tǒng))說(shuō)明如何用HDL進(jìn)行系統(tǒng)設(shè)計(jì)。在該系統(tǒng)中,我們劃分成如下三個(gè)部分:2輸入與門(mén)模塊,LED顯示模塊,4位計(jì)數(shù)器模塊。系統(tǒng)的層次描述如下:第九十五頁(yè),共134頁(yè)。頂層模塊CNT_BCD,文件名CNT_BCD.v,該模塊調(diào)用了低層模塊AND2、CNT_4b和HEX2LED。第九十六頁(yè),共134頁(yè)。第九十七頁(yè),共134頁(yè)。第九十八頁(yè),共134頁(yè)。2、數(shù)據(jù)流建模(一)主要描述方式為持續(xù)性賦值語(yǔ)句第九十九頁(yè),共134頁(yè)。數(shù)據(jù)流建模(二)——持續(xù)性賦值語(yǔ)句也稱(chēng)連續(xù)賦值語(yǔ)句(continuousassignment)對(duì)線網(wǎng)類(lèi)型變量賦值語(yǔ)法:assignnet_type=expression;主要用于組合邏輯的建模執(zhí)行過(guò)程:只要右邊表達(dá)式任一個(gè)變量有變化,表達(dá)式立即被計(jì)算,計(jì)算的結(jié)果立即賦給左邊信號(hào)為并行執(zhí)行語(yǔ)句,與書(shū)寫(xiě)順序無(wú)關(guān)第一百頁(yè),共134頁(yè)。數(shù)據(jù)流建模(二)——持續(xù)性賦值語(yǔ)句舉例:第一百零一頁(yè),共134頁(yè)。例:2選1多路選擇器第一百零二頁(yè),共134頁(yè)。阻塞(blocking)賦值方式賦值符號(hào)為“=”,如:b=a;語(yǔ)句結(jié)束時(shí)立即完成賦值操作,即b的值在該條件語(yǔ)句結(jié)束后立即改變同一個(gè)塊語(yǔ)句中,如果有多個(gè)阻塞賦值語(yǔ)句,那么前面的賦值操作沒(méi)完成之前,后面的語(yǔ)句就不能被執(zhí)行,仿佛被阻塞(blocking)了一樣。第一百零三頁(yè),共134頁(yè)。阻塞性過(guò)程賦值:在其后所有語(yǔ)句執(zhí)行前執(zhí)行,即在下一語(yǔ)句執(zhí)行前該賦值語(yǔ)句完成執(zhí)行如:always@(AorBorCin)Begin:CARRY_OUTRegT1,T2,T3T1=A&BT2=B&CinT3=A&CinCout=(T1|T2)|T3end第一百零四頁(yè),共134頁(yè)。使用內(nèi)部延時(shí)控制的阻塞性過(guò)程賦值語(yǔ)句如:initialbeginClr=#50//在0時(shí)刻執(zhí)行,5個(gè)時(shí)間單位后被賦值Clr=#41//4個(gè)時(shí)間單位后被賦值為1Clr=#100//10個(gè)時(shí)間單位后被賦值為0end第一百零五頁(yè),共134頁(yè)。非阻塞(non-blocking)賦值方式賦值符號(hào)為“<=”,如:b<=a;非阻塞賦值在整個(gè)過(guò)程塊結(jié)束時(shí)才完成賦值操作,即b的值并不是立即就改變的第一百零六頁(yè),共134頁(yè)。非阻塞性過(guò)程賦值中,對(duì)目標(biāo)的賦值是非阻塞的,即為時(shí)間并行的,所有的賦值均在同一時(shí)刻發(fā)生如:initialbeginClr<=#51//在第5個(gè)時(shí)間單位被賦值為1Clr<=#40//在第4個(gè)時(shí)間單位被賦值為0Clr<=#100//在第10個(gè)時(shí)間單位被賦值為0end第一百零七頁(yè),共134頁(yè)。賦值語(yǔ)句—阻塞賦值與非阻塞賦值例1:非阻塞賦值例2:阻塞賦值第一百零八頁(yè),共134頁(yè)。賦值語(yǔ)句—阻塞賦值與非阻塞賦值例1仿真結(jié)果例2仿真結(jié)果第一百零九頁(yè),共134頁(yè)。賦值語(yǔ)句—阻塞賦值與非阻塞賦值例1綜合結(jié)果例2綜合結(jié)果第一百一十頁(yè),共134頁(yè)。賦值語(yǔ)句—阻塞賦值與非阻塞賦值六點(diǎn)建議:時(shí)序電路建模時(shí),用非阻塞賦值鎖存器電路建模時(shí),用非阻塞賦值用always塊建立組合邏輯模型時(shí),用阻塞賦值在同一個(gè)always塊中建立時(shí)序和組合邏輯電路時(shí),用非阻塞賦值在同一個(gè)always塊中不要既用阻塞賦值又用非阻塞賦值不要在一個(gè)以上的always塊中為同一變量賦值第一百一十一頁(yè),共134頁(yè)。3、行為建模通過(guò)對(duì)設(shè)計(jì)的行為的描述來(lái)實(shí)現(xiàn)對(duì)設(shè)計(jì)建模一般采用過(guò)程語(yǔ)句(initial語(yǔ)句和always語(yǔ)句)第一百一十二頁(yè),共134頁(yè)。行為建模——initial語(yǔ)句語(yǔ)法1:initial

語(yǔ)句1;語(yǔ)法2:只執(zhí)行一次常用于產(chǎn)生激勵(lì)信號(hào)或寄存器變量的初始化仿真語(yǔ)句,不能被綜合第一百一十三頁(yè),共134頁(yè)。行為建模——initial語(yǔ)句例:用initial語(yǔ)句產(chǎn)生激勵(lì)信號(hào)第一百一十四頁(yè),共134頁(yè)。行為建?!猘lways語(yǔ)句語(yǔ)法1:always

時(shí)序控制語(yǔ)句1;語(yǔ)法2:always語(yǔ)句不斷重復(fù)執(zhí)行,即一直檢測(cè)時(shí)序控制條件,一旦滿(mǎn)足,其后的語(yǔ)句被執(zhí)行一次第一百一十五頁(yè),共134頁(yè)。行為建?!猘lways語(yǔ)句例:時(shí)序控制通常為敏感信號(hào)表達(dá)式,當(dāng)表達(dá)式中變量的值改變時(shí),其后的語(yǔ)句被執(zhí)行一次,多個(gè)表達(dá)式之間用“or”連接,此時(shí)的語(yǔ)法為:敏感信號(hào)一般為兩種類(lèi)型:邊沿敏感型和電平敏感型,兩者一般不要在一個(gè)always語(yǔ)句中同時(shí)使用第一百一十六頁(yè),共134頁(yè)。行為建?!猘lways語(yǔ)句邊沿觸發(fā)的always常常描述時(shí)序行為,綜合后生成的電路為寄存器加門(mén)級(jí)組合邏輯電平觸發(fā)的always常常描述組合邏輯行為,綜合后生成的電路為門(mén)級(jí)組合邏輯或帶鎖存器的組合邏輯例:第一百一十七頁(yè),共134頁(yè)。行為建?!猵osedge和negedge關(guān)鍵字對(duì)時(shí)序電路的建模(時(shí)序電路由時(shí)鐘邊沿

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論