廈門三五互聯(lián)科技股份有限公司章程 84_第1頁
廈門三五互聯(lián)科技股份有限公司章程 84_第2頁
廈門三五互聯(lián)科技股份有限公司章程 84_第3頁
廈門三五互聯(lián)科技股份有限公司章程 84_第4頁
廈門三五互聯(lián)科技股份有限公司章程 84_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 電路計(jì)算機(jī)輔助設(shè)計(jì) 吉林大學(xué)通信工程學(xué)院 高燕梅教學(xué)內(nèi)容與要求第1章 EDA技術(shù)簡介第2章 Verilog HDL語言編程 10學(xué)時第3章 VHDL語言編程8學(xué)時 第4章 MATLAB程序入門 12學(xué)時第5章 MATLAB在電路中的應(yīng)用4學(xué)時 每章有實(shí)驗(yàn)室上機(jī)實(shí)驗(yàn) /eeec 實(shí)驗(yàn)教學(xué) 第1章 EDA技術(shù)簡介1.1 EDA技術(shù)的主要內(nèi)容1.2 EDA軟件系統(tǒng)的構(gòu)成1.3 EDA的工程設(shè)計(jì)流程1.4 數(shù)字系統(tǒng)的設(shè)計(jì)方法第2章 Verilog HDL語言編程2.1 Verilog HDL設(shè)計(jì)模塊的根本結(jié)構(gòu)2.2 Verilog HDL詞法構(gòu)成2.3 Verilog HDL

2、的語句2.4 Verilog HDL模型2.5 Verilog HDL設(shè)計(jì)電路流程2.6 用Verilog HDL描述邏輯電路的實(shí)例第3章 VHDL 語言編程根底3.1 概述 3.2 VHDL程序根本結(jié)構(gòu) 3.3 VHDL語言要素 3.4 VHDL順序語句 3.5 VHDL并行語句 3.6 子程序(SUBPROGRAM) 3.7 庫、程序包及其他 3.8 VHDL描述風(fēng)格 3.9 根本邏輯電路設(shè)計(jì) 3.10 狀態(tài)機(jī)的VHDL設(shè)計(jì) 第4章 MATLAB程序入門4.1根本語法4.1.1 變量及其賦值4.4.2 矩陣的初等運(yùn)算4.1.3 元素群運(yùn)算4.1.4 邏輯判斷及流程控制4.2 根本繪圖方法4

3、.2.1 M文件及程序調(diào)試4.2.2 MATLAB的開發(fā)環(huán)境和工具第5章 MATLAB在電路中的應(yīng)用5.1 電阻電路和動態(tài)電路5.2 正弦穩(wěn)態(tài)電路和頻率響應(yīng)5.3 二端口電路5.4 濾波器第1章 EDA技術(shù)簡介 1.1 EDA技術(shù)的主要內(nèi)容EDA是電子設(shè)計(jì)自動化Electronic Design Automation的縮寫。 EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺上,用硬件描述語言HDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計(jì)的效率和可靠

4、性,減輕了設(shè)計(jì)者的勞動強(qiáng)度。在電子技術(shù)設(shè)計(jì)領(lǐng)域,可編程邏輯器件如CPLD、FPGA的應(yīng)用,已得到廣泛的普及,這些器件為數(shù)字系統(tǒng)的設(shè)計(jì)帶來了極大的靈活性。CPLD、FPGA器件可以通過軟件編程而對硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),從而使得硬件的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。促進(jìn)了EDA技術(shù)的迅速開展。EDA技術(shù)涉及面廣,內(nèi)容豐富,主要應(yīng)掌握如下四個方面的內(nèi)容: 大規(guī)??删幊踢壿嬈骷?,大規(guī)??删幊踢壿嬈骷抢肊DA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的載體。 FPGA和CPLD 硬件描述語言,硬件描述語言是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的主要表達(dá)手段。VHDL、Verilog、ABEL 軟件開發(fā)工具,軟件開發(fā)工具

5、是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的智能化的自動化設(shè)計(jì)工具。Altera的MAX+plus II、Lattice的ispEXPERT、Xilinx的Foundation Series。 實(shí)驗(yàn)開發(fā)系統(tǒng),實(shí)驗(yàn)開發(fā)系統(tǒng)那么是利用EDA技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的下載工具及硬件驗(yàn)證工具。 1 大規(guī)模可編程邏輯器件 可編程邏輯器件(簡稱PLD)是一種由用戶編程以實(shí)現(xiàn)某種邏輯功能的新型邏輯器件。FPGA是現(xiàn)場可編程門陣列的簡稱,CPLD是復(fù)雜可編程邏輯器件的簡稱。高集成度、高速度和高可靠性是FPGA/CPLD最明顯的特點(diǎn),其時鐘延時可小至ns級,結(jié)合其并行工作方式,在超高速應(yīng)用領(lǐng)域和實(shí)時測控方面有著非常廣闊的應(yīng)用

6、前景。FPGA/CPLD的高可靠性還表現(xiàn)在幾乎可將整個系統(tǒng)下載于同一芯片中,實(shí)現(xiàn)所謂片上系統(tǒng),從而大大縮小了體積,易于管理和屏蔽。 2 硬件描述語言(HDL) 常用的硬件描述語言有VHDL、Verilog、ABEL。 VHDL:作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語言。 Verilog:支持的EDA工具較多,適用于RTL級存放器轉(zhuǎn)換級和門電路級的描述,其綜合過程較VHDL稍簡單,但其在高級描述方面不如VHDL。有專家認(rèn)為,在新世紀(jì)中,VHDL與Verilog語言將承擔(dān)幾乎全部的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。 3 軟件開發(fā)工具 目前比較流行的、主流廠家的EDA的軟件

7、工具有:Altera的MAX+plus II、升級版Quartus II;Lattice的ispEXPERT;Xilinx的Foundation Series。 MAX+plus II是Altera公司開發(fā)的EDA工具軟件。Altera公司是世界上最大的可編程邏輯器件供給商之一。MAX+plus II軟件是一個集成化的可編程邏輯器件開發(fā)環(huán)境,設(shè)計(jì)者能在這個環(huán)境下進(jìn)行邏輯設(shè)計(jì),完成設(shè)計(jì)文件的輸入編輯、編譯、仿真、綜合、布局布線和編程下載等設(shè)計(jì)工作。軟件界面友好、方便易學(xué)、功能全面,是非常流行的群眾化EDA平臺。MAX+plus II:支持原理圖、VHDL和Verilog語言文本文件,以及以波形與

