組合邏輯電路與VHDL基本語(yǔ)法.ppt_第1頁(yè)
組合邏輯電路與VHDL基本語(yǔ)法.ppt_第2頁(yè)
組合邏輯電路與VHDL基本語(yǔ)法.ppt_第3頁(yè)
組合邏輯電路與VHDL基本語(yǔ)法.ppt_第4頁(yè)
組合邏輯電路與VHDL基本語(yǔ)法.ppt_第5頁(yè)
已閱讀5頁(yè),還剩81頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、組合邏輯與VHDL基本語(yǔ)法,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),2,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),3,內(nèi)容大綱,2-1 邏輯閘與邏輯電路 2-2 VHDL的基本架構(gòu) 2-3 VHDL的指定敘述與基本語(yǔ)法 2-4 解碼器、多工器與編碼器 2-5 算術(shù)邏輯電路與階層式設(shè)計(jì) 單元1:基本邏輯實(shí)習(xí) 單元2:解碼器與編碼器實(shí)習(xí) 單元3:算術(shù)邏輯電路實(shí)習(xí),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),4,2-1 邏輯閘與邏輯電路,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),5,2-1-1 基本邏輯閘,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),6,2-1-2 布林代數(shù)方程式與笛摩根定理,布林代數(shù)方程式,笛摩根定理

2、,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),7,2-1-3 積之和型式的邏輯電路,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),8,2-2 邏輯閘與邏輯電路,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),9,2-2-1 VHDL的基本架構(gòu),VHDL程式簡(jiǎn)例,entity name,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),10,VHDL 的電路單體(Entity),ENTITY NAND2 is PORT(A,B: IN bit; Y : OUT bit ); END NAND2;,ENTITY用來(lái)宣告電路的外部包裝,也就是設(shè)計(jì)體的介面 ENTITY的描述以Entity.IS.End來(lái)表示,2-2-1 VHDL的基本架構(gòu),VHDL數(shù)位電路實(shí)

3、習(xí)與專題設(shè)計(jì),11,以Architecture.of.IS.Begin.End來(lái)表示 用以描述ENTITY所涵蓋的電路行為特性和動(dòng)作,VHDL的電路架構(gòu)( Architecture),architecture Dataflow of NAND2 is begin C=A nand B; end Dataflow;,布林方程式表示式 :C=(AB),2-2-1 VHDL的基本架構(gòu),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),12,2-2-2 資料型態(tài)與運(yùn)算子,資料物件 常數(shù)(Constants) 在VHDL語(yǔ)言中,我們將固定值宣告成常數(shù) ,它類以C語(yǔ)言中以#define來(lái)設(shè)定常數(shù)值的作法。 例如:Const

4、ant A: Std_logic_vector(3 downto 0):=“0011”; 訊號(hào)(Signals) 訊號(hào)可以用來(lái)宣告所有元件內(nèi)部的信號(hào)線或內(nèi)接腳位 。 例如: Signal A:Std_Logic_vector(4 downto 0); Signal temp: bit_vector(0 to 3); 變數(shù)(Variables) Variable temp: Std_logic:= 0; Variable temp: Std_logic_Vector( 3 downto 0); Variable A,B:Boolean:=False;,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),13,2-2

5、-2 資料型態(tài)與運(yùn)算子,資料型別 邏輯訊號(hào) 在邏輯訊號(hào)中,我們用std_logic和bit來(lái)宣告邏輯位元,另外用std_logic_vector和bit_vector來(lái)宣告多位元的邏輯訊號(hào)。 在VHDL中,標(biāo)準(zhǔn)邏輯(STD_LOGIC)訊號(hào)型式定義是:,type std_logic is ( X - Forcing unknown 0 - Forcing zero 1 - Forcing one Z - High impedance W - Weak unknown L - Weak zero H - Weak one -); - Dont care,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),14,2-

