




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四章第四章 VHDLVHDL設(shè)計(jì)進(jìn)階設(shè)計(jì)進(jìn)階第一節(jié)第一節(jié) 4位加法計(jì)數(shù)器的位加法計(jì)數(shù)器的VHDL描述描述【例【例4-20】ENTITY CNT4 IS PORT ( CLK : IN BIT ; Q : BUFFER INTEGER RANGE 15 DOWNTO 0 ) ; END ; ARCHITECTURE bhv OF CNT4 IS BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN Q = Q + 1 ; END IF; END PROCESS ;END bhv;4 4位加法計(jì)數(shù)器的另一種表達(dá)方式位加法計(jì)數(shù)器的另一種表達(dá)方
2、式【例【例4-21】 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; ENTITY CNT4 IS PORT ( CLK : IN STD_LOGIC ; Q : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ) ; END ; ARCHITECTURE bhv OF CNT4 ISSIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 T
3、HEN Q1 = Q1 + 1 ; END IF; Q 0) ; -計(jì)數(shù)器復(fù)位計(jì)數(shù)器復(fù)位 ELSIF CLKEVENT AND CLK=1 THEN -檢測(cè)時(shí)鐘上升沿檢測(cè)時(shí)鐘上升沿 IF EN = 1 THEN -檢測(cè)是否允許計(jì)數(shù)檢測(cè)是否允許計(jì)數(shù) IF CQI 0);-大于大于9,計(jì)數(shù)值清零,計(jì)數(shù)值清零 END IF; END IF; END IF; IF CQI = 1001 THEN COUT = 1; -計(jì)數(shù)大于計(jì)數(shù)大于9,輸出進(jìn)位信,輸出進(jìn)位信號(hào)號(hào) ELSE COUT = 0; END IF; CQ XOTHERS=X) 為了簡(jiǎn)化表達(dá)才使用短語為了簡(jiǎn)化表達(dá)才使用短語“(OTHERS=X
4、)”,這是,這是一個(gè)省略賦值操作符,它可以在較多位的位矢量賦值一個(gè)省略賦值操作符,它可以在較多位的位矢量賦值中作省略化的賦值,如以下語句:中作省略化的賦值,如以下語句: SIGNAL d1 : STD_LOGIC_VECTOR(4 DOWNTO 0); VARIABLE a1 : STD_LOGIC_VECTOR(15 DOWNTO 0); . d1 0); a1 := (OTHERS=0) ;圖圖4-15 例例4-22的工作時(shí)序的工作時(shí)序第二節(jié) 不同工作方式的時(shí)序電路設(shè)計(jì)不同工作方式的時(shí)序電路設(shè)計(jì)二、VHDL數(shù)據(jù)對(duì)象(Data Object) 在在VHDL語言中語言中,凡可以賦于一個(gè)值凡可以
5、賦于一個(gè)值的客體叫的客體叫對(duì)象對(duì)象(object)。VHDL對(duì)象包對(duì)象包含有專門數(shù)據(jù)類型,主要有含有專門數(shù)據(jù)類型,主要有3個(gè)基本類型:個(gè)基本類型:常量常量(constant)、)、信號(hào)信號(hào)(signal)、)、變量變量(variable)。)。1、常量(CONSTANT)(1)使用范圍使用范圍:常量是全局量,在結(jié):常量是全局量,在結(jié)構(gòu)體描述、包集合說明、實(shí)體說明、構(gòu)體描述、包集合說明、實(shí)體說明、過程說明、函數(shù)調(diào)用說明和過程說明過程說明、函數(shù)調(diào)用說明和過程說明中使用。中使用。 (2)常量賦值后,在)常量賦值后,在VHDL程序中程序中始始終不變終不變;常量;常量只能賦值一次只能賦值一次; 常量是設(shè)
6、計(jì)者給實(shí)體中某一常量名賦予常量是設(shè)計(jì)者給實(shí)體中某一常量名賦予的固定值。一般地,常量賦值在程序開的固定值。一般地,常量賦值在程序開始前進(jìn)行說明,數(shù)據(jù)類型在實(shí)體說明語始前進(jìn)行說明,數(shù)據(jù)類型在實(shí)體說明語句中指明句中指明。 常量說明的一般格式如下常量說明的一般格式如下: CONSTANT 常數(shù)名常數(shù)名:數(shù)據(jù)類型數(shù)據(jù)類型:=表達(dá)表達(dá)式式;CONSTANT FBT:STD_LOGIC_VECTOR:=“010110”;CONSTANT DATAIN:INTEGER:=15;2、變量(VARIABLE)(1)使用范圍使用范圍:變量是局部量,在進(jìn)程說明、函數(shù)調(diào):變量是局部量,在進(jìn)程說明、函數(shù)調(diào)用說明、過程說明
7、中使用。用說明、過程說明中使用。(2)變量是一個(gè))變量是一個(gè)局部量局部量,變量的賦值立即生效,不產(chǎn),變量的賦值立即生效,不產(chǎn)生賦值延時(shí)。生賦值延時(shí)。變量書寫的一般定義格式為變量書寫的一般定義格式為: VARIABLE 變量名變量名:數(shù)據(jù)類型數(shù)據(jù)類型 :=表達(dá)式表達(dá)式; (3) 賦值格式賦值格式: 變量名變量名:=表達(dá)式表達(dá)式; VARIABLE a:INTEGER RANGE 0 TO 15; VARIABLE d:STD_LOGIC;3、信號(hào)(SIGNAL)(1)使用范圍使用范圍:信號(hào)是全局量,在結(jié)構(gòu)體描:信號(hào)是全局量,在結(jié)構(gòu)體描述、包集合說明、實(shí)體說明中使用。述、包集合說明、實(shí)體說明中使用
8、。(2)信號(hào)是電子電路內(nèi)部硬件實(shí)體相互連接)信號(hào)是電子電路內(nèi)部硬件實(shí)體相互連接的抽象表示。信號(hào)通常在構(gòu)造體、包集合和的抽象表示。信號(hào)通常在構(gòu)造體、包集合和實(shí)體說明中使用,其實(shí)體說明中使用,其書寫格式為書寫格式為: SIGNAL 信號(hào)名信號(hào)名:數(shù)據(jù)類型數(shù)據(jù)類型 :=表達(dá)式表達(dá)式;有關(guān)信號(hào)的賦值規(guī)則有關(guān)信號(hào)的賦值規(guī)則:“:=”表示對(duì)信號(hào)直接賦值,可用來表示表示對(duì)信號(hào)直接賦值,可用來表示信號(hào)初始值不產(chǎn)生延時(shí)。信號(hào)初始值不產(chǎn)生延時(shí)?!?”表示代入賦值,是變量之間信號(hào)的表示代入賦值,是變量之間信號(hào)的傳遞,代入賦值法允許產(chǎn)生延時(shí)。傳遞,代入賦值法允許產(chǎn)生延時(shí)。 信號(hào)的賦值可以出現(xiàn)在一個(gè)進(jìn)程中,也信號(hào)的賦值
9、可以出現(xiàn)在一個(gè)進(jìn)程中,也可以直接出現(xiàn)在結(jié)構(gòu)體的并行語句結(jié)構(gòu)可以直接出現(xiàn)在結(jié)構(gòu)體的并行語句結(jié)構(gòu)中,但運(yùn)行含義不同,前者為順序信號(hào)中,但運(yùn)行含義不同,前者為順序信號(hào)賦值,后者屬于并行信號(hào)賦值,其賦值賦值,后者屬于并行信號(hào)賦值,其賦值操作是獨(dú)立進(jìn)行的。操作是獨(dú)立進(jìn)行的。Signal a,b,c,x,y,z: integer;.Process (a,b,c)Begin y=a+b; z=c-x; y=b;End process;4、進(jìn)程中的信號(hào)與變量賦值語句進(jìn)程中的信號(hào)與變量賦值語句 一般地,從硬件電路系統(tǒng)來看,變量和一般地,從硬件電路系統(tǒng)來看,變量和信號(hào)相當(dāng)于邏輯電路系統(tǒng)中的信號(hào)相當(dāng)于邏輯電路系統(tǒng)中
10、的連線上的連線上的信號(hào)值信號(hào)值;常量相當(dāng)于電路中的;常量相當(dāng)于電路中的恒定電平恒定電平。 從行為仿真和從行為仿真和VHDL語句功能上看,信語句功能上看,信號(hào)與變量的差異在于號(hào)與變量的差異在于接受和保持信號(hào)的接受和保持信號(hào)的方式與傳遞的區(qū)域大小上方式與傳遞的區(qū)域大小上。綜合后對(duì)應(yīng)。綜合后對(duì)應(yīng)的硬件電路結(jié)構(gòu)中信號(hào)和變量沒有區(qū)別。的硬件電路結(jié)構(gòu)中信號(hào)和變量沒有區(qū)別。 信號(hào)信號(hào)SIGNAL 變量變量VARIABLE基本用法基本用法 用于作為電路中的信號(hào)連線用于作為電路中的信號(hào)連線 用于作為進(jìn)程中局部數(shù)據(jù)存儲(chǔ)單元用于作為進(jìn)程中局部數(shù)據(jù)存儲(chǔ)單元適用范圍適用范圍 在整個(gè)結(jié)構(gòu)體內(nèi)的任何地方都能適用在整個(gè)結(jié)構(gòu)體
11、內(nèi)的任何地方都能適用只能在所定義的進(jìn)程中使用只能在所定義的進(jìn)程中使用行為特性行為特性 在進(jìn)程的最后才對(duì)信號(hào)賦值在進(jìn)程的最后才對(duì)信號(hào)賦值 立即賦值立即賦值表表5-1 信號(hào)與變量賦值語句功能的比較信號(hào)與變量賦值語句功能的比較【例【例6-1】 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF3 IS PORT ( CLK,D1 : IN STD_LOGIC ; Q1 : OUT STD_LOGIC); END ; ARCHITECTURE bhv OF DFF3 IS BEGIN PROCESS (CLK) VARIABLE QQ : S
12、TD_LOGIC ; BEGIN IF CLKEVENT AND CLK = 1 THEN QQ := D1 ; END IF; Q1 = QQ; END PROCESS ; END ;OPOPCPIPQD【例例6-2】 . . . ARCHITECTURE bhv OF DFF3 IS SIGNAL QQ : STD_LOGIC ; BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK =1 THEN QQ = D1 ; END IF; Q1 = QQ; END PROCESS ; END ;【例【例6-3】 LIBRARY IEEE ; USE IEE
13、E.STD_LOGIC_1164.ALL ; ENTITY DFF3 IS PORT ( CLK,D1 : IN STD_LOGIC ; Q1 : OUT STD_LOGIC); END ; ARCHITECTURE bhv OF DFF3 IS SIGNAL A,B : STD_LOGIC ; BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN A = D1; B = A; Q1 =B; END IF; END PROCESS ; END ;【例【例6-4】LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.
14、ALL ; ENTITY DFF3 IS PORT ( CLK,D1 : IN STD_LOGIC ; Q1 : OUT STD_LOGIC); END ; ARCHITECTURE bhv OF DFF3 IS BEGIN PROCESS (CLK) VARIABLE A,B : STD_LOGIC ; BEGIN IF CLKEVENT AND CLK =1 THEN A:= D1; B := A; Q1 = B; END IF; END PROCESS ; END ;DQDQDQDQD 1Q 1D 1Q 1C LKC LK圖圖6-2例例6-3的的RTL電路電路 圖圖6-1 例例6-4的的
15、RTL電路電路【例【例6-6】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 ISPORT (i0, i1, i2, i3, a, b : IN STD_LOGIC; q : OUT STD_LOGIC);END mux4;ARCHITECTURE body_mux4 OF mux4 ISsignal muxval : integer range 7 downto 0;BEGINprocess(i0,i1,i2,i3,a,b)begin muxval = 0;if (a = 1) then muxval = muxval + 1; en
16、d if;if (b = 1) then muxval q q q q null;end case;end process; END body_mux4;【例【例6-7】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 ISPORT (i0, i1, i2, i3, a, b : IN STD_LOGIC; q : OUT STD_LOGIC);END mux4;ARCHITECTURE body_mux4 OF mux4 ISBEGINprocess(i0,i1,i2,i3,a,b)variable muxval : integer r
17、ange 7 downto 0;begin muxval := 0;if (a = 1) then muxval := muxval + 1; end if;if (b = 1) then muxval := muxval + 2; end if;case muxval is when 0 = q q q q null;end case;end process; END body_mux4;圖圖6-3 例例6-6的的RTL電路電路例例6-4的的RTL電路電路圖圖6-5 例例6-6的錯(cuò)誤的工作時(shí)序的錯(cuò)誤的工作時(shí)序圖圖6-6 例例6-7的正確工作時(shí)序的正確工作時(shí)序三、三、 帶有并行置位的移位寄存器
18、帶有并行置位的移位寄存器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SHFRT IS - 8位右移寄存器位右移寄存器 PORT ( CLK,LOAD : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0); QB : OUT STD_LOGIC );END SHFRT;ARCHITECTURE behav OF SHFRT IS BEGIN PROCESS (CLK, LOAD) VARIABLE REG8 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN IF C
19、LKEVENT AND CLK = 1 THEN IF LOAD = 1 THEN - 裝載新數(shù)據(jù)裝載新數(shù)據(jù) REG8 := DIN; ELSE REG8(6 DOWNTO 0) := REG8(7 DOWNTO 1); END IF; END IF; QB = REG8(0); END PROCESS; - 輸出最低位輸出最低位END behav;【例4-23】圖圖4-16 例例4-23的工作時(shí)序的工作時(shí)序(1 1)在第)在第一個(gè)時(shí)鐘到來時(shí),一個(gè)時(shí)鐘到來時(shí),LOADLOAD恰為高電平恰為高電平(2 2)第二個(gè)時(shí)鐘,以及以后的時(shí)鐘信號(hào)都是移位時(shí)鐘)第二個(gè)時(shí)鐘,以及以后的時(shí)鐘信號(hào)都是移位時(shí)鐘(3
20、 3)第二)第二個(gè)時(shí)鐘后,個(gè)時(shí)鐘后,QBQB輸出了右移出的第輸出了右移出的第2 2個(gè)位個(gè)位11第三節(jié)第三節(jié) 雙向電路和三態(tài)控制電路設(shè)計(jì)雙向電路和三態(tài)控制電路設(shè)計(jì) 在在FPGA的開發(fā)設(shè)計(jì)中可應(yīng)用的開發(fā)設(shè)計(jì)中可應(yīng)用VHDL語語言描述三態(tài)控制電路。通過言描述三態(tài)控制電路。通過STD_LOGIC中的中的Z對(duì)變量賦值,引對(duì)變量賦值,引入三態(tài)門,在控制信號(hào)的控制下可使其入三態(tài)門,在控制信號(hào)的控制下可使其輸出量呈高阻態(tài)。輸出量呈高阻態(tài)。一、三態(tài)門設(shè)計(jì)【例【例6-9】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY tri_s IS port ( enable :
21、 IN STD_LOGIC; datain : IN STD_LOGIC_VECTOR(7 DOWNTO 0); dataout : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END tri_s ; ARCHITECTURE bhv OF tri_s ISBEGINPROCESS(enable,datain) BEGIN IF enable = 1 THEN dataout = datain ; ELSE dataout =ZZZZZZZZ ; END IF ;END PROCESS;END bhv;圖圖6-8 8位位3態(tài)控制門電路態(tài)控制門電路注意注意:(1)需將信號(hào)定
22、義為)需將信號(hào)定義為STD_LOGIC數(shù)據(jù)數(shù)據(jù)類型,才能將類型,才能將Z賦給變量,每個(gè)賦給變量,每個(gè)Z表示一個(gè)邏輯位。表示一個(gè)邏輯位。(2)表示高阻態(tài))表示高阻態(tài)Z必須大寫。必須大寫。(3)對(duì)于目標(biāo)器件為)對(duì)于目標(biāo)器件為FPGA/CPLD的,的,三態(tài)門的適配視具體器件決定。三態(tài)門的適配視具體器件決定。二、雙向端口設(shè)計(jì) 用用INOUT模式設(shè)計(jì)雙向端口必須考慮端模式設(shè)計(jì)雙向端口必須考慮端口的三態(tài)控制,即雙向端口在完成輸入口的三態(tài)控制,即雙向端口在完成輸入功能時(shí),必須使原來成輸出模式的端口功能時(shí),必須使原來成輸出模式的端口呈高阻態(tài),否則,待輸出的外部數(shù)據(jù)會(huì)呈高阻態(tài),否則,待輸出的外部數(shù)據(jù)會(huì)與端口處原
23、有的電平發(fā)生與端口處原有的電平發(fā)生“線與線與”,導(dǎo),導(dǎo)致無法將外部數(shù)據(jù)正確的讀入,從而實(shí)致無法將外部數(shù)據(jù)正確的讀入,從而實(shí)現(xiàn)雙向的功能。現(xiàn)雙向的功能。【例【例6-10】library ieee;use ieee.std_logic_1164.all;entity tri_state isport (control : in std_logic; in1: in std_logic_vector(7 downto 0); q : inout std_logic_vector(7 downto 0); x : out std_logic_vector(7 downto 0);end tri_sta
24、te;architecture body_tri of tri_state isbeginprocess(control,q,in1)beginif (control = 0) then x = q ; else q = in1; x=ZZZZZZZZ ;end if;end process;end body_tri;圖圖6-10 例例6-10的仿真波形圖的仿真波形圖【例【例6-11】(以上部分同上例)(以上部分同上例)process(control,q,in1)beginif (control=0) then x = q ; q = ZZZZZZZZ; else q = in1; x =ZZ
25、ZZZZZZ;end if;end process;end body_tri;圖圖6-12 例例6-11的仿真波形圖的仿真波形圖圖圖6-9 例例6-10的綜合結(jié)果的綜合結(jié)果圖圖6-11 例例6-11的綜合結(jié)果的綜合結(jié)果三、三態(tài)總線電路設(shè)計(jì)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY tristate2 IS port ( input3, input2, input1, input0 : IN STD_LOGIC_VECTOR (7 DOWNTO 0); enable : IN STD_LOGIC_VECTOR(1 DOWNTO 0); outp
26、ut : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END tristate2 ; ARCHITECTURE multiple_drivers OF tristate2 ISBEGINPROCESS(enable,input3, input2, input1, input0 ) BEGIN IF enable = 00 THEN output = input3 ; ELSE output Z); END IF ; IF enable = 01 THEN output = input2 ; ELSE output Z); END IF ; IF enable = 10
27、THEN output = input1 ; ELSE output Z); END IF ; IF enable = 11 THEN output = input0 ; ELSE output Z); END IF ;END PROCESS;END multiple_drivers;圖圖6-13 例例6-12錯(cuò)誤的綜合結(jié)果錯(cuò)誤的綜合結(jié)果【例【例6-13】library ieee;use ieee.std_logic_1164.all;entity tri isport (ctl : in std_logic_vector(1 downto 0); datain1, datain2,datai
28、n3, datain4 : in std_logic_vector(7 downto 0); q : out std_logic_vector(7 downto 0) );end tri;architecture body_tri of tri isbegin q Z) ; q Z) ; q Z) ; q Z) ;end body_tri;圖圖6-14 例例6-13正確的綜合結(jié)果正確的綜合結(jié)果四、順序條件語句IF語句條件語句條件語句:根據(jù)制定根據(jù)制定的條件來確定語句的條件來確定語句執(zhí)行順序。執(zhí)行順序。(1)IF 條件句條件句 Then 順序語句順序語句 END IF ;(2)IF 條件句條件句
29、 Then 順序語句順序語句 ELSE 順序語句順序語句 END IF ;(3)IF 條件句條件句 Then IF 條件句條件句 Then . END IF END IF (4)IF 條件句條件句 Then 順序語句順序語句 ELSIF 條件句條件句 Then . ELSE 順序語句順序語句 END IF【例【例6-14】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY coder IS PORT ( din : IN STD_LOGIC_VECTOR(0 TO 7); output : OUT STD_LOGIC_VECTOR(0 TO 2) )
30、;END coder;ARCHITECTURE behav OF coder IS SIGNAL SINT : STD_LOGIC_VECTOR(4 DOWNTO 0); 表表6-2 8線線-3線優(yōu)先編碼器真值表線優(yōu)先編碼器真值表 輸輸 入入 輸輸 出出din0 din1 din2 din3 din4 din5 din6 din7 din0 din1 din2 din3 din4 din5 din6 din7 output0 output1 output2 output0 output1 output2 x x x x x x x 0 0 0 0 x x x x x x x 0 0 0 0 x
31、 x x x x x 0 1 1 0 0 x x x x x x 0 1 1 0 0 x x x x x 0 1 1 0 1 0 x x x x x 0 1 1 0 1 0 x x x x 0 1 1 1 1 1 0 x x x x 0 1 1 1 1 1 0 x x x 0 1 1 1 1 0 0 1 x x x 0 1 1 1 1 0 0 1 x x 0 1 1 1 1 1 1 0 1 x x 0 1 1 1 1 1 1 0 1 x 0 1 1 1 1 1 1 0 1 1 x 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
32、 1 1 1注:表中的注:表中的“x”為任意,類似為任意,類似VHDL中的中的“”值。值。BEGIN PROCESS (din) BEGIN IF (din(7)=0) THEN output = 000 ; ELSIF (din(6)=0) THEN output = 100 ; ELSIF (din(5)=0) THEN output = 010 ; ELSIF (din(4)=0) THEN output = 110 ; ELSIF (din(3)=0) THEN output = 001 ; ELSIF (din(2)=0) THEN output = 101 ; ELSIF (din
33、(1)=0) THEN output = 011 ; ELSE output = 111 ; END IF ; END PROCESS ; END behav;第四節(jié) 進(jìn)程語句結(jié)構(gòu)1、進(jìn)程的特點(diǎn)進(jìn)程的特點(diǎn)(1)進(jìn)程內(nèi)部的所有語句都是)進(jìn)程內(nèi)部的所有語句都是順序執(zhí)行順序執(zhí)行的。的。(2)多進(jìn)程之間是)多進(jìn)程之間是并行執(zhí)行并行執(zhí)行的,并可以的,并可以訪問結(jié)構(gòu)體或?qū)嶓w中所定義的信號(hào)。訪問結(jié)構(gòu)體或?qū)嶓w中所定義的信號(hào)。(3)進(jìn)程的啟動(dòng)進(jìn)程的啟動(dòng)是由進(jìn)程標(biāo)識(shí)符后的信是由進(jìn)程標(biāo)識(shí)符后的信號(hào)敏感變量表所標(biāo)明的信號(hào)來觸發(fā)啟動(dòng)號(hào)敏感變量表所標(biāo)明的信號(hào)來觸發(fā)啟動(dòng)進(jìn)程的活動(dòng),也可以用進(jìn)程的活動(dòng),也可以用WAIT語句等
34、待語句等待一個(gè)觸發(fā)條件的成立。一個(gè)觸發(fā)條件的成立。2、PROCESS 語句的格式進(jìn)程標(biāo)號(hào)進(jìn)程標(biāo)號(hào): PROCESS (敏感信號(hào)參數(shù)敏感信號(hào)參數(shù)表表) IS進(jìn)程說明部分進(jìn)程說明部分BEGIN 順序描述語句順序描述語句;END PROCESS 進(jìn)程標(biāo)號(hào)進(jìn)程標(biāo)號(hào);進(jìn)程語句的說明進(jìn)程語句的說明A、每個(gè)進(jìn)程可以包含、每個(gè)進(jìn)程可以包含一個(gè)標(biāo)號(hào)一個(gè)標(biāo)號(hào);B、進(jìn)程說明部分進(jìn)程說明部分:定義該進(jìn)程所需的局部數(shù)據(jù):定義該進(jìn)程所需的局部數(shù)據(jù)環(huán)境。環(huán)境。C、順序描述語句部分是一段順序執(zhí)行的語句,、順序描述語句部分是一段順序執(zhí)行的語句,描述該進(jìn)程的行為。描述該進(jìn)程的行為。D、PROCESS中,規(guī)定了每個(gè)進(jìn)程語句在它的中
35、,規(guī)定了每個(gè)進(jìn)程語句在它的敏感信號(hào)的值改變是都敏感信號(hào)的值改變是都必須立即完成必須立即完成某一行為,某一行為,這一行為由順序語句完成。這一行為由順序語句完成。3、PROCESS 組成A、進(jìn)程說明部分定義一些、進(jìn)程說明部分定義一些局部變量局部變量:如數(shù)據(jù)類:如數(shù)據(jù)類型、常量、變量、屬性、子程序等。型、常量、變量、屬性、子程序等。B、順序描述語句分為:賦值語句、進(jìn)程啟動(dòng)語、順序描述語句分為:賦值語句、進(jìn)程啟動(dòng)語句、子程序調(diào)用語句、順序描述語句和進(jìn)程跳句、子程序調(diào)用語句、順序描述語句和進(jìn)程跳出語句等。出語句等。C、敏感信號(hào)參數(shù)表敏感信號(hào)參數(shù)表需列出啟動(dòng)本進(jìn)程可讀入的需列出啟動(dòng)本進(jìn)程可讀入的信號(hào)名(當(dāng)
36、有信號(hào)名(當(dāng)有WAIT語句是例外)。語句是例外)。PROCESS語句結(jié)構(gòu)語句結(jié)構(gòu)進(jìn)程說明進(jìn)程說明順序描述語句順序描述語句敏感信號(hào)參數(shù)表敏感信號(hào)參數(shù)表信號(hào)賦值語句變量賦值語句進(jìn)程啟動(dòng)語句子程序調(diào)用語句順序描述語句進(jìn)程跳出語句進(jìn)程語句的性質(zhì)進(jìn)程語句的性質(zhì)A、一個(gè)結(jié)構(gòu)體中可以包含、一個(gè)結(jié)構(gòu)體中可以包含多個(gè)進(jìn)程多個(gè)進(jìn)程;B、進(jìn)程之間是、進(jìn)程之間是并行并行的;的;C、進(jìn)程的順序描述語句之間是、進(jìn)程的順序描述語句之間是順序執(zhí)行順序執(zhí)行的。的。D、進(jìn)程語句具有并行性和順序性,原因是它本、進(jìn)程語句具有并行性和順序性,原因是它本身是并行語句,而進(jìn)程語句是由順序語句組成身是并行語句,而進(jìn)程語句是由順序語句組成的。
37、的。 在在VHDL程序中,進(jìn)程語句使用的是最頻程序中,進(jìn)程語句使用的是最頻繁和最能體現(xiàn)繁和最能體現(xiàn)VHDL語言特點(diǎn)的一個(gè)語句。語言特點(diǎn)的一個(gè)語句。4、進(jìn)程要點(diǎn):1)在同一結(jié)構(gòu)體中的任一進(jìn)程是一個(gè)獨(dú)立的)在同一結(jié)構(gòu)體中的任一進(jìn)程是一個(gè)獨(dú)立的無無限循環(huán)限循環(huán)的程序結(jié)構(gòu),它沒有返回語句。的程序結(jié)構(gòu),它沒有返回語句。2)進(jìn)程有兩種狀態(tài):)進(jìn)程有兩種狀態(tài):執(zhí)行狀態(tài)執(zhí)行狀態(tài)和和等待狀態(tài)等待狀態(tài)。當(dāng)條件滿足時(shí),進(jìn)入執(zhí)行狀態(tài);否則進(jìn)入等待狀當(dāng)條件滿足時(shí),進(jìn)入執(zhí)行狀態(tài);否則進(jìn)入等待狀態(tài)。態(tài)。3)進(jìn)程啟動(dòng)到進(jìn)程結(jié)束的時(shí)間與任何外部因素?zé)o進(jìn)程啟動(dòng)到進(jìn)程結(jié)束的時(shí)間與任何外部因素?zé)o關(guān)。關(guān)。4)在同一結(jié)構(gòu)體中的不同進(jìn)程是
38、在同一結(jié)構(gòu)體中的不同進(jìn)程是并行運(yùn)行并行運(yùn)行的,但的,但同一進(jìn)程中的邏輯描述語句則是同一進(jìn)程中的邏輯描述語句則是順序運(yùn)行順序運(yùn)行的,的,因而在進(jìn)程中只能設(shè)置順序語句。因而在進(jìn)程中只能設(shè)置順序語句。5)、進(jìn)程的激活必須由、進(jìn)程的激活必須由敏感信號(hào)敏感信號(hào)中定義中定義的任何一個(gè)敏感信號(hào)的變化啟動(dòng),否則的任何一個(gè)敏感信號(hào)的變化啟動(dòng),否則必須有一個(gè)顯式的必須有一個(gè)顯式的WAIT語句來激勵(lì)。語句來激勵(lì)。6)、結(jié)構(gòu)體中的多個(gè)進(jìn)程之所以能、結(jié)構(gòu)體中的多個(gè)進(jìn)程之所以能并行并行同步運(yùn)行同步運(yùn)行,一個(gè)重要的原因是進(jìn)程之間,一個(gè)重要的原因是進(jìn)程之間的通信是通過傳遞信號(hào)和共享變量值實(shí)的通信是通過傳遞信號(hào)和共享變量值實(shí)現(xiàn)的?,F(xiàn)的。7)、進(jìn)程分為、進(jìn)程分為組合進(jìn)程組合進(jìn)程和和時(shí)序進(jìn)程時(shí)序進(jìn)程。*組合進(jìn)程的所
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 動(dòng)力柜施工合同范本
- 公用商業(yè)裝修合同范本
- 包裝供應(yīng)合同范本
- app合伙合同范本
- 以房換房合同范本
- 上傳網(wǎng)貸合同范本
- 包材委托加工合同范本文庫
- 2024年日照市某國(guó)有企業(yè)招聘考試真題
- 2024年青海海南州教育局招聘高中教師考試真題
- Module 2 public holidays unit 2英文版教學(xué)設(shè)計(jì) 2024-2025學(xué)年外研版英語九年級(jí)上冊(cè)
- 醫(yī)保定點(diǎn)納入預(yù)測(cè)性研究的報(bào)告
- 手術(shù)講解模板單側(cè)腎切除術(shù)
- 大學(xué)體育-武術(shù)散打-教案
- 鎮(zhèn)鄉(xiāng)自然資源規(guī)劃所工作職責(zé)
- 年終獎(jiǎng)計(jì)算方案
- 模擬藥房實(shí)訓(xùn)總結(jié)報(bào)告
- 人工智能在智能運(yùn)維中的應(yīng)用
- 《腦科學(xué)基礎(chǔ)知識(shí)》課件
- 成人四肢血壓測(cè)量的中國(guó)專家共識(shí)
- 榮昌壩扶壁式擋土墻施工方案1
- 幼兒園多媒體課件設(shè)計(jì)與制作第2版(高職學(xué)前教育專業(yè))全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論