8、EDIF等格式的文件作為設(shè)計(jì)輸入,并支持這些文件的任意混合設(shè)計(jì)。它具有門級仿真器,可以進(jìn)行功能仿真和時序仿真,能夠產(chǎn)生精確的仿真結(jié)果。在適配之后,MAX+plus II生成供時序仿真用的EDIF、VHDL和Verilog這三種不同格式的網(wǎng)表文件。它界面友好,使用便捷,被譽(yù)為業(yè)界最易學(xué)易用的EDA的軟件 ,并支持主流的第三方EDA工具,支持所有Altera公司的FPGA/CPLD大規(guī)模邏輯器件。 4 實(shí)驗(yàn)開發(fā)系統(tǒng) 提供芯片下載電路及EDA實(shí)驗(yàn)/開發(fā)的外圍資源(類似于用于單片機(jī)開發(fā)的仿真器),供硬件驗(yàn)證用。一般包括: 實(shí)驗(yàn)或開發(fā)所需的各類根本信號發(fā)生模塊,包括時鐘、脈沖、上下電平等; FPGA/C

9、PLD輸出信息顯示模塊,包括數(shù)碼顯示、發(fā)光管顯示、聲響指示等; 監(jiān)控程序模塊,提供“電路重構(gòu)軟配置; 目標(biāo)芯片適配座以及上面的FPGA/CPLD目標(biāo)芯片和編程下載電路。自己閱讀 1.2 EDA軟件系統(tǒng)的構(gòu)成EDA技術(shù)研究的對象是電子設(shè)計(jì)的全過程,有系統(tǒng)級、電路級和物理級3個層次的設(shè)計(jì)。涉及的電子系統(tǒng)從低頻、高頻到微波,從線性到非線性,從模擬到數(shù)字,從通用集成電路到專用集成電路構(gòu)造的電子系統(tǒng),因此EDA技術(shù)研究的范疇相當(dāng)廣泛。EDA軟件系統(tǒng)應(yīng)當(dāng)包含以下子模塊:設(shè)計(jì)輸入子模塊、設(shè)計(jì)數(shù)據(jù)庫子模塊、分析驗(yàn)證子模塊、綜合仿真子模塊、布局布線子模塊等。自己閱讀 (1) 設(shè)計(jì)輸入子模塊;用戶編輯輸入模塊的設(shè)

10、計(jì)描述,并進(jìn)行語義正確性、語法規(guī)那么的檢查,檢查通過后,將用戶的設(shè)計(jì)描述數(shù)據(jù)轉(zhuǎn)換為EDA軟件系統(tǒng)的內(nèi)部數(shù)據(jù)格式,存入設(shè)計(jì)數(shù)據(jù)庫被其他子模塊調(diào)用。設(shè)計(jì)輸入子模塊不僅能接受圖形描述輸入、硬件描述語言(HDL)描述輸入,還能接受圖文混合描述輸入。該子模塊一般包含針對不同描述方式的編輯器,如圖形編輯器、文本編輯器等,同時包含對應(yīng)的分析器。自己閱讀 (2)設(shè)計(jì)數(shù)據(jù)庫子模塊:該模塊存放系統(tǒng)提供的庫單元以及用戶的設(shè)計(jì)描述和中間設(shè)計(jì)結(jié)果。 (3) 分析驗(yàn)證子模塊:該模塊包括各個層次的模擬驗(yàn)證、設(shè)計(jì)規(guī)那么的檢查、故障診斷等。 (4) 綜合仿真子模塊:該模塊包括各個層次的綜合工具,理想的情況是:從高層次到低層次的

11、綜合仿真全部由EDA工具自動實(shí)現(xiàn)。 (5) 布局布線子模塊:該模塊實(shí)現(xiàn)由邏輯設(shè)計(jì)到物理實(shí)現(xiàn)的映射,因此與物理實(shí)現(xiàn)的方式密切相關(guān)。例如,最終的物理實(shí)現(xiàn)可以是門陣列、可編程邏輯器件等,由于對應(yīng)的器件不同,因此各自的布局布線工具會有很大的差異。 自己閱讀1.3 EDA的工程設(shè)計(jì)流程1 源程序的編輯和編譯 利用EDA技術(shù)進(jìn)行一項(xiàng)工程設(shè)計(jì),首先需利用EDA工具的文本編輯器或圖形編輯器將它用文本方式或圖形方式表達(dá)出來,進(jìn)行排錯編譯,變成Verilog、VHDL文件格式,為進(jìn)一步的邏輯綜合作準(zhǔn)備。 常用的源程序輸入方式有三種。 (1) 原理圖輸入方式:利用EDA工具提供的圖形編輯器以原理圖的方式進(jìn)行輸入。原

12、理圖輸入方式比較容易掌握,直觀且方便,所畫的電路原理圖與傳統(tǒng)的器件連接方式完全一樣,很容易被人接受,而且編輯器中有許多現(xiàn)成的單元器件可以利用,自己也可以根據(jù)需要設(shè)計(jì)元件。 (2) 狀態(tài)圖輸入方式:以圖形的方式表示狀態(tài)圖進(jìn)行輸入。當(dāng)填好時鐘信號名、狀態(tài)轉(zhuǎn)換條件、狀態(tài)機(jī)類型等要素后,就可以自動生成VHDL程序。這種設(shè)計(jì)方式簡化了狀態(tài)機(jī)的設(shè)計(jì),比較流行。 (3) Verilog、VHDL軟件程序的文本方式:最一般化、最具普遍性的輸入方法,任何支持VHDL的EDA工具都支持文本方式的編輯和編譯。 2 邏輯綜合和優(yōu)化 將VHDL的軟件設(shè)計(jì)與硬件的可實(shí)現(xiàn)性掛鉤,需要利用EDA軟件系統(tǒng)的綜合器進(jìn)行邏輯綜合。