6、2-2 資料型態(tài)與運(yùn)算子,在VHDL語(yǔ)法中,一群BIT即可以構(gòu)成Bit_Vector,而一群Std_Logic也可組成Std_Logic_Vector序列。,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),15,2-2-2 資料型態(tài)與運(yùn)算子,數(shù)值訊號(hào) 整數(shù):VHDL語(yǔ)言中的整數(shù)數(shù)值範(fàn)圍從到,它是以32位元的bit_vector來(lái)定義整數(shù)的範(fàn)圍的。 例如: Signal A:Integer; -32位元數(shù)值宣告 Signal B,C:Integer range 0 to 7; - 3位元數(shù)值宣告 Variable INT_S:Integer; -32位元數(shù)值宣告 無(wú)號(hào)整數(shù)(UNSIGNED)序列宣告: 宣告成整

7、數(shù)的訊號(hào)是一種數(shù)值型式,跟宣告成位元(bit、bit_vector)型式的邏輯訊號(hào)事實(shí)上是不能夠直接作資料互換的;在VHDL語(yǔ)言中另外提供了Unsigned指令宣告,它同時(shí)具有邏輯和數(shù)值的特性,因此既可作邏輯處理又可作數(shù)值運(yùn)算。 例如: Signal A:Std_logic; Signal B,C:Unsigned(3 downto 0);,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),16,2-2-2 資料型態(tài)與運(yùn)算子,運(yùn)算子 邏輯運(yùn)算子 關(guān)係運(yùn)算子 算術(shù)運(yùn)算子,Y=(A AND B) OR C;,If (A=B) or (CD) and not(E=F) then y=1; else y=0; end

8、if;,Y1=A + B; Y2=A B; Y3=A * B;,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),17,2-3 VHDL的指定敘述 與基本語(yǔ)法,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),18,2-3-1指定敘述(ASSIGNMENT STATEMENT),訊號(hào)指定敘述(Signal Assignment Statement) A=B; -將訊號(hào)B傳遞到A A=B after 10ns ; -訊號(hào)B延遲10ns後再傳遞到A,Y1= A AND NOT S; Y2= B AND S; Y = Y1 OR Y2;,Y,A,S,B,Y1,Y2,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),19,2-3-1指定敘述(ASSIGN

9、MENT STATEMENT),變數(shù)指定敘述(Variable Assignment Statement) 變數(shù)這種資料物件限用在過(guò)程(Process)敘述裡,其存在是為了運(yùn)算上的方便性,它是運(yùn)算中的中間借用變數(shù),並不代表任何的記憶元件或信號(hào)線;在變數(shù)值的設(shè)定上,它使用“:=”這個(gè)符號(hào)來(lái)代表它是一種瞬間設(shè)定。,例如: Variable temp: Std_logic:= 0; Variable temp: Std_logic_Vector( 3 downto 0); Variable A,B:Boolean:=False; -A和B都是初值為False的布林變數(shù),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì)

10、,20,2-3-2 條件式訊號(hào)指定敘述,訊號(hào)Y = 訊號(hào) A When (條件1) Else 訊號(hào) B When (條件2) Else 訊號(hào) C ;,條件式的訊號(hào)設(shè)定敘述:When-Else,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),21,2-3-3 選擇式訊號(hào)指定敘述,選擇式的訊號(hào)設(shè)定敘述:With-Select-when,With 選擇訊號(hào) X Select 訊號(hào)Y = 訊號(hào) A When 選擇訊號(hào) X 為 m, 訊號(hào) B When 選擇訊號(hào) X 為 n, : 訊號(hào) Z When Others ;,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),22,2-4 解碼器、多工器與編碼器,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),

11、23,2-4-1 解碼器(Decoder),library IEEE; use IEEE.STD_LOGIC_1164.all; ENTITY decoder2_4 IS PORT (S1,S0 : IN STD_LOGIC; m0,m1,m2,m3 : OUT STD_LOGIC); END decoder2_4; ARCHITECTURE a OF decoder2_4 IS BEGIN m0=(not S1)and (not S0); -00 m1=(not S1)and S0; -01 m2=S1 and (not S0);-10 m3=S1 and S0; -11 END a;,二對(duì)

