專用集成電路實(shí)驗(yàn)報告_第1頁
專用集成電路實(shí)驗(yàn)報告_第2頁
專用集成電路實(shí)驗(yàn)報告_第3頁
專用集成電路實(shí)驗(yàn)報告_第4頁
專用集成電路實(shí)驗(yàn)報告_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)驗(yàn)一 EDA軟件實(shí)驗(yàn)實(shí)驗(yàn)性質(zhì):驗(yàn)證性 實(shí)驗(yàn)級別:必做開課單位:信息與通信工程學(xué)院通信工程系 學(xué)時:4學(xué)時一、實(shí)驗(yàn)?zāi)康模?、了解Xilinx ISE 6.2軟件的功能。2、掌握Xilinx ISE 6.2的VHDL輸入方法。3、掌握Xilinx ISE 6.2的原理圖文件輸入和元件庫的調(diào)用方法。4、掌握Xilinx ISE 6.2軟件元件的生成方法和調(diào)用方法。5、掌握Xilinx ISE 6.2編譯、功能仿真和時序仿真。 6、掌握Xilinx ISE 6.2原理圖設(shè)計、管腳分配、綜合與實(shí)現(xiàn)、數(shù)據(jù)流下載方法。7、了解所編電路器件資源的消耗情況。二、實(shí)驗(yàn)器材:計算機(jī)、Quartus II軟件或Xi

2、linx ISE三、實(shí)驗(yàn)內(nèi)容:本實(shí)驗(yàn)以三線八線譯碼器(LS74138)為例,在Xilinx ISE 6.2軟件平臺上完成設(shè)計電路的VHDL文本輸入、語法檢查、編譯、仿真、管腳分配和編程下載等操作。下載芯片選擇Xilinx公司的CoolRunner II系列XC2C256-7PQ208作為目標(biāo)仿真芯片。四、實(shí)驗(yàn)步驟:4.1 Xilinx ISE 6.2環(huán)境1、三線八線譯碼器(LS74138)VHDL電路設(shè)計(1)、三線八線譯碼器(LS74138)的VHDL源程序的輸入打開Xilinx ISE 6.2編程環(huán)境軟件Project Navigator,執(zhí)行“file”菜單中的【New Project】

3、命令,為三線八線譯碼器(74LS138)建立設(shè)計項(xiàng)目。項(xiàng)目名稱【Project Name】為 “Shiyan”,工程建立路徑為“C:XilinxbinShiyan”,其中“頂層模塊類型(Top-Level Module Type)”為硬件描述語言(HDL),如圖1所示。圖1點(diǎn)擊【Next】,彈出【Select the Device and Design Flow for the Project】對話框,在該對話框內(nèi)進(jìn)行硬件芯片選擇與工程設(shè)計工具配置過程。各標(biāo)簽具體含義如下:l 【Device Family】:定義所選芯片器件族l 【Device】:定義器件名l 【Package】:定義器件封裝

4、形式l 【Speed Grade】:定義芯片工作速度等級l 【Top-Level Module Type】:定義頂層模塊類型l 【Synthesis Tool】:定義綜合工具l 【Simulator】:定義仿真測試工具l 【Generated Simulation Language】:定義硬件描述語言針對本試驗(yàn)所用開發(fā)板我們選擇 “CoolRunner XPLA3 CPLDs”系列的 “XCR3256XL-7PQ208”器件作為目標(biāo)芯片進(jìn)行仿真,如圖2所示。圖2完成具體選擇后點(diǎn)擊【Next】彈出對話框,在該對話框內(nèi)創(chuàng)建文件資源。打開【New Source】標(biāo)簽,彈出如圖3所示對話框,在左側(cè)方框

5、中包含了用戶可以創(chuàng)建的文件類型,包括以下內(nèi)容:l 【Schematic】:原理圖類型文件l 【State Diagram】:狀態(tài)圖類型文件l 【Test Bench Waveform】:波形類型測試文件l 【User Document】:用戶類型文件l 【Verilog Module】:Verilog類型文件l 【Verilog Test Fixture】:Verilog語言描述類型測試文件l 【VHDL Library】:VHDL庫文件l 【VHDL Module】:VHDL類型模塊文件l 【VHDL Package】:VHDL類型文件封裝庫l 【VHDL Test Bench】:VHDL語