13、 綜合器的功能就是將設(shè)計(jì)者在EDA平臺上完成的針對某個系統(tǒng)工程的HDL、原理圖或狀態(tài)圖形的描述,針對給定硬件結(jié)構(gòu)組件進(jìn)行編譯、優(yōu)化、轉(zhuǎn)換和綜合,最終獲得門級電路甚至更底層的電路描述文件。綜合器工作前,必須給定最后實(shí)現(xiàn)的硬件結(jié)構(gòu)參數(shù),它的功能就是將軟件描述與給定硬件結(jié)構(gòu)用某種網(wǎng)表文件的方式聯(lián)系起來。綜合器是軟件描述與硬件實(shí)現(xiàn)的一座橋梁。綜合過程就是將電路的高級語言描述轉(zhuǎn)換成低級的,可與FPGA/CPLD或構(gòu)成ASIC的門陣列根本結(jié)構(gòu)相映射的網(wǎng)表文件。自己閱讀 1.4數(shù)字系統(tǒng)的設(shè)計(jì)方法 數(shù)字系統(tǒng)設(shè)計(jì)有多種方法,如模塊設(shè)計(jì)法、自頂向下設(shè)計(jì)法和自底向上設(shè)計(jì)法等。 數(shù)字系統(tǒng)的設(shè)計(jì)一般采用自頂向下、由粗到

14、細(xì)、逐步求精的方法。自頂向下是指將數(shù)字系統(tǒng)的整體逐步分解為各個子系統(tǒng)和模塊,假設(shè)子系統(tǒng)規(guī)模較大,那么還需將子系統(tǒng)進(jìn)一步分解為更小的子系統(tǒng)和模塊,層層分解,直至整個系統(tǒng)中各子系統(tǒng)關(guān)系合理,并便于邏輯電路級的設(shè)計(jì)和實(shí)現(xiàn)為止。采用該方法設(shè)計(jì)時,高層設(shè)計(jì)進(jìn)行功能和接口描述,說明模塊的功能和接口,模塊功能的更詳細(xì)的描述在下一設(shè)計(jì)層次說明,最底層的設(shè)計(jì)才涉及具體的存放器和邏輯門電路等實(shí)現(xiàn)方式的描述。 采用自頂向下的設(shè)計(jì)方法有如下優(yōu)點(diǎn): (1) 自頂向下設(shè)計(jì)方法是一種模塊化設(shè)計(jì)方法。對設(shè)計(jì)的描述從上到下逐步由粗略到詳細(xì),符合常規(guī)的邏輯思維習(xí)慣。由于高層設(shè)計(jì)同器件無關(guān),設(shè)計(jì)易于在各種集成電路工藝或可編程器件之

15、間移植。 (2) 適合多個設(shè)計(jì)者同時進(jìn)行設(shè)計(jì)。隨著技術(shù)的不斷進(jìn)步,許多設(shè)計(jì)由一個設(shè)計(jì)者已無法完成,必須經(jīng)過多個設(shè)計(jì)者分工協(xié)作完成一項(xiàng)設(shè)計(jì)的情況越來越多。在這種情況下,應(yīng)用自頂向下的設(shè)計(jì)方法便于由多個設(shè)計(jì)者同時進(jìn)行設(shè)計(jì),對設(shè)計(jì)任務(wù)進(jìn)行合理分配,用系統(tǒng)工程的方法對設(shè)計(jì)進(jìn)行管理。 針對具體的設(shè)計(jì),實(shí)施自頂向下的設(shè)計(jì)方法的形式會有所不同,但均需遵循以下兩條原那么:逐層分解功能,分層次進(jìn)行設(shè)計(jì)。同時,應(yīng)在各個設(shè)計(jì)層次上,考慮相應(yīng)的仿真驗(yàn)證問題。自己閱讀第2章 Verilog HDL語言 2.1 Verilog HDL設(shè)計(jì)模塊的根本結(jié)構(gòu)Verilog HDL程序設(shè)計(jì)由模塊(module)構(gòu)成的, 設(shè)計(jì)模塊

16、的根本結(jié)構(gòu)如圖,一個完整的Verilog HDL設(shè)計(jì)模塊包括端口定義、I/O聲明、信號類型聲明和功能描述4個局部。 一、模塊端口的定義模塊端口定義用來聲明電路設(shè)計(jì)模塊 的輸入/輸出端口,端口定義格式如下: module 模塊名 端口1,端口2,端口3,;在端口定義的括號中,是設(shè)計(jì)電路模塊與外界聯(lián)系的全部輸入/輸出端口信號或引腳,是設(shè)計(jì)實(shí)體對外的一個通信界面,是外界可以看到的局部不包含電源和接地端,多個端口之間用“,分隔。例如1位全加器adder模塊的端口定義為module adder (sum, cout, ina, inb, cin); 模塊名adder 二、模塊內(nèi)容 模塊內(nèi)容包括I/O聲明

17、、信號類型聲明和功能描述。 1模塊的I/O聲明 模塊的I/O聲明用來聲明模塊端口定義中各端口數(shù)據(jù)流動方向,包括輸入(input)、輸出(output)和雙向(inout)。I/O聲明格式如下: input 端口1,端口2,端口3,; /聲明輸入端口 output 端口1,端口2,端口3,;/聲明輸出端口例如,1位全加器的I/O聲明為 input ina, inb, cin; output sum, cout; 2信號類型聲明信號類型聲明是聲明設(shè)計(jì)電路的功能描述中所用的信號的數(shù)據(jù)類型和函數(shù)。信號的數(shù)據(jù)類型主要有連線wire、存放器reg、整型integer、實(shí)型real、和時間time等。 3功

18、能描述 功能描述是Verilog HDL程序設(shè)計(jì)中最主要的局部,用來描述設(shè)計(jì)模塊的內(nèi)部結(jié)構(gòu)和模塊端口間的邏輯關(guān)系,在電路上相當(dāng)于器件的內(nèi)部電路結(jié)構(gòu)。功能描述可以用assign語句、元件例化instantiate方式、always塊語句、initial塊語句等方法來實(shí)現(xiàn),通常將設(shè)計(jì)模塊描述的方法稱為建模。 用assign語句建模 用assign語句建模的方法很簡單,只需要在“assign后面再加一個表達(dá)式。Assign語句一般適合對組合邏輯進(jìn)行賦值,稱為連續(xù)賦值方式。例1 一位全加器的設(shè)計(jì)1位全加器的邏輯符號:sum是全加器的和輸出端,cout是進(jìn)位輸出端,ina和inb是兩個加數(shù)輸入端,cin