12、四解碼器,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),24,2-4-2 多工器與解多工器,library IEEE; use IEEE.STD_LOGIC_1164.all; ENTITY MUX2_4w IS PORT ( X : IN STD_LOGIC_VECTOR(1 downto 0); D0,D1,D2,D3:IN STD_LOGIC; Y : OUT STD_LOGIC ); END MUX2_4w; ARCHITECTURE a OF MUX2_4w IS BEGIN Y =D0 when X=00 else D1 when X=01 else D2 when X=10 else D3 ;

13、 END a;,四對(duì)一多工器,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),25,2-4-2 多工器與解多工器,一對(duì)四解多工器,1 LIBRARY ieee; 2 USE ieee.std_logic_1164.all; 3 4 ENTITY demux1_4a IS 5 PORT ( data : IN STD_LOGIC; 6 X : IN STD_LOGIC_VECTOR(1 downto 0); 7 D0,D1,D2,D3: OUT STD_LOGIC ); 8 END demux1_4a; 9 10 ARCHITECTURE a OF demux1_4a IS 11 BEGIN 12 D0 =da

14、ta when X=00 else 0; 13 D1 =data when X=01 else 0; 14 D2 =data when X=10 else 0; 15 D3 =data when X=11 else 0; 16 END a;,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),26,2-4-3 編碼器(Encoder),四對(duì)二編碼器,1 library IEEE; 2 use IEEE.STD_LOGIC_1164.all; 3 4 entity w_s_c42 is 5 port( X : IN STD_LOGIC_VECTOR(3 downto 0); 6 Y : OUT STD_LOGIC_

15、VECTOR(1 downto 0); 7 end w_s_c42; 8 9 architecture a of w_s_c42 is 10 begin 11 12 With X Select 13 14 Y = “00” when 0001, 15 “01” when 0010, 16 “10” when 0100, 17 “11” when 1000, 18 “00” when others ; 19 end a;,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),27,2-4-3 編碼器(Encoder),優(yōu)先權(quán)編碼器,1 library ieee; 2 use ieee.std_logic_1164.a

16、ll; 3 4 entity priority is 5 port ( y1, y2, y3, y4, y5, y6, y7 : in std_logic; 6 Pout: out std_logic_vector(2 downto 0); 7 end priority; 8,9 architecture a of priority is 10 begin 11 pout = 111 when (y7 = 1) else 12 110 when (y6 = 1) else 13 101 when (y5 = 1) else 14 100 when (y4 = 1) else 15 011 wh

17、en (y3 = 1) else 16 010 when (y2 = 1) else 17 001 when (y1 = 1) else 18 000; 19 end a;,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),28,2-5算術(shù)邏輯電路 與階層式設(shè)計(jì),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),29,2-5-1 半加法器(Half Adder),1 library ieee; 2 use ieee.std_logic_1164.all; 3 4 entity halfadder is 5 6 port ( X,Y :in std_logic; 7 Sum,Carry :out std_logic); 8 end

18、 halfadder; 9 10 ARCHITECTURE a OF halfadder IS 11 begin 12 Sum=X xor Y; 13 Carry=X and Y; 14 end a;,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),30,2-5-2 全加法器 (Full Adder),1 LIBRARY ieee; 2 USE ieee.std_logic_1164.all; 3 4 ENTITY full_add IS 5 PORT ( X,Y,Z:in bit; 6 Sum,Carry:out bit); 7 END full_add; 8 9 ARCHITECTURE a OF ful

