專(zhuān)用集成電路試驗(yàn)指導(dǎo)書(shū)gai_第1頁(yè)
專(zhuān)用集成電路試驗(yàn)指導(dǎo)書(shū)gai_第2頁(yè)
專(zhuān)用集成電路試驗(yàn)指導(dǎo)書(shū)gai_第3頁(yè)
專(zhuān)用集成電路試驗(yàn)指導(dǎo)書(shū)gai_第4頁(yè)
專(zhuān)用集成電路試驗(yàn)指導(dǎo)書(shū)gai_第5頁(yè)
已閱讀5頁(yè),還剩41頁(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)介

1、實(shí)驗(yàn)一開(kāi)發(fā)平臺(tái)軟件安裝與認(rèn)知實(shí)驗(yàn)實(shí)驗(yàn)性質(zhì) :驗(yàn)證性實(shí)驗(yàn)級(jí)別: 必做開(kāi)課單位: 信息與通信工程學(xué)院通信工程系學(xué)時(shí): 2 學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康模?、了解 Xilinx ISE 9.2/Quartus II軟件的功能。2、掌握 Xilinx ISE 9.2/Quartus II的 VHDL輸入方法。3、掌握 Xilinx ISE 9.2/Quartus II的原理圖文件輸入和元件庫(kù)的調(diào)用方法。4、掌握 Xilinx ISE 9.2/Quartus II軟件元件的生成方法和調(diào)用方法。5、掌握 Xilinx ISE 9.2/Quartus II編譯、功能仿真和時(shí)序仿真。6、掌握 Xilinx ISE 9.2

2、/Quartus II原理圖設(shè)計(jì)、管腳分配、綜合與實(shí)現(xiàn)、數(shù)據(jù)流下載方法。7、了解所編電路器件資源的消耗情況。二、實(shí)驗(yàn)器材:計(jì)算機(jī)、 Quartus II軟件或 xilinx ISE三、實(shí)驗(yàn)內(nèi)容:1、 本實(shí)驗(yàn)以三線(xiàn)八線(xiàn)譯碼器 (LS74138)為例, 在 XilinxISE 9.2 軟件平臺(tái)上完成設(shè)計(jì)電路的VHDL文本輸入、語(yǔ)法檢查、編譯、仿真、管腳分配和編程下載等操作。下載芯片選擇Xilinx公司的CoolRunner II系列 XC2C256-7PQ208作為目標(biāo)仿真芯片。2、 用 1 中所設(shè)計(jì)的的三線(xiàn)八線(xiàn)譯碼器(LS74138)生成一個(gè) LS74138 元件,在 Xilinx ISE 9.

3、2軟件原理圖設(shè)計(jì)平臺(tái)上完成LS74138 元件的調(diào)用,用原理圖的方法設(shè)計(jì)三線(xiàn)八線(xiàn)譯碼器( LS74138),實(shí)現(xiàn)編譯,仿真,管腳分配和編程下載等操作。四、實(shí)驗(yàn)步驟:1、三線(xiàn)八線(xiàn)譯碼器(LS74138) VHDL電路設(shè)計(jì)( 1)、三線(xiàn)八線(xiàn)譯碼器(LS74138 )的 VHDL 源程序的輸入打開(kāi) XilinxISE 9.2 編程環(huán)境軟件ProjectNavigator,執(zhí)行“ file”菜單中的【 NewProject】命令,為三線(xiàn)八線(xiàn)譯碼器(LS74138 )建立設(shè)計(jì)項(xiàng)目。項(xiàng)目名稱(chēng)【Project Name 】為“ Shiyan ” ,工程建立路徑為“C:XilinxbinShiyan”,其中“