19、是低位進(jìn)位輸入端。全加器的Verilog HDL源程序如下: module adder1 (sum, cout, ina, inb, cin); input ina, inb, cin; output sum, cout; assign cout, sum = ina+inb+cin; endmodule “assign cout, sum = ina+inb+cin;語句實(shí)現(xiàn)1位全加器的進(jìn)位輸出cout與和輸出sum的建模。在語句表達(dá)式中,用拼接運(yùn)算符“將cout、sum這兩個1位操作數(shù)拼接為一個2位操作數(shù)。 用元件例化instantiate方式建模元件例化方式建模是利用Verilog HD

20、L提供的元件庫實(shí)現(xiàn)的。例如,用與門例化元件定義一個三輸入端與門可以寫為and myand3(y,a,b,c); and是Verilog HDL元件庫中與門元件名,myand3是例化出的三輸入端與門名,y是與門輸出端,a、b、c是輸入端。 用always塊語句建模 always塊語句可以產(chǎn)生各種邏輯,常用于時序邏輯的功能描述。一個程序設(shè)計(jì)模塊中,可以包含一個或多個always語句。程序運(yùn)行中,在某種條件滿足時,就重復(fù)執(zhí)行一遍always結(jié)構(gòu)中的語句。 例2 8位二進(jìn)制加法計(jì)數(shù)器的設(shè)計(jì)8位二進(jìn)制加法計(jì)數(shù)器的邏輯符號如圖。OUT是8位二進(jìn)制計(jì)數(shù)器的輸出端8位向量;COUT是進(jìn)位輸出端1位;DATA是

21、并行數(shù)據(jù)輸入端8位向量;LOAD是計(jì)數(shù)器的預(yù)置控制輸入端,當(dāng)LOAD=1時,OUT=DATA;CLK是時鐘控制輸入端,上升沿為有效邊沿;CLR是同步復(fù)位輸入端,當(dāng)CLK的上升沿到來時且CLR=1,那么計(jì)數(shù)器被復(fù)位,OUT=00000000。邏輯符號圖是由計(jì)算機(jī)對計(jì)數(shù)器電路的Verilog HDL源代碼編譯后產(chǎn)生的元件符號,圖中的輸入/輸出標(biāo)識符自動被改為大寫,而源程序中的標(biāo)識符都是小寫。 8位二進(jìn)制加法計(jì)數(shù)器的Verilog HDL 源程序如下: module cnt8 (out, cout,data,load,cin,clk, clr); input 7:0 data; input load

22、, cin, clk, clr output 7:0 out; output cout; reg 7:0 out; always (posedge clk) begin if (load) out=data; else if(clr) out=b00000000; else out=out+1; end assign cout = &out; endmodule用always塊語句實(shí)現(xiàn)8位二進(jìn)制加法計(jì)數(shù)器的建模。(posedge clk)是時間控制敏感函數(shù),表示clk上升沿到來的敏感時刻。每當(dāng)clk的上升沿到來時,always塊語句中的全部語句就執(zhí)行一遍?!癮ssign cout = &out