19、l_add IS 10 BEGIN 11 Sum = X xor Y xor Z; 12 Carry=(X and Y) or (Y and Z) or (Z and X); 13 END a;,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),31,2-5-3 階層式設(shè)計(jì),For-Generate敘述 For-Generate敘述可以協(xié)助我們輕易地以指令來(lái)描述一些具有重覆特性的電路,它雖然以迴圈的型式來(lái)撰寫(xiě),本身卻是屬於並行敘述之一。,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),32,2-5-3 階層式設(shè)計(jì),Component與Port Map Component的功能能夠協(xié)助我們作元件資料庫(kù)的設(shè)計(jì),它與Port Map

20、結(jié)合可以讓我們像堆積木一般累積出複雜的電路。 其基本表示法如下 :,Architecture 架構(gòu)名稱 of 單體名稱 IS component 元件A port ( ); end component; component 元件B port ( ); end component; ,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),33,2-5-3 階層式設(shè)計(jì),名稱對(duì)應(yīng)表示式:,位置對(duì)應(yīng)表示式:,Component與Port Map (續(xù)),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),34,2-5-3 階層式設(shè)計(jì),ARCHITECTURE a OF fulladder IS component halfadder port

21、 ( a,b :in std_logic; s,c : out std_logic ); end component; component or_2 port ( a,b :in std_logic; c :out std_logic ); end component; signal s1,s2,s3 :std_logic; BEGIN U1:halfadder port map(x,y,s1,s3); U2:halfadder port map(s1,z,sum,s2); U3:or_2 port map(s2,s3,carry); END a;,Component與Port Map (續(xù))

22、,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),35,2-5-3 階層式設(shè)計(jì),Generic與Generic map敘述的使用 Generic提供VHDL語(yǔ)言中可以訂定元件參數(shù)模型的能力,在程式中我們利用Generic指令來(lái)指定N的大小,之後可以很彈性的透過(guò)N值的更改而馬上將該電路變成N位元的架構(gòu)。 Generic語(yǔ)法如下:,Generic Map語(yǔ)法:,元件標(biāo)題: 元件名稱 Generic map(參數(shù)值) PORT MAP(信號(hào)X,信號(hào)Y,信號(hào)Z);,Generic (參數(shù)名稱: 資料型別 :=預(yù)設(shè)值);,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),36,單元1:基本邏輯實(shí)習(xí),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),37,

23、單元1:基本邏輯實(shí)習(xí),相關(guān)知識(shí),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),38,單元1:基本邏輯實(shí)習(xí),實(shí)驗(yàn)功能,實(shí)驗(yàn)電路圖,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),39,單元1:基本邏輯實(shí)習(xí),程式與說(shuō)明,1 - 2 -實(shí)驗(yàn)名稱:基本邏輯閘實(shí)習(xí) 3 -檔案名稱:logic.vhd 4 -功 能:SW1 - and, SW2 - or, SW3 - xor, SW4 - nand 5 -日 期:2003.08.08 6 - 7 library ieee; 8 use ieee.std_logic_1164.all; 9 10 entity logic is 11 port( 12 A : in std_logic_

24、vector(3 downto 0); -輸入訊號(hào) A 13 B : in std_logic_vector(3 downto 0); -輸入訊號(hào) B 14 SEL : in std_logic_vector(3 downto 0); -選擇訊號(hào) SEL 15 C : out std_logic_vector(3 downto 0) -輸出訊號(hào) c 16 ); 17 end logic; 18,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),40,單元1:基本邏輯實(shí)習(xí),程式與說(shuō)明(續(xù)),19 architecture a of logic is 20 begin 21 22 - 選擇邏輯運(yùn)算子 - 23 pr

25、ocess(A,B,SEL) 24 begin 25 case SEL is 26 when 1110 = -按下SW1,做AND運(yùn)算 27 C -按下SW2,做OR運(yùn)算 29 C -按下SW3,做XOR運(yùn)算 31 C -按下SW4,做NAND運(yùn)算 33 C -其他情況下LED不亮 35 C =0000; 36 end case; 37 end process; 38 end a;,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),41,單元1:基本邏輯實(shí)習(xí),功能模擬與CPLD下載驗(yàn)證 燒錄於力浦電子FPT-3實(shí)驗(yàn)板 選用EPM7064SLC44-10這個(gè)CPLD型號(hào) 將logic.pof檔下載到CPLD中做實(shí)