4、頂層模塊類(lèi)型(Top-LevelModule Type)”為硬件描述語(yǔ)言(HDL),如圖 1 所示。1圖 1點(diǎn)擊【下一步】,彈出【 Select the Device and Design Flow for the Project 】對(duì)話(huà)框,在該對(duì)話(huà)框內(nèi)進(jìn)行硬件芯片選擇與工程設(shè)計(jì)工具配置過(guò)程。各標(biāo)簽具體含義如下:【 Device Family 】:定義所選芯片器件族【 Device 】 : 定義器件名【 Package 】 : 定義器件封裝形式【 Speed Grade 】: 定義芯片工作速度等級(jí)【 Top-Level Module Type】:定義頂層模塊類(lèi)型【 Synthesis Tool

5、】:定義綜合工具【 Simulator 】 : 定義仿真測(cè)試工具【 Generated Simulation Language】 : 定義硬件描述語(yǔ)言針對(duì)本試驗(yàn)所用開(kāi)發(fā)板我們選擇“ CoolRunner2 CPLDs ”系列的“XC2C256-7PQ208”器件作為目標(biāo)芯片進(jìn)行仿真,如圖2 所示。圖 2圖 2 的選項(xiàng)卡中 “ simulator”選項(xiàng),如果選擇 xilinx自帶的仿真器, 則選擇“ ISE simulator”,如果選擇第三方仿真軟件,則如圖所示。完成具體選擇后點(diǎn)擊【下一步】彈出如圖3 所示對(duì)話(huà)框,2在該對(duì)話(huà)框內(nèi)創(chuàng)建文件資源。圖 3打開(kāi)【 New Source 】標(biāo)簽,彈出如圖

6、 4 所示對(duì)話(huà)框,在左側(cè)方框中包含了用戶(hù)可以創(chuàng)建的文件類(lèi)型,包括以下內(nèi)容:【 Schematic 】 : 原理圖類(lèi)型文件【 State Diagram 】:狀態(tài)圖類(lèi)型文件【 Test Bench Waveform 】:波形類(lèi)型測(cè)試文件【 User Document 】:用戶(hù)類(lèi)型文件【 Verilog Module 】: Verilog 類(lèi)型文件【 Verilog Test Fixture】: Verilog語(yǔ)言描述類(lèi)型測(cè)試文件【 VHDL Library 】: VHDL庫(kù)文件【 VHDL Module】: VHDL類(lèi)型模塊文件【 VHDL Package】: VHDL類(lèi)型文件封裝庫(kù)【 VHDL

7、 Test Bench 】: VHDL語(yǔ)言描述類(lèi)型測(cè)試文件圖 4在【 File 】標(biāo)簽下對(duì)話(huà)框內(nèi)寫(xiě)入用戶(hù)自定義的文件名稱(chēng),標(biāo)簽【Locatior】下顯示了新定義文件的創(chuàng)建路徑,選中標(biāo)簽【Add to proje】前的對(duì)號(hào)標(biāo)記,將新創(chuàng)建的文件74ls138添加到工程“ Shiyan ”中。點(diǎn)擊【下一步】,彈出如圖5 所示對(duì)話(huà)框, 在此對(duì)話(huà)框中輸入三線(xiàn)八線(xiàn)譯碼器( LS 74138)的的端口信息。3圖 5點(diǎn)擊【下一步】彈出【New Source Information】對(duì)話(huà)框,在該對(duì)話(huà)框內(nèi)顯示了新建文件的屬性及信息,如圖6 所示。圖 6點(diǎn)擊【完成】返回資源創(chuàng)建對(duì)話(huà)框,4圖 7點(diǎn)擊【完成】標(biāo)簽結(jié)束新

8、建工程過(guò)程。進(jìn)入Xilinx ISE文本編輯方式,在文本框中編輯輸入3線(xiàn) 8 線(xiàn)譯碼器的VHDL源程序,如圖7 所示:library 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- provided for instantiating Xilinx primitive components.-library UNISIM;-u

9、se UNISIM.VComponents.all;entity ls74138 isPort ( 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,g2,inp)beginif(g1 and g2)='1') then5case inp iswhen "000"