23、;語句產(chǎn)生進(jìn)位輸出cout,在語句中“&out是與的縮減運(yùn)算式,只有out中數(shù)字全為1時,結(jié)果才為1。 用initial塊語句建模Initial塊語句與always語句類似,不過在程序中它只執(zhí)行1次就結(jié)束了。Initial塊語句的使用格式 : Initial Begin 語句1; 語句2; : end例3 用Initial過程語句對測試變量賦值 initial begin for(addr=0; addr 大于= 大于等于 右移4 結(jié)果A=8b00001101而A4 結(jié)果A=8b00010000。條件操作符 ?: 操作數(shù)=條件?表達(dá)式1:表達(dá)式2;當(dāng)條件為真(值為1)時,操作數(shù)=表達(dá)式1;為假

24、(值為0)時,操作數(shù)=表達(dá)式2。 三元操作符,即條件操作符有三個操作數(shù)。例如 a?b:c若條件操作數(shù)a是邏輯1,則算子返回表達(dá)式1操作數(shù)b;若a是邏輯0,則算子返回表達(dá)式2操作數(shù)c。 并接操作符 , 例如 a,2a,b 等價于a,a,b,a,b。 將1位全加器的進(jìn)位cout和sum并接,表達(dá)式為將兩個或兩個以上用逗號分隔的表達(dá)式按位連接在一起。還可以用常數(shù)來指定重復(fù)的次數(shù)。cout,sum=ina+inb+cin; 同其他高級語言類似,各類操作符號之間有優(yōu)先級之分,如下表:優(yōu)先級序號操作符操作符名稱! 、 邏輯非、按位取反*、/、%乘、除、求余+、-加、減左移、右移、 、=小于、小于等于、大于

25、、大于等于=、!=、=、!=等于、不等于、全等、不全等&、& 縮減與、縮減與非 、縮減異或、縮減同或|、 |縮減或、縮減或非&邏輯與|邏輯或?: 條件操作符列表頂部是最高優(yōu)先級,底部是最低優(yōu)先級。列在同一行中的操作符具有相同的優(yōu)先級。所有操作符?:除外在表達(dá)式中都是從左向右結(jié)合的。圓括號用于改變優(yōu)先級或使得表達(dá)式中運(yùn)算順序更加清晰,提高源文件的可讀性。 3數(shù)值常量 Verilog HDL中的數(shù)值常量有整型和實(shí)型兩大類,分為十進(jìn)制、十六進(jìn)制、八進(jìn)制或二進(jìn)制。假設(shè)在前面加上一個正“+或負(fù)“號就表示有符號數(shù),否那么所代表的就是無符號數(shù)。在數(shù)值常量的任意位置可以隨意插入下劃線“_以提高可讀性。常量定義

26、格式為:parameter 常量名1=表達(dá)式,常量名2=表達(dá)式,常量名n=表達(dá)式;parameter是常量定義關(guān)鍵字,常量名是用戶定義的標(biāo)識符,表達(dá)式為常量賦值。例如 parameter Vcc=5, fbus=8b11010001;Verilog HDL中的整型數(shù)值常量就是整數(shù),有兩種書寫格式:一種是無位寬的十進(jìn)制表示法,如-132。第二種是定義位寬和進(jìn)制的表示法,這種表示方法通常是無符號數(shù)。常數(shù)書寫格式是:sizebase value其中size是位寬,定義了數(shù)值常量的位數(shù)長度;base 代表這個數(shù)據(jù)的進(jìn)制,取值范圍和相應(yīng)的進(jìn)制如下表;value是一個數(shù)值常量的值,書寫格式與進(jìn)制base相

27、對應(yīng)。例如 4h6a8c,表示一個4位十六進(jìn)制數(shù)。 2hf5 等于8b11110101; 8b1111xxxx 等價2hfx; 8b1101zzzz 等價2hdz。Verilog HDL中的進(jìn)制base進(jìn)制代碼取值對應(yīng)的進(jìn)制b或B二進(jìn)制o或O八進(jìn)制d或D十進(jìn)制h或H十六進(jìn)制 Verilog HDL中的實(shí)型數(shù)值常量就是浮點(diǎn)數(shù),可以用十進(jìn)制與科學(xué)計(jì)數(shù)法兩種形式書寫。如果采用十進(jìn)制格式,小數(shù)點(diǎn)兩邊必須都有數(shù)字。 Verilog HDL的編程最終是與硬件相對應(yīng)的。由于硬件電路中信號的邏輯狀態(tài)具有特殊性,即不僅有0低電平和1高電平,還有可能是X未知狀態(tài)和Z高阻態(tài),因此Verilog HDL數(shù)值集合有四個

28、根本值:0:邏輯0或假狀態(tài);1:邏輯1或真狀態(tài);X:邏輯不確定;Z:高阻態(tài)。4字符串字符串是雙引號“括起來的字符序列,必須包含在同 一行中,不能多行書寫。在表達(dá)式或賦值語句中作為操作數(shù)的字符串被看作ASCII值序列,即一個字符串中的每一個字符對應(yīng)一個8位ASCII值。5標(biāo)識符標(biāo)識符是模塊、存放器、端口、連線、例如和begin-end塊等元素的名稱,是賦給對象的唯一的名稱。標(biāo)識符可以是字母、數(shù)字、$符和下劃線“_字符的任意組合序列。定義標(biāo)識符規(guī)那么:首字符不能是數(shù)字,必須以字母或下劃線“_開頭。字符數(shù)不能多于1024。標(biāo)識符區(qū)分大小寫。不要與關(guān)鍵字同名。例如 ina、inb、adder、adde

29、r8、name_adder是正確的,而1a ?b是錯誤的。6關(guān)鍵字關(guān)鍵字是Verilog HDL預(yù)先定義的專用詞。在IEEE標(biāo)準(zhǔn)Verilog HDL 1364-1995中規(guī)定了102個關(guān)鍵詞,都采用小寫形式。關(guān)鍵詞有其特定和專有的語法作用,用戶不能再對它們做新的定義。關(guān)鍵字AlwaysandAssignattributeBeginBufBufif0Bufif1CaseCasexCasezCmosDeassignDefaultdefparamDisableedgeelseendendattributeendcaseendfunctionendmoduleendprimitiveendspeci

30、fyendtableendtaskeventforforceforeverforkfunctionhighz0 highzlifinitialinoutinputintegerjoinlargemacromodulemediummodulenandnegedgenmosnornotnotif0 notifloroutputparameterpmosposedgeprimitivepull0pull1pulldownpulluprcmosrealrealtimeregreleaserepeat rtraniflscalaredsignedsmallspecifyspecpramstrengths

31、trong0strong1supply0supply1tabletasktimetrantranif0tranif1 tritri0tri1triandtriortritegunsignedvectoredwaitwandweak0weak1whilewireworxnorxor 7變量變量是在程序運(yùn)行時其值可以改變的量。在Verilog HDL中,變量分為網(wǎng)絡(luò)型nets type和存放器型register type兩種。 網(wǎng)絡(luò)型變量nets型變量是輸出值始終根據(jù)輸入變化而更新的變量,一般用來定義硬件電路中的各種物理連線。Verilog HDL提供了多種nets型變量。常見的nets型變量及說

32、明類型功能說明wire、 tri連線類型(兩者功能完全相同)wor、 trior具有線或特性的連線(兩者功能一致)wand、 triand具有線與特性的連線(兩者功能一致)tri1、 tri0分別為上拉電阻和下拉電阻supply1、 supply0分別為電源(邏輯1)和地(邏輯0)s1s2s3 存放器型變量register型變量是用來描述硬件系統(tǒng)的根本數(shù)據(jù)對象。作為一種數(shù)值容器,可以容納當(dāng)前值,也可以保持歷史值。與存放器的記憶功能相對應(yīng),可以作為模塊各器件間的信息傳遞通道。register型變量與wire型變量的區(qū)別在于register型變量需要被明確的賦值, 并且在重新賦值前一直保持原值。r

33、egister型變量是在always、initial等過程語句種定義,并通過過程語句賦值。常見的register型變量及說明類型功能說明reg常用的寄存器型變量integer32位帶符號整數(shù)型變量real64位帶符號實(shí)數(shù)型變量time無符號時間型變量2.3 Verilog HDL的語句Verilog HDL的語句包括賦值語句、條件語句、循環(huán)語句、結(jié)構(gòu)聲明語句和編譯預(yù)處理語句等類型,每一類語句又包括幾種不同的語句。在這些語句中,有些語句屬于順序執(zhí)行語句,有些語句屬于并行執(zhí)行語句。1賦值語句在Verilog HDL中,賦值語句常用于描述硬件設(shè)計(jì)電路輸出與輸入之間的信息傳送,改變輸出結(jié)果。Veril

34、og HDL有4種賦值方法:門基元、連續(xù)賦值、過程賦值和非阻塞賦值。門基元賦值語句門基元賦值語句的格式為:根本邏輯門關(guān)鍵字 門輸出,門輸入1,門輸入2,門輸入n;例如 4輸入與非門的門基元賦值語句為 nand (y,a,b,c,d); /與語句assign y=(a&b&c&d)等效 連續(xù)賦值語句連續(xù)賦值語句的關(guān)鍵字assign,賦值符號是“=,賦值語句的格式為 assign 賦值變量=表達(dá)式;例如 assign y=(a&b&c&d);連續(xù)賦值語句的“=兩邊的變量都應(yīng)該是wire型變量。在執(zhí)行中,輸出y的變化跟隨輸入a、b、c、d的變化而變化,反映了信息傳送的連續(xù)性。連續(xù)賦值語句用于邏輯門和

35、組合邏輯電路的描述。例1 四輸入端與非門的Verilog HDL源程序 module example1(y,a,b,c,d); output y; input a,b,c,d; assign #1 y=(a&b&c&d); /#1表示輸出與輸入信號之間具有1個單位的時間延遲 endmodule 過程賦值語句過程賦值語句出現(xiàn)在initial和always塊語句中,賦值符號是“=,語句格式為: 賦值變量=表達(dá)式;過程賦值語句“=左邊的賦值變量必須是存放器reg型變量,其值在該語句結(jié)束時即可得到。如果一個塊語句中包含假設(shè)干條過程賦值語句,按順序一條一條執(zhí)行,前面的語句沒完成,后面的語句就不能執(zhí)行。因

36、此,過程賦值語句也稱為阻塞賦值語句。 非阻塞賦值語句非阻塞賦值語句也是出現(xiàn)在initial和always塊語句中,賦值符號是“=,語句格式為: 賦值變量=表達(dá)式;非阻塞賦值語句“=左邊的賦值變量必須是存放器reg型變量,其值在塊語句結(jié)束時才可得到,與過程賦值語句不同。例如 下面的塊語句包含4條賦值語句 always (posedge clock) m=3; n=75; n=m; r=n;語句執(zhí)行結(jié)束后,r的值是75,而不是3,因?yàn)榈?行是非阻塞賦值語句“n=m,該語句要等到本塊語句結(jié)束時,n的值才能改變。塊語句的“(posedge clock)是定時控制敏感寒暑,表示時鐘信號clock的上升沿

