




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、EDA技術(shù)實用教程技術(shù)實用教程第第7 7章章 VHDL有限狀態(tài)機(jī)設(shè)計有限狀態(tài)機(jī)設(shè)計 q有限狀態(tài)機(jī)及其設(shè)計技術(shù),時使用數(shù)字系統(tǒng)設(shè)計中的重要組成部分,是實現(xiàn)高效、高可靠性邏輯控制的重要途徑。q面對先進(jìn)的EDA技術(shù),有限狀態(tài)機(jī)在具體的設(shè)計技術(shù)和實現(xiàn)方法上又有了許多新的內(nèi)容。q本章重點介紹用VHDL設(shè)計不同類型有限狀態(tài)機(jī)的方法,同時考慮設(shè)計中許多重點關(guān)注的問題。 內(nèi)容提要特點特點: 用用VHDL可以設(shè)計出不同表達(dá)方式可以設(shè)計出不同表達(dá)方式和不同功能的狀態(tài)機(jī),然而它們都有相和不同功能的狀態(tài)機(jī),然而它們都有相對固定的語句和表達(dá)方式。對固定的語句和表達(dá)方式。 為什么要使用狀態(tài)機(jī)為什么要使用狀態(tài)機(jī)q有限狀態(tài)機(jī)
2、克服了純硬件數(shù)字系統(tǒng)順序方式控制不靈活的缺點。q狀態(tài)機(jī)的結(jié)構(gòu)模式相對簡單。q狀態(tài)機(jī)容易構(gòu)成性能良好的同步時序邏輯模塊。q在高速運算和控制方面,狀態(tài)機(jī)更有其巨大的優(yōu)勢。q就可靠性而言,狀態(tài)機(jī)的優(yōu)勢也是十分明顯的。7.1. 一般有限狀態(tài)機(jī)一般有限狀態(tài)機(jī) 的設(shè)計的設(shè)計 用戶自定義數(shù)據(jù)類型定義語句用戶自定義數(shù)據(jù)類型定義語句TYPE語句用法如下:TYPETYPE 數(shù)據(jù)類型名 ISIS 數(shù)據(jù)類型定義 OFOF 基本數(shù)據(jù)類型 ;或TYPETYPE 數(shù)據(jù)類型名 ISIS 數(shù)據(jù)類型定義 ;例如:以下列出了幾種不同的定義方式:TYPE st1 IS ARRAY ( 0 TO 15 ) OF STD_LOGIC ;
3、TYPE week IS (sun,mon,tue,wed,thu,fri,sat) ;TYPE m_state IS ( st0,st1,st2,st3,st4,st5 ) ; SIGNAL present_state,next_state : m_state ;布爾數(shù)據(jù)類型的定義語句是: TYPE BOOLEAN IS (FALSE,TRUE) ;TYPE my_logic IS ( 1 ,Z ,U ,0 ) ;SIGNAL s1 : my_logic ;s1 = Z ; 子類型SUBTYPESUBTYPE的語句格式如下:SUBTYPESUBTYPE 子類型名 ISIS 基本數(shù)據(jù)類型 RA
4、NGERANGE 約束范圍; 例如:SUBTYPESUBTYPE digits digits ISIS INTEGERINTEGER RANGERANGE 0 to 9 0 to 9 ; 一般有限狀態(tài)機(jī)的設(shè)計1. 1. 說明部分說明部分 說明部分中使用TYPE語句定義新的數(shù)據(jù)類型,該類型為枚舉型,其元素通常都用狀態(tài)機(jī)的狀態(tài)名來定義。 狀態(tài)變量應(yīng)定義成信號,便于信息的傳遞;并將狀態(tài)變量的數(shù)據(jù)類型定義為含有既定狀態(tài)元素的行定義的數(shù)據(jù)類型。ARCHITECTURE .IS TYPE FSM_ST IS (s0,s1,s2,s3); SIGNAL current_state, next_state:
5、FSM_ST; . 2. 2. 主控時序進(jìn)程主控時序進(jìn)程 主控時序進(jìn)程負(fù)責(zé)狀態(tài)機(jī)的運轉(zhuǎn)和在時鐘驅(qū)動下負(fù)責(zé)狀態(tài)轉(zhuǎn)換的進(jìn)程。狀態(tài)機(jī)時隨外部時鐘信號,以同步時序方式工作的。因此,狀態(tài)機(jī)中必須包含一個對工作時鐘信號敏感的進(jìn)程,作為狀態(tài)機(jī)的“驅(qū)動泵”。 當(dāng)時鐘發(fā)生有效跳變時,狀態(tài)機(jī)的狀態(tài)才發(fā)生變化。一般地,主控時序進(jìn)程可以不負(fù)責(zé)下一狀態(tài)的具體取值。REG: PROCESS (reset,clk) 主控時序進(jìn)程 BEGIN IF reset = 1 THEN current_state = s0; ELSIF clk=1 AND clkEVENT THEN current_state comb_outpu
6、ts= 5; IF state_inputs = 00 THEN next_state=s0; ELSE next_state comb_outputs= 8; IF state_inputs = 00 THEN next_state=s1; ELSE next_state comb_outputs= 12; IF state_inputs = 11 THEN next_state = s0; ELSE next_state comb_outputs = 14; IF state_inputs = 11 THEN next_state = s3; ELSE next_state = s0; E
7、ND IF; END case; END PROCESS; END behv;主控組合進(jìn)程完成的功能:狀態(tài)譯碼1、根據(jù)信號current_state中的狀態(tài)值,進(jìn)入相應(yīng)的狀態(tài);2、并在此狀態(tài)中向外部發(fā)出控制信號comb_outputs;3、確定下一狀態(tài)next_state的走向。com b_outputsstate_inputsresetclkF S M :s_m achineC O Mnext_statecurrent_stateP R O C E S SR E GP R O C E S S用于配合狀態(tài)及工作的組合進(jìn)程或時序進(jìn)程。4. 4. 輔助進(jìn)程輔助進(jìn)程【例7-1】LIBRARY IEE
8、E;USE IEEE.STD_LOGIC_1164.ALL;ENTITY s_machine IS PORT ( clk,reset : IN STD_LOGIC; state_inputs : IN STD_LOGIC_VECTOR (0 TO 1); comb_outputs : OUT INTEGER RANGE 0 TO 15 );END s_machine;ARCHITECTURE behv OF s_machine IS TYPE FSM_ST IS (s0, s1, s2, s3); SIGNAL current_state, next_state: FSM_ST;BEGIN R
9、EG: PROCESS (reset,clk)主控時序進(jìn)程主控時序進(jìn)程 BEGIN IF reset = 1 THEN current_state = s0; -異步清零 ELSIF clk=1 AND clkEVENT THEN current_state comb_outputs= 5; IF state_inputs = 00 THEN next_state=s0; ELSE next_state comb_outputs= 8; IF state_inputs = 00 THEN next_state=s1; ELSE next_state comb_outputs= 12; IF s
10、tate_inputs = 11 THEN next_state = s0; ELSE next_state comb_outputs = 14; IF state_inputs = 11 THEN next_state = s3; ELSE next_state = s0; END IF; END case; END PROCESS; END behv;接上頁接上頁com b_outputsstate_inputsresetclkF S M :s_m achineC O Mnext_statecurrent_stateP R O C E S SR E GP R O C E S S4. 4.
11、輔助進(jìn)程輔助進(jìn)程用于配合狀態(tài)機(jī)工作的組合進(jìn)程或時序進(jìn)程。例如為了穩(wěn)定輸出三個值的數(shù)據(jù)鎖存器等。圖圖7-2 例例7-1狀態(tài)機(jī)的工作時序圖狀態(tài)機(jī)的工作時序圖7.2 Moore型有限型有限 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計從信號輸出方式上分類從信號輸出方式上分類:Moor型狀態(tài)機(jī)型狀態(tài)機(jī) 屬于異步輸出狀態(tài)機(jī),輸出僅為當(dāng)前狀態(tài)的函數(shù)。這類狀態(tài)機(jī)在輸入發(fā)生變化,還必須等待時鐘的到來,時鐘使?fàn)顟B(tài)發(fā)生變化時才導(dǎo)致輸出的變化。Mealy型狀態(tài)機(jī)型狀態(tài)機(jī) 屬于同步輸出狀態(tài)機(jī),輸出是當(dāng)前狀態(tài)和所有輸入信號的函數(shù)。這類狀態(tài)機(jī)的輸出是在輸入發(fā)生變化后立即發(fā)生的,不依賴時鐘的同步。圖圖7-2 例例7-1狀態(tài)機(jī)的工作時序圖狀態(tài)機(jī)
12、的工作時序圖7.2.1 7.2.1 三進(jìn)程有三進(jìn)程有限狀態(tài)機(jī)限狀態(tài)機(jī)Moore型狀態(tài)機(jī)應(yīng)用實例:A/D采樣控制器AD574:12位模數(shù)轉(zhuǎn)換器,轉(zhuǎn)換速度20us采樣50點所需時間:20us*50=1ms一個采樣周期的操作:1、初始化AD574;2、啟動采樣;3、等待20us;4、發(fā)讀取命令;5、分兩次讀取數(shù)據(jù);分兩次存數(shù)到外部RAM;7、外部RAM增址。用單片機(jī)實現(xiàn): 整個周期需用CPU指令30條,每條指令平均2個機(jī)器周期,設(shè)CPU時鐘為12MHz,則機(jī)器周期為1us,30條指令為60us,加上AD574采樣周期的20us,共80us。50個采樣周期需4ms。用狀態(tài)機(jī)實現(xiàn): 整個采樣周期需要4至
13、5個狀態(tài)即可完成。若FPGA的時鐘頻率為100MHz,狀態(tài)轉(zhuǎn)移時間為一個時鐘周期,即10ns,一個采樣周期約50ns,不到單片機(jī)60us采樣周期的千分之一。CECS RC K12/8 A0工 作 狀 態(tài)0XXXX禁止X1XXX禁止100X0啟動12位轉(zhuǎn)換100X1啟動8位轉(zhuǎn)換1011X12位并行輸出有效10100高8位并行輸出有效10101低4位加上尾隨4個0有效表表7-1 AD574邏輯控制真值表(邏輯控制真值表(X表示任意)表示任意)圖圖7-3 AD574工作時序工作時序 圖圖7-4 AD574工作時序工作時序圖圖7-5 采樣狀態(tài)機(jī)結(jié)構(gòu)框圖采樣狀態(tài)機(jī)結(jié)構(gòu)框圖【例例7-2】LIBRARY I
14、EEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY ad574 IS PORT (D :IN STD_LOGIC_VECTOR(11 DOWNTO 0); CLK ,STATUS : IN STD_LOGIC;-狀態(tài)機(jī)時鐘CLK,AD574狀態(tài)信號 LOCK0 : OUT STD_LOGIC; -內(nèi)部鎖存信號LOCK的測試信號 CS,A0,RC,K12X8 : OUT STD_LOGIC; -AD574控制信號 Q : OUT STD_LOGIC_VECTOR(11 DOWNTO 0); -鎖存數(shù)據(jù)輸出END ad574;ARCHITECTURE behav OF
15、 ad574 IS TYPE states IS (st0, st1, st2, st3,st4); SIGNAL current_state, next_state: states :=st0 ; SIGNAL REGL : STD_LOGIC_VECTOR(11 DOWNTO 0); SIGNAL LOCK : STD_LOGIC; BEGIN K12X8 = 1; LOCK0 next_state next_state IF (STATUS=1) THEN next_state = st2; ELSE next_state next_state next_state next_state
16、 CS=1; A0=1;RC=1;LOCK CS=0; A0=0;RC=0;LOCK CS=0; A0=0;RC=0;LOCK CS=0; A0=0;RC=1;LOCK CS=0; A0=0;RC=1;LOCKCS=1; A0=1;RC=1;LOCK=0;-其它返回初始態(tài) END CASE ;END PROCESS COM2 ;REG: PROCESS (CLK) - 時序進(jìn)程 BEGIN IF ( CLKEVENT AND CLK=1) THEN current_state = next_state; END IF;END PROCESS REG; LATCH1 : PROCESS (LOC
17、K) - 數(shù)據(jù)鎖存器進(jìn)程 BEGIN IF LOCK=1 AND LOCKEVENT THEN REGL = D ; END IF;END PROCESS ; Q next_state = st1; CS=1; A0=1;RC=1;LOCK next_state = st2; CS=0; A0=0;RC=0;LOCK IF (STATUS=1) THEN next_state = st2; ELSE next_state = st3; END IF ; CS=0; A0=0;RC=0;LOCK next_state = st4; CS=0; A0=0;RC=1;LOCK next_state
18、= st0; CS=0; A0=0;RC=1;LOCK next_state = st0; END CASE ;END PROCESS COM ; PROCESSREG時序進(jìn)程PROCESSCOM組合進(jìn)程PROCESSLATCH鎖存器current_statenext_stateLOCK狀態(tài)機(jī)FSMFPGA/CPLDFPGA/CPLDCLK CS A0 RC K12/8 STATUSD11.0AD574Q11.0模擬信號輸入采樣數(shù)據(jù)輸出7.2.2 單進(jìn)程單進(jìn)程Moore型型 有限狀態(tài)機(jī)有限狀態(tài)機(jī)【例例7-4】單進(jìn)程狀態(tài)機(jī)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.
19、ALL;ENTITY MOORE1 IS PORT (DATAIN :IN STD_LOGIC_VECTOR(1 DOWNTO 0); CLK,RST : IN STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END MOORE1;ARCHITECTURE behav OF MOORE1 IS TYPE ST_TYPE IS (ST0, ST1, ST2, ST3,ST4); SIGNAL C_ST : ST_TYPE ;BEGIN PROCESS(CLK,RST) BEGIN IF RST =1 THEN C_ST = ST0 ; Q IF D
20、ATAIN =10 THEN C_ST = ST1 ; ELSE C_ST = ST0 ; END IF; Q IF DATAIN =11 THEN C_ST = ST2 ; ELSE C_ST = ST1 ;END IF; Q IF DATAIN =01 THEN C_ST = ST3 ; ELSE C_ST = ST0 ;END IF; Q IF DATAIN =00 THEN C_ST = ST4 ; ELSE C_ST = ST2 ;END IF; Q IF DATAIN =11 THEN C_ST = ST0 ; ELSE C_ST = ST3 ;END IF; Q C_ST = S
21、T0; END CASE; END IF; END PROCESS;END behav;接上頁接上頁接上頁接上頁CASE語句處于測試時鐘上升沿的條件語句中,因此在綜合中對Q的賦值操作必然引起對Q的鎖存。由于Q的輸出信號在下一狀態(tài)出現(xiàn)時,有時鐘上升沿鎖入鎖存器后輸出,即有時序器件同步輸出,從而很好地避免了競爭冒險現(xiàn)象。圖圖7-7 例例7-4狀態(tài)機(jī)綜合后的狀態(tài)機(jī)綜合后的RTL電路模塊圖電路模塊圖圖圖7-8 例例7-4單進(jìn)程狀態(tài)機(jī)工作時序單進(jìn)程狀態(tài)機(jī)工作時序圖圖7-9 對應(yīng)于例對應(yīng)于例7-4的的2進(jìn)程狀態(tài)機(jī)工作時序圖進(jìn)程狀態(tài)機(jī)工作時序圖 7.3. Mealy型有限型有限 狀態(tài)機(jī)的設(shè)計狀態(tài)機(jī)的設(shè)計從信
22、號輸出方式上分類從信號輸出方式上分類:Moor型狀態(tài)機(jī)型狀態(tài)機(jī) 屬于異步輸出狀態(tài)機(jī),輸出僅為當(dāng)前狀態(tài)的函數(shù)。這類狀態(tài)機(jī)在輸入發(fā)生變化,還必須等待時鐘的到來,時鐘使?fàn)顟B(tài)發(fā)生變化時才導(dǎo)致輸出的變化。Mealy型狀態(tài)機(jī)型狀態(tài)機(jī) 屬于同步輸出狀態(tài)機(jī),輸出是當(dāng)前狀態(tài)和所有輸入信號的函數(shù)。這類狀態(tài)機(jī)的輸出是在輸入發(fā)生變化后立即發(fā)生的,不依賴時鐘的同步?!纠?-5】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY MEALY1 ISPORT ( CLK ,DATAIN,RESET : IN STD_LOGIC; Q : OUT STD_LOGIC_VECT
23、OR(4 DOWNTO 0);END MEALY1;ARCHITECTURE behav OF MEALY1 IS TYPE states IS (st0, st1, st2, st3,st4); SIGNAL STX : states ; BEGIN COMREG : PROCESS(CLK,RESET) BEGIN -決定轉(zhuǎn)換狀態(tài)的進(jìn)程 IF RESET =1 THEN STX IF DATAIN = 1 THEN STX IF DATAIN = 0 THEN STX IF DATAIN = 1 THEN STX IF DATAIN = 0 THEN STX IF DATAIN = 1 T
24、HEN STX STX IF DATAIN = 1 THEN Q = 10000 ; ELSE Q IF DATAIN = 0 THEN Q = 10111 ; ELSE Q IF DATAIN = 1 THEN Q = 10101 ; ELSE Q IF DATAIN = 0 THEN Q = 11011 ; ELSE Q IF DATAIN = 1 THEN Q = 11101 ; ELSE Q Q=00000 ; END CASE ;END PROCESS COM1 ;END behav; q進(jìn)程COM1負(fù)責(zé)根據(jù)狀態(tài)和輸入信號給出不同的輸出信號。q與Moore型狀態(tài)機(jī)相同, Mealy機(jī)
25、的組合進(jìn)程中的輸出信號是當(dāng)前狀態(tài)和當(dāng)前輸入的函數(shù)。用于配合狀態(tài)及工作的組合進(jìn)程或時序進(jìn)程。4. 4. 輔助進(jìn)程輔助進(jìn)程【例7-1】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY s_machine IS PORT ( clk,reset : IN STD_LOGIC; state_inputs : IN STD_LOGIC_VECTOR (0 TO 1); comb_outputs : OUT INTEGER RANGE 0 TO 15 );END s_machine;ARCHITECTURE behv OF s_machine IS TYPE
26、FSM_ST IS (s0, s1, s2, s3); SIGNAL current_state, next_state: FSM_ST;BEGIN REG: PROCESS (reset,clk)主控時序進(jìn)程主控時序進(jìn)程 BEGIN IF reset = 1 THEN current_state = s0; -異步清零 ELSIF clk=1 AND clkEVENT THEN current_state comb_outputs= 5; IF state_inputs = 00 THEN next_state=s0; ELSE next_state comb_outputs= 8; IF
27、state_inputs = 00 THEN next_state=s1; ELSE next_state comb_outputs= 12; IF state_inputs = 11 THEN next_state = s0; ELSE next_state comb_outputs = 14; IF state_inputs = 11 THEN next_state = s3; ELSE next_state IF DATAIN = 1 THEN Q2 := 10000 ; ELSE Q2 := 01010 ;END IF ; WHEN st1 = IF DATAIN = 0 THEN Q
28、2 := 10111 ; ELSE Q2:=10100 ;END IF ; WHEN st2 = IF DATAIN = 1 THEN Q2 := 10101 ; ELSE Q2:=10011 ;END IF ; WHEN st3= IF DATAIN = 0 THEN Q2 := 11011 ; ELSE Q2:=01001 ;END IF ; WHEN st4= IF DATAIN = 1 THEN Q2 := 11101 ; ELSE Q2:=01101 ;END IF ; WHEN OTHERS = Q2:=00000 ; END CASE ; IF CLKEVENT AND CLK
29、= 1 THEN Q1=Q2; END IF; END PROCESS COM1 ;Q = Q1 ;END behav;圖圖7-11 例例7-6狀態(tài)機(jī)工作時序圖狀態(tài)機(jī)工作時序圖【例例7-4】單進(jìn)程狀態(tài)機(jī)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MOORE1 IS PORT (DATAIN :IN STD_LOGIC_VECTOR(1 DOWNTO 0); CLK,RST : IN STD_LOGIC; Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END MOORE1;ARCHITECTURE behav OF
30、MOORE1 IS TYPE ST_TYPE IS (ST0, ST1, ST2, ST3,ST4); SIGNAL C_ST : ST_TYPE ;BEGIN PROCESS(CLK,RST) BEGIN IF RST =1 THEN C_ST = ST0 ; Q IF DATAIN =10 THEN C_ST = ST1 ; ELSE C_ST = ST0 ; END IF; Q IF DATAIN =11 THEN C_ST = ST2 ; ELSE C_ST = ST1 ;END IF; Q IF DATAIN =01 THEN C_ST = ST3 ; ELSE C_ST = ST0
31、 ;END IF; Q IF DATAIN =00 THEN C_ST = ST4 ; ELSE C_ST = ST2 ;END IF; Q IF DATAIN =11 THEN C_ST = ST0 ; ELSE C_ST = ST3 ;END IF; Q C_ST next_state next_state IF (STATUS=1) THEN next_state = st2; ELSE next_state next_state next_state next_state = st0; END CASE ; OUT4 = current_state(4 DOWNTO 1); END P
32、ROCESS COM1 ;REG: PROCESS (CLK) - 時序進(jìn)程 BEGIN IF ( CLKEVENT AND CLK=1) THEN current_state = next_state; END IF; END PROCESS REG; LK = current_state(1) ; LATCH1 : PROCESS ( LK ) - 數(shù)據(jù)鎖存器進(jìn)程 BEGIN IF LK=1 AND LKEVENT THEN REGL = D ; END IF; END PROCESS ; Q next_statenext_state next_state = st0; END case;
33、 狀態(tài)機(jī)剩余狀態(tài)處理狀態(tài)機(jī)剩余狀態(tài)處理【例例7-10】.alarm = (st0 AND (st1 OR st2 OR st3 OR st4 OR st5) OR (st1 AND (st0 OR st2 OR st3 OR st4 OR st5) OR (st2 AND (st0 OR st1 OR st3 OR st4 OR st5) OR (st3 AND (st0 OR st1 OR st2 OR st4 OR st5) OR (st4 AND (st0 OR st1 OR st2 OR st3 OR st5) OR (st5 AND (st0 OR st1 OR st2 OR st3
34、 OR st4) ; 狀態(tài)機(jī)剩余狀態(tài)處理狀態(tài)機(jī)剩余狀態(tài)處理 一位熱鍵編碼方式狀態(tài)機(jī)剩余狀態(tài)處理一位熱鍵編碼方式狀態(tài)機(jī)剩余狀態(tài)處理 鑒于一位熱碼編碼方式的特點,正常的狀態(tài)只可能有1個觸發(fā)器的狀態(tài)為1,其余所有的觸發(fā)器的狀態(tài)皆為0,即任何多于1個觸發(fā)器為1的狀態(tài)都屬于非法狀態(tài)。 CLKRSTENA 數(shù)碼管動態(tài)掃描計數(shù)顯示模塊 模塊介紹1、DIV模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity div is port( clk:in std_logic; outy:out std_log
35、ic);end div; architecture behav of div is signal sig : std_logic; signal count :std_logic_vector(9 downto 0); begin process(clk) begin if( clkEVENT and clk=1) then if (count=1111111111) then count0);sig=1; else count = count + 1; sig=0; end if; end if;end process;outy=sig;end behav; 模塊介紹2、COUNT10模塊L
36、IBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.sTD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS PORT ( CLK : IN STD_LOGIC; RST : IN STD_LOGIC; ENA : IN STD_LOGIC; COUT : OUT STD_LOGIC; OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END CNT10;ARCHITECTURE BEHAV OF CNT10 IS signal CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);
37、BEGIN P_REG: PROCESS(CLK,RST,ENA) BEGIN IF RST=1 THEN CQI= 0000; ELSIF CLKEVENT AND CLK= 1 THEN IF ENA=1 THEN IF CQI1001 THEN CQI=CQI+1; ELSE CQI=0000; END IF; END IF; END IF; if CQI=0000 then count=1; else cout=0; end if; OUTY=CQI; END PROCESS P_REG; END BEHAV; 模塊介紹3、CNT4模塊LIBRARY IEEE;use ieee.std
38、_logic_1164.all;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt4 IS PORT( clk : in std_logic; date : out std_logic_vector(1 downto 0);end cnt4; architecture rtl of cnt4 is signal date_tmp : std_logic_vector(1 downto 0);begin process( clk) begin if(clkEVENT and clk=1) then IF (date_tmp=11) THEN date_tmp0)
39、; ELSE date_tmp=date_tmp+1; END IF; end if; date=date_tmp; end process;end rtl; 模塊介紹4、BITSEL模塊LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY bitsel ISPORT( B : IN STD_LOGIC_VECTOR(1 DOWNTO 0);BSEL : OUTSTD_LOGIC_VECTOR(3 downto 0);END BITSEL;ARCHITECTURE BEHAV OF bitsel ISBEGIN BSEL =0001 WHEN B=0 ELSE 0010 WHEN B=1 ELSE 0100 WHEN B=2 ELSE 1000 WHEN B=3 ELSE 0000; END BEHAV; 模塊介紹5、LED8S模塊-LIBRARY IEEE;USE IEEE.STD_LOG
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 服裝內(nèi)容推廣方案(3篇)
- DB23-T2959-2021-篤斯越桔種質(zhì)資源圃營建技術(shù)規(guī)程-黑龍江省
- DB23-T2881-2021-沙地云杉播種育苗技術(shù)規(guī)程-黑龍江省
- 國際醫(yī)療中心管理制度
- 國企采購需求管理制度
- 培訓(xùn)學(xué)校支出管理制度
- 尾氣回收設(shè)施管理制度
- 供電單位復(fù)工方案(3篇)
- 合同存檔安全管理制度
- 養(yǎng)殖企業(yè)飼料管理制度
- SA8000:2014社會責(zé)任-中文
- 四年級如何進(jìn)行有效期末復(fù)習(xí)課件
- 腫瘤醫(yī)院推廣方案
- 動物出血性肺炎預(yù)防與治療
- 公路工程安全風(fēng)險辨識與防控手冊
- 研究生開題報告評審表
- 統(tǒng)編版語文二年級下冊《黃帝的傳說》教學(xué)課件
- 海南大學(xué)本科畢業(yè)論文正文范文
- SCA涂膠機(jī)定量機(jī)維護(hù)作業(yè)指導(dǎo)書
- XX跨境電商公司運營人員晉升及淘汰制度方案
- 構(gòu)建中學(xué)人工智能教育的教學(xué)計劃
評論
0/150
提交評論