10、;=>y<="00000001"when "001"=>y<="00000010"when "010"=>y<="00000100"when "011"=>y<="00001000"when "100"=>y<="00010000"when "101"=>y<="00100000"when "11

11、0"=>y<="01000000"when "111"=>y<="10000000"when others=>y<="00000000"end case;elsey<="00000000"end if;end process;end Behavioral;在 VHDL源程序中, G1 和 G2 為兩個(gè)使能控制信號(hào),INP 為命令碼輸入信號(hào),Y 為 8 位譯碼輸出信號(hào)。(2)、設(shè)計(jì)文件存盤(pán)與語(yǔ)法檢查圖8圖9完成程序代碼輸入后單擊高亮“l(fā)s7413

12、8-behavioral(LS74138.vhdl )”標(biāo)簽(圖8),此時(shí)工具窗口將顯示“ Process for Source(ls74138-behavioral)”。用鼠標(biāo)右鍵點(diǎn)擊Process窗口中【 Check Syntax 】標(biāo)簽,點(diǎn)擊運(yùn)行選項(xiàng),進(jìn)行程序語(yǔ)法檢查,當(dāng)顯示一綠色對(duì)號(hào)標(biāo)志時(shí)即表示程序中不存在語(yǔ)法問(wèn)題,如圖 9 所示?;螂p擊【 Synthesize-XST 】, 當(dāng)顯示一綠色對(duì)號(hào)標(biāo)志時(shí)即表示程序綜合成功。如圖 10 所示6圖 10( 3)、仿真文件設(shè)計(jì)為了驗(yàn)證所設(shè)計(jì)電路功能,需要輸入測(cè)試文件對(duì)電路程序功能進(jìn)行測(cè)試。在【Process 】菜單中選擇【 New Source

13、】選項(xiàng),即可彈出如圖5 所示對(duì)話(huà)框,選擇【VHDL Test Bench 】添加測(cè)試向量文件,并將文件添加到 LS74138 模塊中,如圖11 所示圖 117運(yùn)行行為仿真選項(xiàng)卡【Behavioral Simulation】,如圖 12 所示,在測(cè)試向量文件中填寫(xiě)代碼,完成后保存,Xilinx ISE自動(dòng)調(diào)用ModelSim SE 6.1c仿真平臺(tái)作為仿真工具。運(yùn)行ModelSim SE6.1c ,。在【transcript】窗口中輸入仿真時(shí)間。在波形【 Wave】窗口內(nèi)使用按鈕實(shí)現(xiàn)仿真圖的“放大”“縮小”“全局”功能。圖13 即為電路仿真結(jié)果,由圖中時(shí)序及邏輯關(guān)系可知該三線(xiàn)八線(xiàn)譯碼器行為仿真正