37、到來的敏感時刻。例2 上升沿觸發(fā)的D觸發(fā)器的Verilog HDL源程序 module D_FF(q,d,clock); input d,clock; /屬于wire型變量 output q; /屬于reg型變量 reg q; always (posedge clock) q=d; endmodule 2條件語句條件語句包含if語句和case語句,它們都是順序語句,應(yīng)放在always塊中。 if語句完整的Verilog HDL的if語句結(jié)構(gòu)如下: if表達(dá)式 begin 語句; end else if表達(dá)式 begin 語句; end else begin 語句; end在if語句中,“表達(dá)式

38、是邏輯表達(dá)式或關(guān)系表達(dá)式,也可以是位寬為1位的變量。系統(tǒng)對表達(dá)式的值進(jìn)行判斷, 假設(shè)為0,x,z按“假處理;假設(shè)為1,按“真處理,執(zhí)行指定的語句。 例3 8線-3線優(yōu)先編碼器的設(shè)計(jì)8線-3線優(yōu)先編碼器的功能表 module code(y,a); input7:0 a; output2:0 y; reg2:0 y; always (a) begin if(a7) y=3b111; else if(a6) y=3b110; else if(a5) y=3b101; else if(a4) y=3b100; else if(a3) y=3b011; else if(a2) y=3b010; else

39、 if(a1) y=3b001; else y=3b000; end endmodule輸入輸出in0 in1 in2 in3 in4 in5 in6 in7out2 out1 out0 x x x x x x x 0 x x x x x x 0 1 x x x x x 0 1 1 x x x x 0 1 1 1 x x x 0 1 1 1 1 x x 0 1 1 1 1 1 x 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 case語句case語句是一種多分支的條件語句,case語句

40、的格式為: case表達(dá)式 選擇值1: 語句1; 選擇值2: 語句2; 選擇值n: 語句n; default: n+1 endcase執(zhí)行case語句時,首先計(jì)算表達(dá)式的值,然后執(zhí)行條件句中相應(yīng)的“選擇值的語句。當(dāng)所有的條件句的“選擇值與表達(dá)式的值不同時,那么執(zhí)行“default后的語句。default可以省略。 case語句多用于數(shù)字系統(tǒng)中的譯碼器、數(shù)據(jù)選擇器、狀態(tài)機(jī)及微處理器的指令譯碼器等電路的描述。 例4:用case語句描述4選1數(shù)據(jù)選擇器控制信號s1,s2有4種組合,控制a,b,c,d中的一個數(shù)據(jù)送到輸出端。4選1數(shù)據(jù)選擇器Verilog HDL的描述如下: module mux41(

41、z,a,b,c,d,s1,s2); input s1,s2; input a,b,c,d; output z; reg z; always (s1 or s2) begin case(s1,s2) 2b00: z=a; 2b01: z=b; 2b10: z=c; 2b11: z=d; endcase end endmodulecase語句還有兩種變體形式,casez和casex語句。與case語句的區(qū)別是不考慮語句中的高阻z和未知x的那些位,只關(guān)注其他位的比較結(jié)果。s1 s2z0 00 11 01 1abcd4選1數(shù)據(jù)選擇器功能表 3循環(huán)語句循環(huán)語句包含for語句、repeat語句、while

42、語句和forever語句4種。 for語句for語句的格式為: for循環(huán)指針=初值;循環(huán)指針 終值;循環(huán)指針=循環(huán)指針+步長值 begin 語句; endfor語句可以是一組語句重復(fù)執(zhí)行,語句中的參數(shù)一般屬于整型變量或常量。語句重復(fù)執(zhí)行的次數(shù)由語句中的參數(shù)確定。即 循環(huán)重復(fù)次數(shù)=終值-初值/步長值 例5:8位奇偶校驗(yàn)器的描述用a表示輸入信號,長度為8位的向量。在程序中,用for語句對a的值,逐位進(jìn)行模2加運(yùn)算即異或XOR,循環(huán)指針變量n控制模2加的次數(shù)。 11100110 奇數(shù)個1循環(huán)變量的初值為0,終值為8,因此,控制循環(huán)共執(zhí)行了8次。 例5 用Verilog HDL對8位奇偶校驗(yàn)器的描述

43、如下: module test8(a,out); input7:0 a; output out; reg out; integer n; always (a) begin out=0; for(n=0;n=b) max=a; else max=b; end endfunction函數(shù)調(diào)用的格式如下 函數(shù)名 關(guān)聯(lián)參數(shù)表;函數(shù)調(diào)用一般是出現(xiàn)在模塊、任務(wù)或函數(shù)語句中。通過函數(shù)的調(diào)用來完成摹寫數(shù)據(jù)的運(yùn)算或轉(zhuǎn)換。例如,調(diào)用上例中求最大值函數(shù)的語句為 peak=max(data, peak);其中,data和peak是與函數(shù)定義的兩個參數(shù)a、b相關(guān)聯(lián)的關(guān)聯(lián)參數(shù)。通過函數(shù)的調(diào)用,求出data和peak中的最

