Max+plusⅡ操作簡介(主要).doc_第1頁
Max+plusⅡ操作簡介(主要).doc_第2頁
Max+plusⅡ操作簡介(主要).doc_第3頁
Max+plusⅡ操作簡介(主要).doc_第4頁
Max+plusⅡ操作簡介(主要).doc_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Max+plus系統(tǒng)的操作簡介 Max+plus開發(fā)工具是美國Altera公司自行設(shè)計的一種軟件工具,其全稱為Multiple Array Matrix and Programmable Logic User System。它具有原理圖輸入和文本輸入(采用硬件描述語言)兩種輸入手段,利用該工具所配備的編輯、編譯、仿真、綜合、芯片編程等功能,將設(shè)計電路圖或電路描述程序變成基本的邏輯單元寫入到可編程的芯片中(如FPGA芯片),作成ASIC芯片。它是EDA設(shè)計中不可缺少的一種工具。通過一個簡單的二輸入與門電路設(shè)計范例介紹:利用Max+plus系統(tǒng)(1)如何編寫VHDL程序(使用Text Editor);(2)如何編譯VHDL程序(使用Compiler);(3)如何仿真驗證VHDL程序(使用Waveform Editor,Simulator);(1)建立和編寫一個VHDL語言的工程文件首先啟動Max+plus系統(tǒng),啟動后系統(tǒng)進入主菜單畫面,在主菜單上有5個選項,分別是:Max+plus、File、Assign、Options和Help。Max+plus系統(tǒng)主窗口(a)打開文本編輯器;用鼠標點擊File選項,點擊子菜單中的New選項,接著屏幕會出現(xiàn)New的對話框。在對話框內(nèi)有4種編輯方式:圖形編輯、符號編輯、文本編輯和波形編輯。VHDL文件屬于文本,那么應(yīng)該選擇文本編輯方式,點擊OK按鈕,屏幕上將出現(xiàn)一個無名的編輯窗口,則系統(tǒng)進入文本編輯狀態(tài)。(或用鼠標點擊Max+plus選項,點擊子菜單中Text Editor選項.。)打開文本編輯器(b)在編輯窗口中進行編輯輸入,輸入相應(yīng)的描述語句。文本編輯窗口中編輯輸入例1 實現(xiàn)2輸入與門的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY and2 IS PORT(a, b : IN STD_LOGIC; y: OUT STD_LOGIC); END and2; ARCHITECTURE one OF and2 IS BEGIN y= a and b;END one;(c)存盤。(a 我們編輯的VHDL文件擴展名為vhd;b 保存的文件名必須和所定義的實體名相同。c 文件存盤的目錄不應(yīng)是根目錄或桌面,建議存放在Maxplus2目錄。)(2) VHDL程序的編譯編譯過程大致可以分以下幾個步驟:(a)若文件沒有打開,需首先打開要編譯的VHDL文件;(b)將目前的文件設(shè)置成工程文件;點擊File選項,光標移到子菜單的Project項停留幾秒鐘,屏幕上會出現(xiàn)下一級菜單,點擊Set Project to Current File。將目前的文件設(shè)置成工程文件(c)打開編譯器;點擊主菜單MAX+plus/Compiler選項,屏幕上就出現(xiàn)編譯對話框。編譯器窗口(d)編譯開始前還應(yīng)確定源程序的版本。在編譯對話框打開情況下,點擊主菜單中的Interfaces/VHDL Netlist Reader Settings選項,就可在屏幕上顯示VHDL Netlist Reader Settings(網(wǎng)表閱讀器設(shè)置)對話框,有VHDL 1987或VHDL 1993版本可供我們選擇。點擊VHDL Version框中的VHDL 1993就可選擇相應(yīng)的版本。網(wǎng)表閱讀器設(shè)置源程序的版本設(shè)定(e)開始編譯;完成了上述編譯前的準備及必要的設(shè)置工作,點擊編譯對話框中的Start按鈕,編譯即開始。在編譯過程中如果編譯器發(fā)現(xiàn)源程序語法有錯就會自動彈出錯誤信息窗進行提示。這時需回到文本編輯器,修改VHDL程序中的錯誤,然后再繼續(xù)編譯直到全部正確為止。如果沒有錯誤,編譯結(jié)束后會出現(xiàn)MAX+plus-Compiler信息窗:編譯信息窗口(3) VHDL程序的功能仿真仿真是為了驗證我們所編寫的VHDL程序的功能是否正確。首先生成仿真波形文件(a)打開波形編輯器;點擊主菜單的MAX+plus/Waveform Editor選項,就可在屏幕上顯示波形編輯器窗口。在未輸入信號名以前,整個窗口是空白的。打開波形編輯器(b)確定仿真持續(xù)時間(File/End Time)。(c)選進輸入輸出端口名;點擊主菜單Node/Enter Node fron SNF即可打開腳位接點對話框。在對話框左下角Type下面的選項選擇Inputs和outputs,點擊對話框右上角的List選項,則在Available Nodes & Groups列表欄中列出了所有輸入輸出端口名d1、d2和op。點擊對話框中間的=按鈕,將輸入輸出端口名選進右側(cè)的Selected Nodes & Groups欄,然后點擊OK按鈕。則在波形編輯窗口顯示了輸入輸出端口名。選進輸入輸出端口名賦值0賦值1賦值X賦值Z賦值取反時鐘信號賦值總線順序賦值總線賦值放大縮小將某段拖黑為了設(shè)定此段波形為高電平,用鼠標拖黑,然后再按左側(cè)的賦1按鈕(d)編輯輸入信號波形;通過波形編輯器左側(cè)的信號設(shè)置工具欄可以進行輸入信號的波形編輯。對于輸出信號波形,其最終值由仿真結(jié)果確定,我們可以把它設(shè)置為缺省值,例如設(shè)置為不定值或高阻值。編輯輸入信號波形(d)信號波形編輯完成后,需存盤為仿真使用,文件名采取默認方式即可。打開仿真器;點擊主菜單MAX+plusSimulator項,此時彈出Simulator對話框。打開仿真器仿真器窗口點擊對話框的Start按鈕,仿真即開始。在仿真結(jié)束后打開仿真波形文件(點擊右下角的Open SCF按鈕)即可以顯示仿真結(jié)果。仿真結(jié)果例2 4選1數(shù)據(jù)選擇器的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux41 isPORT (a,b,c,d : INSTD_LOGIC; s : IN STD_LOGIC_VECTOR(1 DOWNTO 0); z : OUTSTD_LOGIC);END mux41;ARCHITECTURE one OF mux41 IS BEGIN PROCESS (s ,a,b,c,d) BEGIN CASE s IS WHEN 00 = z z z zz= x; END CASE; END PROCESS;END one;例3 同步復(fù)位D觸發(fā)器的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY d_ff isPORT (d,clk,reset : INSTD_LOGIC; q : OUTSTD_LOGIC);END d_ff;ARCHITECTURE one OF d_ff IS BEGIN PROCESS (clk) BEGIN IF clkEVENT AND clk=1 THEN IF reset=1 THEN Q=0; ELSE q=d; END IF; END IF; END PROCESS;END one;例4 十進制計數(shù)器的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count10 isPORT (cp : INSTD_LOGIC; q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );END count10;ARCHITECTURE one OF count10 ISSIGNAL count :STD_LOGIC_VECTOR(3 DOWNTO 0) ; BEGIN PROCESS (cp) BEGIN IF cpEVENT AND cp=1 THEN IF count =1001 THEN count =0000; ELSE count = count +1; END IF; END IF; END PROCESS; q= count;END one; 例5 4位基本寄存器的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY registerb isPORT (cp,reset : INSTD_LOGIC; data : IN STD_LOGIC_VECTOR(3 DOWNTO 0);q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );END registerb;ARCHITECTURE one OF registerb IS BEGIN PROCESS (cp) BEGIN IF cpEVENT AND cp=1 THEN IF reset=1 THEN q=0000; ELSE q= data; END IF; END IF; END PROCESS;END one;例6 半加器的VHDL描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY half ISPORT (a, b: IN std_LOGIC; s,co: OUT std_LOGIC);END half;ARCHITECTURE half1 OF half ISsignal c,d :std_logic;BEGIN c=a or b; d=a nand b; co=not d; s=c and d;end half1;半加器(英語:half adder)電路是指對兩個輸入數(shù)據(jù)位相加,輸出一個結(jié)果位和進位,沒有進位輸入的加法器電路。 是實現(xiàn)兩個一位二進制數(shù)的加法運算電路。例5 4位基本寄存器的VHDL描述寄存器在數(shù)字電路中,是用來存放二進制數(shù)據(jù)或代碼的電路。寄存器是由具有存儲功能的觸發(fā)器組合起來構(gòu)成的。一個觸發(fā)器可以存儲一位二進制代碼,存放N位二進制代碼的寄存器,需要用N個觸發(fā)器來構(gòu)成。整個電路由四個模塊組成,其中包括時鐘脈沖、工作控制電路、寄存電路、和輸出及傳輸四個部份。時鐘脈沖是CP,CP是整個電路的控制時鐘;當reset為低電平時,在時鐘CP上升沿時的作用下,并行數(shù)據(jù)data被送入相應(yīng)的輸出端q.例3 同步復(fù)位D觸發(fā)器的VHDL描述邊沿D觸發(fā)器歸納為以下幾點:1.邊沿D觸發(fā)器具有接收并記憶信號的功能,又稱為鎖存器;2.邊沿D觸發(fā)器屬于脈沖觸發(fā)方式; 3.邊沿D觸發(fā)器不存在約束條件和一次變化現(xiàn)象,抗干擾性能好,工作速度快。LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY d_ff isPORT (d,clk,reset : INSTD_LOGIC; q : OUTSTD_LOGIC);END d_ff;ARCHITECTURE one OF d_ff IS BEGIN PROCESS (clk) BEGIN IF clkEVENT AND clk=1 THEN IF reset=1 THEN Q=0; ELSE q=d; END IF; END IF; END PROCESS;END one;例7 八進制同步計數(shù)器引腳定義: reset 復(fù)位 en 計數(shù)控制 clk 時鐘 qa,qb,qc,qd 計數(shù)器輸出 LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count8 isport(clk,reset,en: in std_logic; qa,qb,qc,qd: out std_logic);end count8;architecture behave of count8 issignal count_4: std_logic_vector(3 downto 0);begin qa=count_4(0);

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論