作業(yè)2_在系統(tǒng)可編程技術(shù)及應(yīng)用(電子科學(xué)與技術(shù)學(xué)院_劉紅)_第1頁
作業(yè)2_在系統(tǒng)可編程技術(shù)及應(yīng)用(電子科學(xué)與技術(shù)學(xué)院_劉紅)_第2頁
作業(yè)2_在系統(tǒng)可編程技術(shù)及應(yīng)用(電子科學(xué)與技術(shù)學(xué)院_劉紅)_第3頁
作業(yè)2_在系統(tǒng)可編程技術(shù)及應(yīng)用(電子科學(xué)與技術(shù)學(xué)院_劉紅)_第4頁
作業(yè)2_在系統(tǒng)可編程技術(shù)及應(yīng)用(電子科學(xué)與技術(shù)學(xué)院_劉紅)_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1VHDL語言的數(shù)據(jù)對象有幾種? 各有什么特點?2VHDL運(yùn)算符的優(yōu)先順序。3用行為描述設(shè)計一位全加器。4用結(jié)構(gòu)描述設(shè)計一位全加器。5用IF語句設(shè)計的4選1多路選擇器。6用case語句設(shè)計8選1多路選擇器。作業(yè)7用VHDL語言設(shè)計3線 8線譯碼器。8用VHDL語言設(shè)計8線3線編碼器。9用VHDL語言設(shè)計具有異步置位和清零功能,上升沿觸發(fā)的D觸發(fā)器。10用VHDL語言設(shè)計JK觸發(fā)器。11用VHDL語言設(shè)計SR型鎖存器。12用VHDL語言設(shè)計模8計數(shù)器。作業(yè)1VHDL語言的數(shù)據(jù)對象有幾種? 各有什么特點?數(shù)據(jù)對象有三種:常量,變量,信號。常量:常量是指在設(shè)計實體中不會發(fā)生變化的值; 常量可以在很多

2、部分進(jìn)行說明; 常量的使用范圍取決于它被定義的位置; 常量可以是任何的數(shù)據(jù)類型。變量:變量是指在設(shè)計實體中會發(fā)生變化的值; 變量只能在進(jìn)程和子程序中用,是一個局部量; 變量的賦值是理想化數(shù)據(jù)傳輸,其賦值是立即生效的,不存在任何的延時行為。信號:信號是描述硬件系統(tǒng)的基本數(shù)據(jù)對象,它是電子電路內(nèi)部硬件連接的抽象。 信號的定義和使用范圍:實體、結(jié)構(gòu)體和程序包。 在進(jìn)程中不允許定義信號,只能將信號列入敏感表。2VHDL運(yùn)算符的優(yōu)先順序。 運(yùn)算符 優(yōu)先級nNOT,ABS,* 最高優(yōu)先級 n*,/,MOD,REM n+(正號),(負(fù)號)n+,& nSLL,SLA,SRL,SRA,ROL,ROR n

3、=,/=,= nAND,OR,NAND,NOR,XOR,XNOR 最低優(yōu)先級 3用行為描述設(shè)計一位全加器(基于全加器真值表)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY full_adder IS GENERIC(tpd : TIME := 10 ns); PORT(x,y,c_in : IN STD_LOGIC; Sum, c_out : OUT STD_LOGIC);END full_adder;用行為描述設(shè)計一位全加器(基于全加器真值表)ARCHITECTURE behav OF full_adder ISBEGIN PROCESS (x

4、, y, c_in) VARIABLE n: INTEGER; CONSTANT sum_vector: STD_LOGIC_VECTOR (0 TO 3) := “0101”; CONSTANT carry_vector: STD_LOGIC_VECTOR (0 TO 3) := “0011”; BEGIN n := 0; IF x = 1 THEN n := n+1; END IF; IF y = 1 THEN n:=n+1; END IF; IF c_in = 1 THEN n:=n+1; END IF; sum = sum_vector (n) AFTER 2*tpd; c_out =

5、 carry_vector (n) AFTER 3*tpd; END PROCESS; END behav; 輸入輸入 輸出輸出c_in x y c_out sum 0 0 0 0 00 0 1 0 10 1 0 0 10 1 1 1 01 0 0 0 11 0 1 1 01 1 0 1 01 1 1 1 1 4用結(jié)構(gòu)描述設(shè)計一位全加器。HalfAdderscORGateAdderHalfscc_inxybacc_outsumU1U2U3對于上圖給出的全加器端口結(jié)構(gòu),可以認(rèn)為它是由兩個半加器和一個或門組成的 ?;谏蠄D所示的結(jié)構(gòu),可以寫出全加器的結(jié)構(gòu)化描述設(shè)計程序如下。 半加器元件half_a

6、dderLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY half_adder IS GENERIC(tpd:TIME:=10 ns); PORT(in1, in2: IN STD_LOGIC; sum, carry: OUT STD_LOGIC);END half_adder;ARCHITECTURE behavioral OF half_adder ISBEGINPROSESS (in1, in2) ;BEGIN sum = in1 XOR in2 AFTER tpd; carry = in1 AND in2 AFTER tpd;END PRO

7、CESS;END behavioral;或門元件or_gateLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or_gate IS GENERIC(tpd:TIME:=10 ns); PORT(in1, in2: IN STD_LOGIC; out1: OUT STD_LOGIC);END or_gate;ARCHITECTURE structural OF or_gate ISBEGIN out1 = in1 OR in2 AFTER tpd;END structural;全加器的結(jié)構(gòu)化描述LIBRARY IEEE;USE IEEE.STD_L