44、大值,并用函數(shù)名max返回。 函數(shù)和任務(wù)存在以下幾處區(qū)別:1任務(wù)可以有任意不同類型輸入/輸出參數(shù),函數(shù)不能將inout類型作為輸出。2任務(wù)只可以在過程語句中調(diào)用,不能在連續(xù)賦值語句assign中調(diào)用;函數(shù)可以作為表達(dá)式中的一個操作數(shù),在過程賦值語句和連續(xù)賦值語句中調(diào)用。3任務(wù)可以調(diào)用其他任務(wù)或函數(shù);函數(shù)可以調(diào)用其他函數(shù),但不能調(diào)用任務(wù)。4任務(wù)不向表達(dá)式返回值,函數(shù)向調(diào)用它的表達(dá)式返回一個值。5語句的順序執(zhí)行與并行執(zhí)行Verilog HDL中有順序執(zhí)行語句和并行執(zhí)行語句之分。always塊語句中的語句順序語句,按照程序書寫的順序執(zhí)行。always塊本身確是并行語句,它與其他always語句及as

45、sign語句、例化元件語句都是同時即并行的。例9 同步去除十進(jìn)制加法計(jì)數(shù)器的描述同步清0是在時鐘信號作用下,計(jì)數(shù)器的狀態(tài)被clr清0,清0信號clr高電平有效;時鐘信號clk上升沿觸發(fā)。計(jì)數(shù)器計(jì)數(shù)狀態(tài)從4b0000到4b1001循環(huán)。module cnt10(clr,clk,cnt,out); input clr,clk; output3:0 out; output cnt; reg cnt; reg3:0 out; always (posedge clk) begin if(clr) begin cnt=0;out=4b0000;end else if (out=4b1001) begin

46、out=4b0000;cnt=1;end else begin cnt=0;out=out+1;end end endmodule 2.4.不同抽象級別的Verilog HDL模型Verilog HDL具有行為描述和結(jié)構(gòu)描述功能。行為描述是對設(shè)計(jì)電路的邏輯動能的描述,并不關(guān)心設(shè)計(jì)電路使用哪些元件及這些元件之間的連接關(guān)系。行為描述屬于高層次的描述方法,在Verilog HDL中,行為描述包括系統(tǒng)級System Level、算法級Algorithm Level和存放器傳輸級RTL:Register Thansfer Level等3種抽象級別。結(jié)構(gòu)描述是對設(shè)計(jì)電路的結(jié)構(gòu)進(jìn)行描述,既描述設(shè)計(jì)電路使用的

47、元件及這些元件之間的連接關(guān)系。結(jié)構(gòu)描述屬于低層次的描述方法,在Verilog HDL,結(jié)構(gòu)描述包括門級Gate Level和開關(guān)級Switch Level兩種抽象級別。應(yīng)重點(diǎn)掌握高層次描述方法,結(jié)構(gòu)描述也可以用來實(shí)現(xiàn)電路的系統(tǒng)設(shè)計(jì)。 1Verilog HDL門級描述方式Verilog HDL提供了豐富的門類型關(guān)鍵字,用于門級的描述。常用的: not非門、and與門、nand與非門、or或門、nor或非門、xor異或門、xnor同或門、buf緩沖器、及bufif1、bufif0、 notif1、notif0各種三態(tài)門。門級描述語句格式為 門類型關(guān)鍵字 端口列表;其中,“例化門的名稱是用戶定義的標(biāo)

48、識符,屬可選項(xiàng);端口列表按:(輸出、輸入,使能控制端)的順序列出。例如: nand nand2 (y,a,b); /二輸入端與非門 xor myxor(y,a,b) /異或門 bufif0 mybuf (y,a,en); /低電平使能的三態(tài)緩沖器例10 采用結(jié)構(gòu)描述方式描述硬件電路module example_4_11(y,a,b,c); input a,b,c; output y; wire s1,s2,s3; not (s1,a); nand (s2,c,s1); nand (s3,a,b); nand (y,s2,s3);endmodule 2Verilog HDL行為級描述Verilo

49、g HDL行為描述方式是通過行為語句來描述電路要實(shí)現(xiàn)的功能,表示輸入輸出間轉(zhuǎn)換的行為,不涉及具體結(jié)構(gòu)。行為建模是一種“高級的描述方式。行為描述既可以描述簡單的邏輯門,又可以描述復(fù)雜的數(shù)字系統(tǒng),乃至微處理器。既可以描述組合邏輯電路,又可以描述時序邏輯電路。例11 2選1數(shù)據(jù)選擇器,用Verilog HDL對它做行為描述。 module mux_2_to_1 (a, b, out,outbar,sel); /這是一個2選1數(shù)據(jù)選擇器,名為mux_2_to_1 input a, b, sel; /定義模塊的輸入端口為a, b和sel output out, outbar; /定義模塊的輸出端口為ou

50、t和outbar assign out=sel? a:b; /如果sel=1,將a賦值給out /如果sel=0,將b賦值給out assign outbar =out; /將out取反后賦值給outbar endmodule /模塊描述結(jié)束作 業(yè)365計(jì)數(shù)器和計(jì)數(shù)譯碼顯示電路的編程, MAX+plus II 仿真。 例12 3線-8線譯碼器的Verilog HDL設(shè)計(jì)module decode3_8 (a, b, c, y, en); /這是一個3線-8線譯碼器,名為decode3_8input a, b, c, en; /定義模塊的輸入端口output 7:0 y; /定義模塊的輸出端口為

51、outreg7:0 y; always (en or a or b or c) begin if(en) y=8b11111111; else begin case(c, b, a) 3b000: y=8b11111110; 3b001: y=8b11111101; 3b010: y=8b11111011; 3b011: y=8b11110111; 3b100: y=8b11101111; 3b101: y=8b11011111; 3b110: y=8b10111111; 3b111: y=8b01111111; endcase end endendmodule /模塊描述結(jié)束例13 8D鎖存

52、器的設(shè)計(jì)module D_8 (d,q,en); output7:0 q; input en; input7:0 d; reg7:0 q; always (en or d) begin if(en) q=q; else q=d; endendmodule 例14 異步去除十進(jìn)制加法計(jì)數(shù)器的描述異步去除是指復(fù)位信號有效時,計(jì)數(shù)器立即被清零,不考慮時鐘。復(fù)位信號clr,高電平有效;時鐘信號clk,上升沿觸發(fā);當(dāng)clr=1,計(jì)數(shù)器清0。clr=0時,計(jì)數(shù)器正常計(jì)數(shù)。module cnt10a (clr, clk, cnt, out); /模塊名稱和端口名 input clr, clk; output