6、言描述類型測試文件圖3在【File】標(biāo)簽下對話框內(nèi)寫入用戶自定義的文件名稱,標(biāo)簽【Locatior】下顯示了新定義文件的創(chuàng)建路徑,選中標(biāo)簽【Add to projet】前的對號標(biāo)記,將新創(chuàng)建的文ls74138添加到工程 “Shiyan”中。點(diǎn)擊【Next】,彈出如圖4所示對話框,在此對話框中輸入三線八線譯碼器(74LS138)的的端口信息。圖4點(diǎn)擊【Next】彈出【New Source Information】對話框,在該對話框內(nèi)顯示了新建文件的屬性及信息,如圖5所示。圖5點(diǎn)擊【Finish】返回資源創(chuàng)建對話框,其中顯示了新建文件“LS74138.vhdl”,如圖6。圖6點(diǎn)擊【Next】彈出工

7、程信息對話框【New Project Information】,該對話框給出了所設(shè)計的工程信息,如圖7所示。 圖7點(diǎn)擊【Finish】標(biāo)簽結(jié)束新建工程過程。進(jìn)入Xilinx ISE文本編輯方式,在文本框中編輯輸入8位加法器的VHDL源程序,如下圖8所示:圖8library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following lines to use the declarations that are- pro

8、vided for instantiating Xilinx primitive components.-library UNISIM;-use UNISIM.VComponents.all;entity ls74138 is Port ( G1 : in std_logic; G2 : in std_logic; INP : in std_logic_vector(2 downto 0); Y : out std_logic_vector(7 downto 0);end ls74138;architecture Behavioral of ls74138 isbeginprocess(G1,

9、G2,INP)begin if(G1 and G2)=1) then case inp is when 000=YYYYYYYYY=; end case; else Y G1,G2 = G2,INP = INP,Y = Y );- * Test Bench - User Defined Section *u1:PROCESS BEGIN G1=0; wait for 10 us; G1=1; wait for 90 us; G1=0; wait; END PROCESS u1;u2:PROCESS BEGIN G2=0; wait for 10 us; G2=1; wait for 90 us

10、; G2=0; wait; END PROCESS u2;u3:PROCESS BEGIN INP=000; wait for 20 us; INP=001; wait for 10 us; INP=010; wait for 10 us; INP=011; wait for 10 us; INP=100; wait for 10 us; INP=101; wait for 10 us; INP=110; wait for 10 us; INP【Run】-【Restart】,將仿真時間點(diǎn)置零。在【transcript】窗口中輸入仿真時間。在波形【W(wǎng)ave】窗口內(nèi)使用按鈕實(shí)現(xiàn)仿真圖的“放大”“縮

11、小”“全局”功能。圖11即為電路仿真結(jié)果,由圖中時序及邏輯關(guān)系可知該三線八線譯碼器行為仿真正常。圖11實(shí)驗(yàn)二 組合邏輯電路的VHDL語言實(shí)現(xiàn)實(shí)驗(yàn)性質(zhì):驗(yàn)證性 實(shí)驗(yàn)級別:必做開課單位:信息與通信工程學(xué)院通信工程系 學(xué)時:2學(xué)時一、實(shí)驗(yàn)?zāi)康模?、掌握VHDL語言設(shè)計基本單元及其構(gòu)成2、掌握用VHDL語言設(shè)計基本的組合邏輯電路的方法。3、掌握VHDL語言的主要描述語句。二、實(shí)驗(yàn)器材:計算機(jī)、Quartus II軟件或Xilinx ISE三、實(shí)驗(yàn)內(nèi)容:1、本實(shí)驗(yàn)以1位全加器為例,在Xilinx ISE軟件平臺上完成設(shè)計電路的VHDL文本輸入,編輯,編譯,仿真。芯片選擇Xilinx公司的CoolRunn