14、常。圖 128圖 13測(cè)試向量參考程序如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.numeric_std.ALL;ENTITY ls74138_tb_74138_vhd_tb ISEND ls74138_tb_74138_vhd_tb;ARCHITECTURE behavior OF ls74138_tb_74138_vhd_tb ISCOMPONENT ls74138PORT(G1 : IN std_logic;G2 : IN std_logic;INP : IN std_logic_vector( 2 downto 0);Y :

15、 OUT std_logic_vector(7 downto 0);END COMPONENT;SIGNAL G1 : std_logic;SIGNAL G2 : std_logic;SIGNAL INP : std_logic_vector( 2 downto 0);SIGNAL Y : std_logic_vector(7 downto 0);BEGINuut: ls74138 PORT MAP(9G1 => G1,G2 => G2,INP => INP,Y=>Y);- * Test Bench - User Defined Section *u1:PROCESSB

16、EGING1<='0'wait for 10 us;G1<='1'wait for 90 us;G1<='0'wait;END PROCESS u1;u2:PROCESSBEGING2<='0'wait for 10 us;G2<='1'wait for 90 us;G2<='0'wait;END PROCESS u2;u3:PROCESSBEGININP<="000"wait for 20 us;INP<="001&qu

17、ot;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<="111"wait;end PROCESS u3;10- * End Test Bench - User Defined Section *END

18、behavior ;(4)芯片管腳定義如前所述添加用戶(hù)定義限制文件,如圖 14 所示,運(yùn)行【 Assign Package Pins 】選項(xiàng)卡, Xilinx ISE 將彈出管腳分配窗口,在如圖 15,輸入各個(gè)端口管腳位置并保存,完成芯片管腳定義。圖 14圖 15( 5)編譯與綜合11圖16圖17運(yùn)行【 Process for Source】中的【 Implement Design】(圖 16), ISE 將自動(dòng)完成編譯并調(diào)用內(nèi)嵌的綜合工具XST完成綜合過(guò)程,運(yùn)行結(jié)果如圖17 所示。編譯通過(guò)后即自動(dòng)生成了電路燒錄下載文件(*.jed)以及資源消耗報(bào)告,通過(guò)該報(bào)告即可了解所設(shè)計(jì)電路的資源消耗情況

19、。即設(shè)計(jì)中使用了幾個(gè)宏單元(Macrocells ),幾個(gè)乘積項(xiàng) (Pterms),幾個(gè)寄存器單元 (Registers) ,幾個(gè)用戶(hù)引腳(Pins)及幾個(gè)功能輸入塊(Function Block) 。(6)編程下載本試驗(yàn)用并行電纜將開(kāi)發(fā)實(shí)驗(yàn)平臺(tái)與計(jì)算機(jī)接在一起。確認(rèn)下載電纜連接無(wú)誤后執(zhí)行Xilinx ISE的【iMPACT 】命令,將三線(xiàn)八線(xiàn)譯碼器( LS74138 )設(shè)計(jì)文件下載到目標(biāo)芯片XC2C256-7PQ208 中,硬件驗(yàn)證所設(shè)計(jì)電路功能。2、元件的生成、調(diào)用和仿真如圖 19 所示,選擇“create schematic symbol”雙擊,將新建立的實(shí)體ls74138生成元件,放在

20、庫(kù)中;新建原理圖文件,命名為“ Sch_LS74138”并添加到工程“Shiyan ”中,如圖20。點(diǎn)擊【下一步】完成原理圖文件的創(chuàng)建。在彈出的原理圖編輯框內(nèi)選擇【Symbols】標(biāo)簽,在其目錄列表內(nèi)顯示了所有可用電路器件,其中包括了我們所設(shè)計(jì)的LS74138(圖 21)。12圖19圖20圖 21雙擊“ ls74138 ”將其放置到原理圖編輯區(qū)內(nèi)。點(diǎn)擊為器件添加外圍端口,如圖22 所示。13圖 22將原理圖文件保存后返回【Xilinx Project Navigator】平臺(tái),此時(shí)已經(jīng)將程序所設(shè)計(jì)的器件“ LS74138”配置給了原理圖文件“sch_ls74138 ”,其余電路仿真、管腳配置、

21、編譯、綜合以及電路下載等過(guò)程與文本設(shè)計(jì)方式一致,在此不在重復(fù)說(shuō)明。五、預(yù)習(xí)與思考:思考:比較VHDL語(yǔ)言和原理圖的設(shè)計(jì)方法,這兩種設(shè)計(jì)各有哪些優(yōu)缺點(diǎn)。14實(shí)驗(yàn)二組合邏輯電路的VHDL語(yǔ)言實(shí)現(xiàn)實(shí)驗(yàn)性質(zhì):驗(yàn)證性實(shí)驗(yàn)級(jí)別:必做開(kāi)課單位:信息與通信工程學(xué)院通信工程系學(xué)時(shí): 2 學(xué)時(shí)一、實(shí)驗(yàn)?zāi)康模?、掌握 VHDL語(yǔ)言設(shè)計(jì)基本單元及其構(gòu)成2、掌握用VHDL語(yǔ)言設(shè)計(jì)基本的組合邏輯電路的方法。3、掌握 VHDL語(yǔ)言的主要描述語(yǔ)句。二、實(shí)驗(yàn)器材:計(jì)算機(jī)、 Quartus II軟件或 Xilinx ISE三、實(shí)驗(yàn)內(nèi)容:以下三個(gè)內(nèi)容選擇兩個(gè)完成(一)、用 VHDL語(yǔ)言實(shí)現(xiàn)八位加法器的設(shè)計(jì)并實(shí)現(xiàn)功能仿真。(二)、用