53、3:0 out; output cnt; reg3:0 out; reg cnt; always (posedge clk or posedge clr) begin if (clr) begin out=4b0000; cnt=0; end else if (out=4b1001) begin out=4b0000; cnt=1; end else begin cnt=0; out=out+1; end end endmodule 3用結(jié)構(gòu)描述實(shí)現(xiàn)電路系統(tǒng)設(shè)計(jì)任何用Verilog HDL描述的電路設(shè)計(jì)模塊module,均可用模塊例化語句,例化一個元件,來實(shí)現(xiàn)電路系統(tǒng)的設(shè)計(jì)。模塊例化語句格式與

54、邏輯門例化語句格式相同,具體格式: 設(shè)計(jì)模塊名 端口列表; 其中,“例化電路名是用戶為系統(tǒng)設(shè)計(jì)定義的標(biāo)識符,相當(dāng)于系統(tǒng)電路板上為插入設(shè)計(jì)模塊元件的插座,而端口列表相當(dāng)于插座上引腳名表,應(yīng)與設(shè)計(jì)模塊的輸入/輸出端口一一對應(yīng)。用模塊例化方式設(shè)計(jì)8位計(jì)數(shù)譯碼器電路系統(tǒng)。在8位計(jì)數(shù)譯碼系統(tǒng)電路設(shè)計(jì)中,需要事先設(shè)計(jì)一個4位二進(jìn)制加法計(jì)數(shù)器cnt4e模塊和一個七段數(shù)碼顯示器的譯碼器Dec7s模塊,然后用例化方式將這兩種模塊組成計(jì)數(shù)譯碼系統(tǒng)電路。 例15 4位二進(jìn)制加法計(jì)數(shù)器的設(shè)計(jì)4位二進(jìn)制加法計(jì)數(shù)器的符號如圖,CLK是時鐘輸入端;CLR復(fù)位控制輸入端,當(dāng)CLR=1時計(jì)數(shù)器被復(fù)位,輸出Q3.0=0000;E

55、NA 是使能控制輸入端,當(dāng)ENA=1時,計(jì)數(shù)器才能工作;COUT是進(jìn)位輸出端,當(dāng)輸出Q3.0=1111時,COUT=1。module cnt4e(clk,clr,ena,cout,q); input clk ,clr,ena; output 3:0 q; output cout; reg 3:0 q; always (posedge clr or posedge clk) begin if (clr) q= b0000; else if (ena) q=q+1; end assign cout=&q;endmodule例16 七段數(shù)碼顯示器的譯碼器 Dec7s的元件符號如圖A3.0是4數(shù)據(jù)輸入

56、端,將接至cnt4e的輸出端Q3.0;Q7.0是譯碼器的輸出端,提供七段數(shù)碼顯示數(shù)據(jù)。module Dec7s(a,q); output7:0 q; input3:0 a; reg7:0 q; always (a) begin case(a) 0: q=8b00111111; 1: q=8b00000110; 2: q=8b01011011; 3: q=8b01001111; 4: q=8b01100110; 5: q=8b01101101; 6: q=8b01111101; 7: q=8b00000111; 8: q=8b01111111; 9: q=8b01101111; 10: q=8b

57、01110111; 11: q=8b01111100; 12: q=8b00111001; 13: q=8b01011110; 14: q=8b01111001; 15: q=8b01110001; endcase endendmodule計(jì)數(shù)譯碼系統(tǒng)電路的設(shè)計(jì)計(jì)數(shù)譯碼系統(tǒng)電路是用MAX+plus II的圖形編輯方式設(shè)計(jì)出來的。 例17 用模塊例化方式將cnt4e和dec7s兩種模塊組成計(jì)數(shù)譯碼系統(tǒng)電路cnt_dec7s的源程序: module cnt_Dec_v(clk,clr,ena,cout,q); input clk ,clr,ena; output 15:0 q; output co

58、ut; reg 15:0 q; wire 3:0 q1,q2; wire x; cnt4e u1(clk,clr,ena,x,q1); cnt4e u2(clk,clr,x,cout,q2); dec7s u3(q1,q7:0); dec7s u4(q2,q15:8); endmodule 2.5 Verilog HDL設(shè)計(jì)電路流程 1MAX+plus II軟件的應(yīng)用入門 安裝MAX+plus II軟件: 安裝完成軟件,在運(yùn)行軟件之前,選擇Optins 菜單的license set up命令,翻開窗口如下,將license數(shù)據(jù)文件安裝完畢,即可運(yùn)行軟件。 編輯文本輸入文件: 選擇菜單File-

59、New,翻開窗口如圖,選擇文本編輯器,翻開文本編輯窗口。輸入英文程序,注釋可以有中文。保存文件的擴(kuò)展名(abc.v)。一般來講,最好是保存在英文路徑Max2work下,每一個工程建一個工程目錄文件夾。 編譯程序: 將文本文件通過“File-Projectset Project to Current File設(shè)置成為當(dāng)前文件。 再運(yùn)行“File-ProjectSave & Compile,即可編譯程序。 建立波形文件: 在MAX+plus II菜單下, 選擇Waveform Editor, 翻開波形編輯窗口。 保存與文本文件同名,擴(kuò)展名為abc.scf。 選擇NodeEnter Nodes fr

60、om SNF, 軟件會將輸入輸出端口列出,點(diǎn)擊list, 選擇需要的輸入輸出端,點(diǎn)擊=,ok, 輸入輸出端就會列出在波形編輯窗口。對輸入波形進(jìn)行賦值編輯:第一步,編輯輸入波形之前,先要設(shè)置仿真時間。選擇FileEnd time,給出仿真結(jié)束時間。第二步,選中輸入變量,選中時間段涂黑,選0或1值。選中時鐘clk,點(diǎn)擊 按鍵,設(shè)置時鐘信號。選中輸入數(shù)據(jù)組,涂黑,點(diǎn)擊 按鍵,設(shè)置數(shù)據(jù)組值。 電路仿真: 運(yùn)行“File-ProjectSave & Simulate, 即可仿真電路, 輸出波形出現(xiàn)在波形編輯窗口。 生成元件圖形符號: 在File菜單下, 選擇Create Default Symbol命令

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論