26、際驗(yàn)證 基本邏輯閘實(shí)習(xí)功能模擬圖,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),42,單元1:基本邏輯實(shí)習(xí),基本邏輯閘實(shí)習(xí)腳位配置表(FPT-3實(shí)驗(yàn)板),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),43,單元1:基本邏輯實(shí)習(xí),FPT-3實(shí)驗(yàn)板上之元件規(guī)劃,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),44,單元1:基本邏輯實(shí)習(xí),功能模擬與CPLD下載驗(yàn)證(續(xù)) 燒錄於力浦電子LP-2900實(shí)驗(yàn)板 選用力浦電子LP-2900實(shí)驗(yàn)板上的EPF10K10TC144-4晶片型號(hào) 利用Graphic Editor呼叫l(wèi)ogic.sym元件,並將程式重新更改如下(logic_lp2900.gdf),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),45,單元1:

27、基本邏輯實(shí)習(xí),將logic_lp2900.sof檔下載到CPLD中進(jìn)行實(shí)際驗(yàn)證 LP-2900實(shí)驗(yàn)板之元件規(guī)劃:,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),46,單元2:解碼器與編碼器實(shí)習(xí),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),47,單元2-1 74138解碼器電路實(shí)習(xí),相關(guān)知識(shí) 74138是一個(gè)3 to 8的解碼器電路,它有G1、G2A和G2B三條致能控制線,以及A、B、C三條選擇線和Y0到Y(jié)7八條輸出線。其中A、B、C三條選擇線的輸入值會(huì)決定Y0到Y(jié)7八條輸出線中何者被選擇為輸出。 當(dāng)G1為1而且G2A、G2B均為0時(shí),解碼器電路被致能而允許有輸出,其Y0至Y7中被選擇到的輸出端之輸出值將為0(Low),

28、其餘輸出均為1(High),也就是電路屬於低電位動(dòng)作(Active Low)。若G1為0或者是G2A、G2B其中之一為1時(shí),這個(gè)狀態(tài)會(huì)使得解碼器沒(méi)有輸出,亦即所有的輸出線都呈現(xiàn)High狀態(tài)。,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),48,單元2-1 74138解碼器電路實(shí)習(xí),實(shí)驗(yàn)功能,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),49,單元2-1 74138解碼器電路實(shí)習(xí),實(shí)驗(yàn)電路圖,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),50,單元2-1 74138解碼器電路實(shí)習(xí),程式與說(shuō)明,1 - 2 -實(shí)驗(yàn)名稱:74138(3to8)解碼器實(shí)習(xí) 3 -檔案名稱:TTL74138.vhd 4 -功 能:3對(duì)8解碼器電路實(shí)習(xí) 5 -日

29、期:2003.08.08 6 - 7 Library IEEE; 8 Use IEEE.std_logic_1164.all; 9 10 Entity TTL74138 is 11 port ( A,B,C: in STD_LOGIC; 12 G1: in STD_LOGIC; 13 G2A,G2B: in STD_LOGIC; 14 Y: out STD_LOGIC_vector(7 downto 0) ); 15 end TTL74138; 16,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),51,單元2-1 74138解碼器電路實(shí)習(xí),程式與說(shuō)明(續(xù)),17 Architecture a of TTL7

30、4138 is 18 signal XIN : std_logic_vector(5 downto 0); 19 begin 20 XIN = G1 ,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),52,單元2-1 74138解碼器電路實(shí)習(xí),功能模擬與CPLD下載驗(yàn)證 燒錄於力浦電子FPT-3實(shí)驗(yàn)板 74138(3 to 8)解碼器腳位配置圖(FPT-3),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),53,單元2-1 74138解碼器電路實(shí)習(xí),功能模擬與CPLD下載驗(yàn)證 (續(xù)) 燒錄於力浦電子LP-2900實(shí)驗(yàn)板 74138解碼器電路圖,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),54,單元2-1 74138解碼器電路實(shí)習(xí),功能模