22、 VHDL語(yǔ)言實(shí)現(xiàn)優(yōu)先編碼器的設(shè)計(jì)并實(shí)現(xiàn)功能仿真(三)、用 VHDL語(yǔ)言實(shí)現(xiàn)四選一選擇器的設(shè)計(jì)并實(shí)現(xiàn)功能仿真。四、實(shí)驗(yàn)步驟:(一)、用 VHDL語(yǔ)言實(shí)現(xiàn)八位加法器的設(shè)計(jì)并實(shí)現(xiàn)功能仿真。1、完成 1 位全加器設(shè)計(jì),在Xilinx ISE軟件平臺(tái)上完成設(shè)計(jì)電路的VHDL 文本輸入,編輯,編譯,仿真,管腳分配和編程下載等操作。下載芯片選擇Xilinx 公司的 CoolRunner II 系列 XC2C256-7PQ208作為目標(biāo)仿真芯片。2、用實(shí)驗(yàn)內(nèi)容1 所設(shè)計(jì)的全加器的VHDL 文件生成一個(gè)adder 的元件,在Xilinx ISE軟件原理圖設(shè)計(jì)平臺(tái)上完成adder 元件的調(diào)用,用原理圖的方法設(shè)計(jì)

23、一個(gè)8 位二進(jìn)制加法器,實(shí)現(xiàn)編譯,仿真,管腳分配和編程下載等操作。原理:全加器是帶進(jìn)位信號(hào)的加法器,其邏輯表達(dá)式為:SumdataAdataBcarryin。它的真值表如表1 所示,其中dataA和 dataB 為加數(shù)與被加數(shù), carryin 是輸入的進(jìn)位位信號(hào),而 Sum是和數(shù), carryout 是輸出進(jìn)位位信號(hào)。參考真值表,實(shí)現(xiàn)八位全加器的功能。表 1輸入輸出carryindataAdataBSumcarryout000000011001010150110110010101011100111111一) 1 位加法器的VHDL源程序參考如下:library IEEE;use IEEE.S

24、TD_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- provided for instantiating Xilinx primitive components.-library UNISIM;-use UNISIM.VComponents.all;entity adder isPort ( a : in std_logic;b : in std_logic;

25、cin : in std_logic;sum : out std_logic;cout : out std_logic);end adder;architecture Behavioral of adder isbeginsum <= (a xor b) xor cin;cout <= (a and b) or (cin and a) or (cin and b);end Behavioral;測(cè)試向量參考程序如下:- VHDL Test Bench Created from source file adder.vhd - 21:00:50 03/18/2008- Notes:-

26、This testbench has been automatically generated using types std_logic and- std_logic_vector for the ports of the unit under test. Xilinx recommends- that these types always be used for the top-level I/O of a design in order- to guarantee that the testbench will bind correctly to the post-implementat

27、ion16- simulation model. LIBRARY ieee;USE ieee.std_logic_1164.ALL; USE ieee.numeric_std.ALL;ENTITY adder_adder_vhd_tb ISEND adder_adder_vhd_tb;ARCHITECTURE behavior OF adder_adder_vhd_tb ISCOMPONENT adderPORT(a : IN std_logic;b : IN std_logic;cin : IN std_logic;sum : OUT std_logic;cout : OUT std_log

28、ic);END COMPONENT;SIGNAL a : std_logic;SIGNAL b : std_logic;SIGNAL cin : std_logic;SIGNAL sum : std_logic;SIGNAL cout : std_logic;BEGINuut: adder PORT MAP(a => a,b => b,cin => cin,sum => sum,cout => cout);u1: PROCESS17BEGINa<='0'wait for 10 us;a<='1'wait for 20 u