12、er XPLA3 CPLDs系列XCR3256XL-7PQ208作為目標(biāo)仿真芯片。2、用實(shí)驗(yàn)內(nèi)容1所設(shè)計的全加器的VHDL文件生成一個adder的元件,在Xilinx ISE軟件原理圖設(shè)計平臺上完成adder元件的調(diào)用。四、實(shí)驗(yàn)步驟:(一)、全加器是帶進(jìn)位位信號的加法器,起邏輯表達(dá)式為: 。它的真值表如表1所示,其中和為加數(shù)與被加數(shù),是輸入的進(jìn)位位信號,而是和數(shù),是輸出進(jìn)位位信號。表1 輸入輸出0000000110010100110110010101011100111111一)1位加法器的VHDL源程序參考如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;

13、use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following lines to use the declarations that are- provided for instantiating Xilinx primitive components.-library UNISIM;-use UNISIM.VComponents.all;entity adder is Port ( a : in std_logic; b : in std_logic; cin : in std_lo

14、gic; sum : out std_logic; cout : out std_logic);end adder;architecture Behavioral of adder isbegin sum = (a xor b) xor cin; cout a,b = b,cin = cin,sum = sum,cout = cout); u1: PROCESS BEGIN a=0; wait for 10 us; a=1; wait for 20 us; a=0; wait for 10 us; a=1; wait for 10 us; a=0; wait for 20 us; a=1; w

15、ait for 10 us; a=0; wait for 10 us; a=1; wait; END PROCESS u1; u2:processbegin b=1;wait for 10 us;b=0;wait for 10 us;b=1;wait for 10 us;b=0;wait for 10 us;b=1;wait for 20 us;b=0;wait for 10 us;b=1;wait for 10 us;b=0;wait for 20 us;b=1;wait; END PROCESS u2; u3: process begin cin=0; wait for 40 us;cin

16、=1;wait for 20 us;cin=0; wait;end process u3;END behavior;二)用實(shí)驗(yàn)內(nèi)容1所設(shè)計的全加器的VHDL文件生成一個adder的元件,在Xilinx ISE軟件原理圖設(shè)計平臺上完成adder元件的調(diào)用,在processer for Source:”adder”窗口點(diǎn)擊Create Schematic Symbol,生成adder的元件,在Sources in Project 窗口新建Schematic 文件 命名adder8 ,在Xilinx ECS平臺上點(diǎn)Symbols,仿真結(jié)果如下圖:(二)、用VHDL語言實(shí)現(xiàn)優(yōu)先編碼器的設(shè)計并實(shí)現(xiàn)功能仿

17、真優(yōu)先計編碼器常用于中斷的優(yōu)先級控制,以8輸入,3位二進(jìn)制輸出的優(yōu)先級編碼器為例,當(dāng)其中一個輸入有效時,就可以輸出一個對應(yīng)得3位二進(jìn)制編碼。另外,當(dāng)同時有幾個輸入有效時,將輸出優(yōu)先級最高的那個輸入所對應(yīng)得二進(jìn)制編碼。其真值表如下所示:表2 優(yōu)先編碼器真值表輸入二進(jìn)制編碼輸出Input7Input6Input5Input4Input3Input2Input1Input0Y2Y1Y0xxxxxxx0111xxxxxx01110xxxxx011101xxxx0111100xxx01111011xx011111010x0111111001x1111111000用VHDL語言實(shí)現(xiàn)優(yōu)先編碼器的設(shè)計并實(shí)現(xiàn)功

18、能仿真驗(yàn)證其功能。參考程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY priorityencoder IS PORT (input:IN STD_LOGIC_VECTOR (7 DOWNTO 0); y:OUT STD_LOGIC_VECTOR (2 DOWNTO 0);END priorityencoder;ARCHITECTURE rt1 OF priorityencoder ISBEGIN PROCESS (input) BEGIN IF(input(0)=0) THEN y=111; ELSIF(input(1)=0) THEN

19、 y=110; ELSIF(input(2)=0) THEN y=101; ELSIF(input(3)=0) THEN y=100; ELSIF(input(4)=0) THEN y=011; ELSIF(input(5)=0) THEN y=010; ELSIF(input(6)=0) THEN y=001; ELSE y input,y = y);- * Test Bench - User Defined Section * tb : PROCESS BEGIN input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10