31、擬與CPLD下載驗(yàn)證 (續(xù)) 燒錄於力浦電子LP-2900實(shí)驗(yàn)板 74138解碼器腳位配置圖(LP-2900),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),55,單元2-1 74138解碼器電路實(shí)習(xí),LP-2900實(shí)驗(yàn)板元件規(guī)劃,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),56,單元2-2 74147優(yōu)先權(quán)編碼器電路實(shí)習(xí),相關(guān)知識(shí) 74147是相當(dāng)常用的優(yōu)先權(quán)編碼器IC,其輸入與輸出都是低電位動(dòng)作(Active Low)。74147的優(yōu)先權(quán)先後順序是從A9到A1;當(dāng)A9的輸入為L(zhǎng)ow時(shí),此時(shí)無(wú)論其他的輸入端為何,其輸出端皆為0110(補(bǔ)數(shù)型態(tài)輸出,若再加上反相閘則可得到原態(tài)輸出10012=9),當(dāng)A9為High,而A

32、8的輸入為L(zhǎng)ow時(shí),此時(shí)輸出應(yīng)為0111,相關(guān)規(guī)格可自行參考真值表。,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),57,單元2-2 74147優(yōu)先權(quán)編碼器電路實(shí)習(xí),實(shí)驗(yàn)功能,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),58,單元2-2 74147優(yōu)先權(quán)編碼器電路實(shí)習(xí),實(shí)驗(yàn)電路圖,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),59,單元2-2 74147優(yōu)先權(quán)編碼器電路實(shí)習(xí),程式與說(shuō)明,7 library ieee; 8 use ieee.std_logic_1164.all; 9 10 entity Encoder74147 is 11 port ( A: in std_logic_vector(1 to 9); 12 Y : o

33、ut std_logic_vector(3 downto 0); 13 end Encoder74147; 14 15 architecture a of Encoder74147 is 16 begin 17,18 Y=0110 when A(9)=0 else 19 0111 when A(8)=0 else 20 1000 when A(7)=0 else 21 1001 when A(6)=0 else 22 1010 when A(5)=0 else 23 1011 when A(4)=0 else 24 1100 when A(3)=0 else 25 1101 when A(2)

34、=0 else 26 1110 when A(1)=0 else 27 1111; 28 end a;,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),60,單元2-2 74147優(yōu)先權(quán)編碼器電路實(shí)習(xí),功能模擬與CPLD下載驗(yàn)證 燒錄於力浦電子FPT-3實(shí)驗(yàn)板,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),61,單元2-2 74147優(yōu)先權(quán)編碼器電路實(shí)習(xí),功能模擬與CPLD下載驗(yàn)證 燒錄於力浦電子LP-2900實(shí)驗(yàn)板(更改程式如下),7 library ieee; 8 use ieee.std_logic_1164.all; 9 10 entity Encoder74147_lp2900 is 11 port ( A: i

35、n std_logic_vector(1 to 9); LED_COM:out std_logic; -LED的陰極共點(diǎn)端,HI驅(qū)動(dòng) 13 Y : out std_logic_vector(3 downto 0); 14 end Encoder74147_lp2900; 15,16 architecture a of Encoder74147_lp2900 is 17 begin 18 LED_COM=1; 19 20 Y=0110 when A(9)=0 else 21 0111 when A(8)=0 else 22 1000 when A(7)=0 else 23 1001 when A

36、(6)=0 else 24 1010 when A(5)=0 else 25 1011 when A(4)=0 else 26 1100 when A(3)=0 else 27 1101 when A(2)=0 else 28 1110 when A(1)=0 else 29 1111; 30 end a;,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),62,單元2-2 74147優(yōu)先權(quán)編碼器電路實(shí)習(xí),功能模擬與CPLD下載驗(yàn)證 燒錄於力浦電子LP-2900實(shí)驗(yàn)板(續(xù)),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),63,單元2-2 74147優(yōu)先權(quán)編碼器電路實(shí)習(xí),功能模擬與CPLD下載驗(yàn)證 燒錄於力浦電子LP-2900