8、OGIC_1164.ALL;ENTITY full_adder IS GENERIC(tpd:TIME:=10 ns); PORT(x,y,c_in: IN STD_LOGIC; Sum, c_out: OUT STD_LOGIC);END full_adder;ARCHITECTURE structural OF full_adder IS COMPONENT half_adder PORT(in1, in2: IN STD_LOGIC; sum, carry: OUT STD_LOGIC); END COMPONENT; COMPONENT or_gate PORT(in1, in2: I

9、N STD_LOGIC; out1: OUT STD_LOGIC); END COMPONENT;SIGNAL a, b, c:STD_LOGIC;FOR u1,u2 : half_adder USE ENTITY WORK.half_adder (behavioral);FOR u3: or_gate USE ENTITY WORK. or_gate (structural); BEGIN u1: half_adder PORT MAP (x, y, b, a); u2: half_adder PORT MAP (c_in, b, sum, c); u3: or_gate PORT MAP

10、(c, a, c_out);END structural; 5用IF語句設(shè)計的4選1多路選擇器。LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;ENTITY mux4 IS PORT(input:IN STD_LOGIC_VECTOR (3 DOWNTO 0); sel:IN STD_LOGIC_VECTOR (1 DOWNTO 0); y:OUT STD_LOGIC);END mux4;ARCHITECTURE rtl OF mux4 ISBEGIN PROCESS (input,sel) BEGIN IF (sel=“00”) THEN y= input

11、(0); ELSIF(sel=“01”)THEN y= input(1); ELSIF(sel=“10”)THEN y= input(2); ELSE y y y y y y y y y NULL; END CASE;END PROCESS;END rtl;7用VHDL語言設(shè)計3線 8線譯碼器。LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;ENTITY decoder3_8 IS PORT(a,b,c,g1,g2a,g2b:IN STD_LOGIC; y:OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END decoder3_8;AR

12、CHITECTURE rtl OF decoder3_8 IS SIGNAL indata:STD_LOGIC_VECTOR (2 DOWNTO 0); BEGIN indata y y y y y y y y y = “XXXXXXXX”; END CASE; ELSE y =“11111111”; END IF; END PROCESS;END rtl;8用VHDL語言設(shè)計8線3線編碼器。n8線3線編碼器邏輯表達(dá)式: A2=I4+I5+I6+I7 A1=I2+I3+I6+I7 A0=I1+I3+I5+I7IIIIIIII01324567AAA0128線-3線編碼器依據(jù)邏輯表達(dá)式設(shè)計8線3線

13、編碼器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY coder83_v1 IS PORT(I0,I1,I2,I3,I4,I5,I6,I7: IN STD_LOGIC; A0,A1,A2: OUT STD_LOGIC);END coder83_v1;ARCHITECTURE behave OF coder83_v1 ISBEGIN A2 = I4 OR I5 OR I6 OR I7; A1 = I2 OR I3 OR I6 OR I7; A0 = I1 OR I3 OR I5 OR I7;END behave;9用VHDL語言設(shè)計具有異步置位和清

14、零功能,上升沿觸發(fā)的D觸發(fā)器。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY Dff IS PORT(D: IN STD_LOGIC; clk: IN STD_LOGIC; set: IN STD_LOGIC; reset: IN STD_LOGIC; Q,QB: OUT STD_LOGIC);END Dff;ARCHITECTURE behave OF Dff IS SIGNAL Q_temp,QB_temp: STD_LOGIC;BEGIN PROCESS (clk, set, reset) BEGIN IF (set =0 AND rese

15、t =1)THEN Q_temp = 1; QB_temp = 0; ELSIF (set =1 AND reset =0)THEN Q_temp = 0; QB_temp = 1; ELSIF (clkEVENT AND clk = 1)THEN Q_temp = D; QB_temp = NOT D; ELSE Q_temp = Q_temp ; QB_temp = QB_temp; END IF; END PROCESS; END behave;10用VHDL語言設(shè)計JK觸發(fā)器。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY JKff IS

16、 PORT(J,K: IN STD_LOGIC; clk: IN STD_LOGIC; set: IN STD_LOGIC; reset: IN STD_LOGIC; Q,QB: OUT STD_LOGIC);END JKff;ARCHITECTURE behave OF JKff IS SIGNAL Q_temp,QB_temp: STD_LOGIC;BEGIN PROCESS (clk,set,reset) BEGIN IF (set =0 AND reset =1)THEN Q_temp = 1; QB_temp = 0; ELSIF (set =1 AND reset =0)THEN

17、Q_temp = 0; QB_temp = 1; ELSIF (clkEVENT AND clk = 1)THEN IF(J=0 AND K=1)THEN Q_temp = 0; QB_temp = 1; ELSIF(J=1 AND K=0)THEN Q_temp = 1; QB_temp = 0; ELSIF(J=1 AND K=1)THEN Q_temp = NOT Q_temp ; QB_temp = NOT QB_temp; ELSE Q_temp = Q_temp ; QB_temp = QB_temp; END IF; ELSE Q_temp = Q_temp ; QB_temp

18、= QB_temp; END IF; Q = Q_temp; QB = QB_temp; END PROCESS;END behave;11用VHDL語言設(shè)計SR型鎖存器。LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;ENTITY srff IS PORT(s : STD_LOGIC ; r : STD_LOGIC ; q : STD_LOGIC ; qb : STD_LOGIC );END srff;ARCHITECTURE rtl OF srff ISBEGINPROCESS(s,r)VARIABLE last_state : STD_LOGIC ;BEGIN IF(s =1AND r =1)THEN REPORT “Both s and r equal to1.”; ELSIF (s =0AND r =0)THEN last_state:= last_state; ELSIF (s =0AND r =1)THEN last_state := 0; ELSE last_state := 1; END IF; q = last_state; qb =

溫馨提示

  • 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

提交評論