29、s;a<='0'wait for 10 us;a<='1'wait for 10 us;a<='0'wait for 20 us;a<='1'wait for 10 us;a<='0'wait for 10 us;a<='1'wait;END PROCESS u1;u2:processbeginb<='1'wait for 10 us;b<='0'wait for 10 us;b<='1'wait

30、for 10 us;b<='0'wait for 10 us;b<='1'wait for 20 us;b<='0'18wait for 10 us;b<='1'wait for 10 us;b<='0'wait for 20 us;b<='1'wait;END PROCESS u2;u3: processbegincin<='0'wait for 40 us;cin<='1'wait for 20 us;cin<

31、='0'wait;end process u3;END behavior;仿真圖如下圖1 所示:圖 1管腳分配和編程下載如實(shí)驗(yàn)一,這里不再累述。二) 用實(shí)驗(yàn)內(nèi)容1 所設(shè)計(jì)的全加器的VHDL文件生成一個(gè)adder 的元件,在XilinxISE 軟件原理圖設(shè)計(jì)平臺(tái)上完成adder 元件的調(diào)用,用原理圖的方法設(shè)計(jì)一個(gè)8 位二進(jìn)制加法器:步驟一)在 processer for Source:”adder”窗口點(diǎn)擊 Create Schematic Symbol 如下圖 2 所示,生成 adder 的元件,在 Sources in Project 窗口新建 Schematic 文件 命名

32、 adder8 ,如下圖 3 所示,在 Xilinx ECS 平臺(tái)上點(diǎn) Symbols 如圖 4 所示,添加 8 個(gè) adder 到原理圖編輯區(qū)域 ,連接各元件并添加引腳,如圖 519圖2圖3圖 4圖 520仿真結(jié)果如下圖:21(二)、用 VHDL語(yǔ)言實(shí)現(xiàn)優(yōu)先編碼器的設(shè)計(jì)并實(shí)現(xiàn)功能仿真優(yōu)先計(jì)編碼器常用于中斷的優(yōu)先級(jí)控制,以8 位輸入, 3 位二進(jìn)制輸出的優(yōu)先級(jí)編碼器為例,當(dāng)其中一個(gè)輸入有效時(shí),就可以輸出一個(gè)對(duì)應(yīng)得3 位二進(jìn)制編碼。另外,當(dāng)同時(shí)有幾個(gè)輸入有效時(shí),將輸出優(yōu)先級(jí)最高的那個(gè)輸入所對(duì)應(yīng)得二進(jìn)制編碼。其真值表如下所示:表 2 優(yōu)先編碼器真值表22輸入二進(jìn)制編碼輸出Input7Input6I