20、us;input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10 us; END PROCESS tb;- * End Test Bench - User Defined Section *END behavior;仿真圖如下:(三)、用VHDL語言實(shí)現(xiàn)四選一選擇器的設(shè)

21、計并實(shí)現(xiàn)功能仿真。選擇器常用于信號的切換,四選一選擇器可以用于4路信號的切換。其真值表如下所示: 表3 四選一真值表選擇輸入數(shù)據(jù)輸入數(shù)據(jù)輸出baInput0Input1Input2Input3y000xxx0001xxx101x0xx001x1xx110xx0x010xx1x111xxx0011xxx11用VHDL語言實(shí)現(xiàn)四選一選擇器的設(shè)計并實(shí)現(xiàn)功能仿真。參考程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 IS PORT (input:IN STD_LOGIC_VECTOR (3 DOWNTO 0); a,b:IN STD_L

22、OGIC; y:OUT STD_LOGIC);END mux4;ARCHITECTURE rt1 OF mux4 ISSIGNAL se1:STD_LOGIC_VECTOR (1 DOWNTO 0);BEGIN se1=b&a; PROCESS (input,se1) BEGIN IF(se1=00)THEN y=input(0); ELSIF(se1=01)THEN y=input(1); ELSIF(se1=10)THEN y=input(2); ELSE y input,a = a,b = b,y = y);- * Test Bench - User Defined Section *u

23、1: PROCESS BEGIN a=0;wait for 30 us;a=1;wait for 30 us;a=0;wait for 10 us;a=1;wait; END PROCESS u1;u2: process begin b=0; wait for 20 us; b=1; wait for 40 us; b=0; wait for 10 us; b=1; wait for 10 us; b=0; wait; end process u2;u3: process begin input=1101; wait for 20 us; input=1010; wait for 20 us;

24、 input=0111; wait for 40 us; input=0001; wait ; end process u3; - * End Test Bench - User Defined Section *END behavior;仿真結(jié)果如下圖:五、實(shí)驗(yàn)心得 本次實(shí)驗(yàn)初步了解Xilinx ISE系統(tǒng),對其命令的操作方式進(jìn)行了初步的了解。實(shí)驗(yàn)三 時序邏輯電路的VHDL語言實(shí)驗(yàn)實(shí)驗(yàn)性質(zhì):驗(yàn)證性 實(shí)驗(yàn)級別:必做開課單位:信息與通信工程學(xué)院通信工程系 學(xué)時:2學(xué)時一、實(shí)驗(yàn)?zāi)康模?、掌握用VHDL語言設(shè)計基本的時序邏輯電路及仿真。 2、掌握VHDL順序語句和并行語句的異同3、掌握觸發(fā)器同步復(fù)位

25、和異步復(fù)位的實(shí)現(xiàn)方式。4、掌握軟件時鐘的加入方法。5、掌握信號和變量的主要區(qū)別。二、實(shí)驗(yàn)器材:計算機(jī)、Quartus II軟件或Xilinx ISE三、實(shí)驗(yàn)內(nèi)容:1、設(shè)計帶使能的遞增計數(shù)器2、在步驟1的基礎(chǔ)上設(shè)計一帶使能的同步(異步)復(fù)位的遞增(遞減)計數(shù)器3、在步驟1的基礎(chǔ)上設(shè)計同步(異步)清零的同步(異步)復(fù)位的遞增(遞減)計數(shù)器四、實(shí)驗(yàn)步驟:1、設(shè)計帶使能的遞增計數(shù)器。2、在步驟1的基礎(chǔ)上設(shè)計一帶使能的同步復(fù)位的遞增計數(shù)器并實(shí)現(xiàn)時序仿真。3、在步驟1的基礎(chǔ)上用信號設(shè)計一帶使能的同步復(fù)位的遞增計數(shù)器并實(shí)現(xiàn)時序仿真。4、用變量設(shè)計一帶使能的同步復(fù)位的可增可減計數(shù)器并實(shí)現(xiàn)時序仿真,比較信號和變