37、實(shí)驗(yàn)板(續(xù)),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),64,單元3:算術(shù)邏輯電路實(shí)習(xí),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),65,單元3-1 加法器實(shí)習(xí),相關(guān)知識(shí),一位元全加器,四位元加器器架構(gòu),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),66,單元3-1 加法器實(shí)習(xí),實(shí)驗(yàn)電路圖,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),67,單元3-1 加法器實(shí)習(xí),程式與說(shuō)明 全加法器程式,7 LIBRARY ieee; 8 USE ieee.std_logic_1164.all; 9 10 ENTITY full_add IS 11 PORT ( SA,SB,SCin :in bit; 12 Scout:out bit; 13 Sum:ou

38、t bit); 14 END full_add; 15 16 ARCHITECTURE a OF full_add IS 17 BEGIN 18 Sum = SA xor SB xor SCin; 19 Scout=(SA and SB) or (SB and SCin) or (SCin and SA); 20 END a;,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),68,單元3-1 加法器實(shí)習(xí),程式與說(shuō)明 四位元加法器程式,7 LIBRARY ieee; 8 USE ieee.std_logic_1164.all; 9 10 ENTITY full_add4 IS 11PORT ( A,B :in

39、bit_vector(3 downto 0); 12 cin:in bit; 13 sum:out bit_vector(3 downto 0); 14 cout:OUT bit); 15 END full_add4; 16 17 ARCHITECTURE a OF full_add4 IS 18 component FULL_ADD 19 port(SA,SB,SCin:in bit; 20 Scout,SUM:out bit); 21 end component;,22 signal CARRY:bit_vector(4 downto 0); 23 BEGIN 24 CARRY(0)=ci

40、n; 25 G1:for I in 3 downto 0 generate 26 FA:FULL_ADD port map (A(I), B(I), CARRY(I), CARRY(I+1), SUM(I); 27 end generate G1; 28 cout=CARRY(4); 29 END a;,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),69,單元3-1 加法器實(shí)習(xí),功能模擬與CPLD下載驗(yàn)證 燒錄於力浦電子FPT-3實(shí)驗(yàn)板,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),70,單元3-1 加法器實(shí)習(xí),功能模擬與CPLD下載驗(yàn)證 燒錄於力浦電子LP-2900實(shí)驗(yàn)板,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),71,單元3-

41、1 加法器實(shí)習(xí),功能模擬與CPLD下載驗(yàn)證 燒錄於力浦電子LP-2900實(shí)驗(yàn)板(續(xù)),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),72,單元3-1 加法器實(shí)習(xí),功能模擬與CPLD下載驗(yàn)證 燒錄於力浦電子LP-2900實(shí)驗(yàn)板(續(xù)),VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),73,單元3-2 四位元加、減法器實(shí)習(xí),相關(guān)知識(shí),在微處理機(jī)世界的減法運(yùn)算多採(cǎi)減數(shù)再加上被減數(shù)的2的補(bǔ)數(shù)來(lái)得到差值,2s補(bǔ)數(shù)的作法是先求得二進(jìn)位位元的1的補(bǔ)數(shù)(1s補(bǔ)數(shù)的求法即將二進(jìn)位位元組0變1,1變成0即可。例如0111之1s補(bǔ)數(shù)為1000。)再加1: 被減數(shù)0011的1s補(bǔ)數(shù)是1100,二進(jìn)位1100+1=1101即為2s補(bǔ)數(shù) 例如:,VHDL數(shù)位電路實(shí)習(xí)與專題設(shè)計(jì),74,單元3-2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論