33、nput5Input4Input3Input2Input1Input0Y2Y1Y0xxxxxxx0111xxxxxx01110xxxxx011101xxxx0111100xxx01111011xx011111010x0111111001x1111111000用 VHDL語(yǔ)言實(shí)現(xiàn)優(yōu)先編碼器的設(shè)計(jì)并實(shí)現(xiàn)功能仿真驗(yàn)證其功能。參考程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY priorityencoder ISPORT (input:IN STD_LOGIC_VECTOR (7 DOWNTO 0);y:OUT STD_LOGIC_VECTOR

34、 (2 DOWNTO 0);END priorityencoder;ARCHITECTURE rt1 OF priorityencoder ISBEGINPROCESS (input)BEGINIF(input(0)='0') THENy<="111"ELSIF(input(1)='0') THENy<="110"ELSIF(input(2)='0') THENy<="101"ELSIF(input(3)='0') THENy<="100

35、"ELSIF(input(4)='0') THENy<="011"ELSIF(input(5)='0') THENy<="010"ELSIF(input(6)='0') THENy<="001"ELSEy<="000"END IF;END PROCESS;23END rtl;測(cè)試向量參考程序如下:-VHDLTest Bench Createdfrom sourcefilepriorityencoder.vhd-16:03:1403/2

36、4/2008- Notes:- This testbench has been automatically generated using types std_logic and- std_logic_vector for the ports of the unit under test. Xilinx recommends- that these types always be used for the top-level I/O of a design in order- to guarantee that the testbench will bind correctly to the

37、post-implementation- simulation model.-LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.numeric_std.ALL;ENTITY priorityencoder_priorityencoder_vhd_tb ISEND priorityencoder_priorityencoder_vhd_tb;ARCHITECTURE behavior OF priorityencoder_priorityencoder_vhd_tb ISCOMPONENT priorityencoderPORT(input :

38、IN std_logic_vector(7 downto 0);y : OUT std_logic_vector(2 downto 0);END COMPONENT;SIGNAL input : std_logic_vector(7 downto 0);SIGNAL y : std_logic_vector(2 downto 0);BEGINuut: priorityencoder PORT MAP(input => input,y => y);- * Test Bench - User Defined Section *tb : PROCESSBEGINinput<=&qu

39、ot;11011010"wait for 10 us;input<="11101101"wait for 10 us;input<="10110011"wait for 10 us;24input<="11010111"wait for 10 us;input<="01101111"wait for 10 us;input<="11011111"wait for 10 us;input<="10111111"wait for 10

40、 us;input<="11111111"wait for 10 us;input<="01111111"wait for 10 us;input<="11011011"wait for 10 us;input<="11011111"wait for 10 us;input<="11111001"wait for 10 us;END PROCESS tb;- * End Test Bench - User Defined Section *END behavior;

41、仿真圖如下:(三)、用 VHDL 語(yǔ)言實(shí)現(xiàn)四選一選擇器的設(shè)計(jì)并實(shí)現(xiàn)功能仿真。選擇器常用于信號(hào)的切換,四選一選擇器可以用于4 路信號(hào)的切換。其真值表如下所示:表 3四選一真值表選擇輸入數(shù)據(jù)輸入數(shù)據(jù)輸出baInput0Input1Input2Input3y000xxx0001xxx101x0xx02501x1xx110xx0x010xx1x111xxx0011xxx11用 VHDL語(yǔ)言實(shí)現(xiàn)四選一選擇器的設(shè)計(jì)并實(shí)現(xiàn)功能仿真。參考程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 ISPORT (input:IN STD_LOGIC_VE

42、CTOR (3 DOWNTO 0);a,b:IN STD_LOGIC;y:OUT STD_LOGIC);END mux4;ARCHITECTURE rt1 OF mux4 ISSIGNAL se1:STD_LOGIC_VECTOR (1 DOWNTO 0);BEGINse1<=b&a;PROCESS (input,se1)BEGINIF(se1="00")THENy<=input(0);ELSIF(se1="01")THENy<=input(1);ELSIF(se1="10")THENy<=input(

43、2);ELSEy<=input(3);END IF;END PROCESS;END rt1;測(cè)試向量參考程序如下:- VHDL Test Bench Created from source file mux4.vhd - 16:22:02 03/24/2008- Notes:- This testbench has been automatically generated using types std_logic and- std_logic_vector for the ports of the unit under test. Xilinx recommends- that the

44、se types always be used for the top-level I/O of a design in order- to guarantee that the testbench will bind correctly to the post-implementation- simulation model.26LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.numeric_std.ALL;ENTITY mux4_mux4_vhd_tb ISEND mux4_mux4_vhd_tb;ARCHITECTURE behavior OF mux4_mu

溫馨提示

  • 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)論