26、量的不同。5、在步驟1的基礎(chǔ)上設(shè)計異步清零的異步清零的遞增(遞減)計數(shù)器,和步驟二中同步設(shè)計比較,清零信號和時鐘信號位置不同時仿真結(jié)果有何不同,同時理解VHDL語言順序語句和并行語句的區(qū)別。6、測試向量設(shè)計library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ycounter is port(clk,clear,ld,enable:in std_logic; d:in std_logic_vector(7 downto 0); qk:out std_logic_vector(7 downt

27、o 0);end ycounter;architecture a_ycounter of ycounter isbegin PROCESS (clk) VARIABLE cnt :std_logic_vector(7 downto 0); BEGIN IF (clkEVENT AND clk = 1) THEN IF(clear = 0) THEN cnt := ; ELSE IF(ld = 0) THEN cnt := d; ELSE IF(enable = 1) THEN cnt := cnt + ; END IF; END IF; END IF; END IF; qk clk,clear

28、 = clear,ld = ld,enable = enable,d = d,qk = qk);- * Test Bench - User Defined Section *u1 : PROCESS BEGIN clk=0;wait for clk_cycle/2;clk=1;wait for clk_cycle/2;clk=0;wait for clk_cycle/2;clk=1;wait for clk_cycle/2;clk=0;wait for clk_cycle/2;clk=1;wait for clk_cycle/2;clk=0;wait for clk_cycle/2;clk=1

29、;wait for clk_cycle/2;clk=0;wait for clk_cycle/2;clk=1;wait for clk_cycle/2;clk=0;wait for clk_cycle/2;clk=1;wait for clk_cycle/2;clk=0;wait for clk_cycle/2;clk=1;wait for clk_cycle/2;clk=0;wait for clk_cycle/2;clk=1;wait ; END PROCESS u1;u2: process begin clear=0; wait for clk_cycle; clear=1; wait;

30、 end process;u3: process begin ld=1; wait for clk_cycle*6; ld=0; wait ; end process u3;u4: process begin enable=1; wait ; end process u4;u5: process begin d=; wait; end process u5; - * End Test Bench - User Defined Section *END behavior;仿真圖圖下:實(shí)驗(yàn)四 VHDL層次化設(shè)計方法實(shí)驗(yàn)實(shí)驗(yàn)性質(zhì):驗(yàn)證性 實(shí)驗(yàn)級別:必做開課單位:信息與通信工程學(xué)院通信工程系 學(xué)時:2

31、學(xué)時一、實(shí)驗(yàn)?zāi)康模?、掌握用VHDL語言層次化設(shè)計的基本方法。 2、掌握GENERATE語句的用法。二、實(shí)驗(yàn)器材:計算機(jī)、Quartus II軟件或xilinx ISE三、實(shí)驗(yàn)內(nèi)容:設(shè)計一8位異步計數(shù)器,它的上一位計數(shù)器的輸出作為下一位計數(shù)器的時鐘信號,一級一級串行連接構(gòu)成一個異步計數(shù)器。各個D觸發(fā)器模塊采用VHDL語言編寫,分別用原理圖和VHDL語言元件例化語句的方法實(shí)現(xiàn)8位異步計數(shù)器的設(shè)計。四、實(shí)驗(yàn)步驟:(一)、在原理圖中調(diào)用VHDL生成的D觸發(fā)器模塊實(shí)現(xiàn)8位異步計數(shù)器的設(shè)計 1、在xilinx ISE環(huán)境中新建vhdl文本編輯文件,設(shè)計帶清零端的D觸發(fā)器并編譯仿真。 2、將步驟1所設(shè)計的D觸發(fā)器生成一個元件。(二)、用VHDL的COMPONENT語句調(diào)用VHDL生成的D觸發(fā)器模塊實(shí)現(xiàn)8位異步計數(shù)器設(shè)計。 1、在xilinx ISE環(huán)境中新建vhdl文本編輯文件,設(shè)計帶清零端的D觸發(fā)器并編譯仿真。2、在同一個程序中用COMPONENT語句實(shí)現(xiàn)8位異步計數(shù)器的設(shè)計。library IEE

溫馨提示

  • 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

提交評論