版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章VHDL數(shù)據(jù)類型與順序語句(1)數(shù)據(jù)類型規(guī)定數(shù)據(jù)對(duì)象的特征和取值的范圍,VHDL含有很寬范圍的數(shù)據(jù)類型,用它們可建立簡(jiǎn)單的或者復(fù)雜的對(duì)象。(2)一個(gè)新的數(shù)據(jù)類型必須先建立一個(gè)類型說明。類型說明規(guī)定類型名和類型的范圍,在程序包、實(shí)體、結(jié)構(gòu)體、子程序和進(jìn)程的說明部分中都允許有類型說明。(3)VHDL是一種強(qiáng)類型語言,即每一個(gè)對(duì)象具有一種類型且只能具有該類型的值,或者說施加于某對(duì)象上的操作必須與該對(duì)象的類型匹配。(4)信號(hào)、變量、常數(shù)都要指定數(shù)據(jù)類型,而且VHDL的數(shù)據(jù)類型定義相當(dāng)嚴(yán)格,不同類型之間的數(shù)據(jù)不能直接代入,不同位長(zhǎng)之間也不能直接代入。(5)數(shù)據(jù)類型的分類:標(biāo)量類型、復(fù)合類型、尋址類型和文件類型。標(biāo)量類型包括所有簡(jiǎn)單的類型,如象整數(shù)和實(shí)數(shù);復(fù)合類型包括數(shù)組和記錄;尋址類型在一般編輯語言中等價(jià)為指針;最后,文件類型用設(shè)計(jì)者定義的文件類型為設(shè)計(jì)者提供所說明的文件對(duì)象。也可分為預(yù)定義數(shù)據(jù)類型和用戶定義數(shù)據(jù)類型。3.1 VHDL數(shù)據(jù)類型VHDL(一種數(shù)據(jù)類型很強(qiáng)的語言)數(shù)據(jù)類型(數(shù)據(jù)對(duì)象取值的集合或子集)數(shù)據(jù)對(duì)象(傳遞信息的載體)Scalar
types(標(biāo)量數(shù)據(jù)類型)Enumeration(可枚舉數(shù)據(jù)類型)Integer(整數(shù)數(shù)據(jù)類型)Physical(物理數(shù)據(jù)類型)Floating
point(實(shí)數(shù)數(shù)據(jù)類型)Composite(復(fù)合數(shù)據(jù)類型)Array(數(shù)組數(shù)據(jù)類型)Record(記錄數(shù)據(jù)類型)Access(尋址數(shù)據(jù)類型)?File
type(文件類型)Constant(常量)Variable(變量)Signal(信號(hào))File(文件)注:藍(lán)色為不可綜合的數(shù)據(jù)對(duì)象和數(shù)據(jù)類型3.1 VHDL數(shù)據(jù)類型BIT類型和BIT_VECTOR類型BIT類型用來表示數(shù)字系統(tǒng)中的一個(gè)位,位值用‘0’或‘1’表示,位的取值與整數(shù)中的1和0不同,‘1’和‘0’僅表示一個(gè)位的兩種取值,有時(shí)可用顯示說明之,如BIT’(‘1’)位數(shù)據(jù)與布爾數(shù)據(jù)也不同,可以用轉(zhuǎn)換函數(shù)來轉(zhuǎn)換標(biāo)準(zhǔn)程序包STANDARD中定義的源代碼:TYPE
BIT
IS
(‘0’,’1’);3.1 VHDL數(shù)據(jù)類型3.1.1 BIT和BIT_VECTOR類型BIT_VECTOR類型(1)位矢量是用雙引號(hào)括起來的一組位數(shù)據(jù),是基于BIT數(shù)據(jù)類型的數(shù)組。例如:
“001100”,x“00BB”這里,位矢量最前面的x表示是十六進(jìn)制(2)標(biāo)準(zhǔn)程序包STANDARD中定義的源代碼:TYPE
BIT_VECTOR IS
ARRAY
(Nature
Range<>)
OF
BIT;使用位矢量必須注明位寬,即數(shù)組元素個(gè)數(shù)和排列順序。例如:SIGNAL
a:BIT_VECTOR(7
DOWNTO
0);其位寬為8,最高位(左位)是a(7),最低位(右位)是a(0)。又例如:SIGNAL
a:BIT_VECTOR(0
TO
7);其位寬為8,最高位(左位)是a(0),最低位(右位)是a(7)。用位矢量表示總線狀態(tài)最形象也最方便3.1 VHDL數(shù)據(jù)類型3.1.2 STD_LOGIC和STD_LOGIC_VECTOR類型IEEE預(yù)定義數(shù)據(jù)類型----標(biāo)準(zhǔn)邏輯位與矢量VHDL的標(biāo)準(zhǔn)數(shù)據(jù)類型“BIT”是一個(gè)邏輯型的數(shù)據(jù)類型,這類數(shù)據(jù)取值只能是“0”或“1”,由于不存在不定狀態(tài)“X”,故不便于仿真,而且它也不存在高阻狀態(tài),因此很難用它來描述雙向數(shù)據(jù)總線,所以IEEE在1993年制訂出了新標(biāo)準(zhǔn)STD_LOGIC_1164
,該程序包中定義的兩個(gè)重要數(shù)據(jù)類型:標(biāo)準(zhǔn)邏輯位“STD_LOGIC”、標(biāo)準(zhǔn)邏輯矢量“STD_LOGIC_VECTOR”,使得“STD_LOGIC”型數(shù)據(jù)可以具有9種不同得值。1、標(biāo)準(zhǔn)邏輯位“STD_LOGIC”STD_LOGIC_1164
程序包中定義的標(biāo)準(zhǔn)邏輯位
“STD_LOGIC”數(shù)據(jù)類型如下:TYPE
STD_LOGIC IS(“U”--------未初始化的“X”--------強(qiáng)不定“0”--------強(qiáng)0“1”--------強(qiáng)1“Z”--------高阻“W”--------弱信號(hào)不定“L”--------弱信號(hào)0“H”--------弱信號(hào)1“-”--------無關(guān)項(xiàng));注:藍(lán)色數(shù)據(jù)能在數(shù)字電路中實(shí)現(xiàn),其余的主要用于仿真。由該定義可知STD_LOGIC”數(shù)據(jù)類型是BIT數(shù)據(jù)類型的擴(kuò)展,前者更常用,、由于STD_LOGIC”數(shù)據(jù)類型為九值邏輯,不在是傳統(tǒng)的二值邏輯,故編程時(shí)在條件句中應(yīng)將所有的情況包括進(jìn)去,以免引入不必要的鎖存器。2、標(biāo)準(zhǔn)邏輯位矢量“STD_LOGIC
_VECTOR”STD_LOGIC_1164程序包中定義的標(biāo)準(zhǔn)邏輯位矢量“STD_LOGIC_LOGIC”數(shù)據(jù)類型如下:TYPE
STD_LOGIC_LOGIC
ISARRAY(NATURAL
RANGE<>)
OF
STD_LOGIC;可見STD_LOGIC_LOGIC是一個(gè)標(biāo)準(zhǔn)的一維數(shù)組,數(shù)組中的每一個(gè)元素的數(shù)據(jù)類型是上面定義的標(biāo)準(zhǔn)邏輯位“STD_LOGIC”數(shù)據(jù)類型;以上兩種數(shù)據(jù)類型在使用前需加入下面的語句:LIBRARY
IEEE;USE
IEEE.STD_LOGIC_1164.ALL;3.1 VHDL數(shù)據(jù)類型3.1.3
整數(shù)類型INTEGER范圍:-(231-1)~
231-1,相當(dāng)于32位有符號(hào)的二進(jìn)制數(shù)表示,當(dāng)需要進(jìn)位操作時(shí),可用轉(zhuǎn)換函數(shù)(有些EDA工具能夠自動(dòng)將整數(shù)轉(zhuǎn)換成位矢量),將整數(shù)轉(zhuǎn)換成位矢量,目前,在有的CAD廠家提供的工具中,允許對(duì)有符號(hào)和無符號(hào)的整型數(shù)進(jìn)行算術(shù)邏輯運(yùn)算,其中仿真器中通常作為有符號(hào)數(shù)處理,綜合器中通常作為無符號(hào)數(shù)處理。3.1 VHDL數(shù)據(jù)類型3.1.4
布爾數(shù)據(jù)類型BOOLEAN(1)一個(gè)布爾量只有兩種狀態(tài)----“真”和“假”,綜合器賦予1或0信號(hào)值,對(duì)應(yīng)硬件中的一根連線,但是它和位不同,沒有數(shù)值的含義,也不能進(jìn)行數(shù)值運(yùn)算,它只能進(jìn)行關(guān)系運(yùn)算。例如,它可以在IF語句中被測(cè)試,測(cè)試結(jié)果產(chǎn)生一個(gè)布爾量TRUE或FALSE。(2)標(biāo)準(zhǔn)程序包STANDARD中定義的源代碼:3.1.5 SIGNED和UNSIGNED類型VHDL綜合工具自帶的擴(kuò)展程序包中定義了一些有用的數(shù)據(jù)類型,如
Synopsys公司在IEEE中加入的程序包STD_LOGIC_ARITH中定義有以下的數(shù)據(jù)類型:1、無符號(hào)數(shù)據(jù)類型(UNSIGNED):在綜合器中,這個(gè)數(shù)值被解釋為一個(gè)二進(jìn)制數(shù),該二進(jìn)制數(shù)的最左位為其最高位,例如:UNSIGNED’(“1101”)------代表十進(jìn)制數(shù)的13,其中UNSIGNED’表示指定其后面的字符串為無符號(hào)數(shù)據(jù)類型
VARIABLE
var:UNSIGNED(0
TO
7);--最高位為var(0)
VARIABLE
temp:UNSIGNED(7
DOWNTO
0);--最高位為temp(7)2、有符號(hào)數(shù)據(jù)類型(SIGNED):在綜合器中,這個(gè)數(shù)值被解釋為一個(gè)二進(jìn)制數(shù)的補(bǔ)碼,該二進(jìn)制數(shù)的最左位為其符號(hào)位,例如:SIGNED’(“1101”)------代表十進(jìn)制數(shù)的-3,其中SIGNED’表示指定其后面的字符串為有符號(hào)數(shù)據(jù)類型3、以上兩種數(shù)據(jù)類型在可綜合的數(shù)學(xué)運(yùn)算程序中常用,使用前需加入下面的語句:LIBRARY
IEEE;USE
IEEE.STD_LOGIC_ARITH.ALL;若綜合器中沒有該程序包,則可用NUMERIC_STD,NUMERIC_BIT;這些程序包中也有這兩種數(shù)據(jù)類型3.1 VHDL數(shù)據(jù)類型3.1 VHDL數(shù)據(jù)類型3.1.6
其他預(yù)定義類型1.字符類型(Character)字符也是一種數(shù)據(jù)類型,所定義的字符量常用單引號(hào)括起來,如‘A’、‘a(chǎn)’,由于字符是用ASCII碼來表示的,所以‘A’、‘a(chǎn)’是不同的。標(biāo)準(zhǔn)程序包STANDARD中定義的源代碼:TYPE
CHARACTER
is(所有字符包括不可顯示的字符);當(dāng)要明確指出是字符時(shí)可用:character’(‘1’)2.字符串類型(String)字符串是由雙引號(hào)括起來的一個(gè)字符序列,也稱作字符矢量或字符串?dāng)?shù)組例如,“integer
range”,常用于子程序的提示和說明文字字符串----雙引號(hào)引起來的一串文字,數(shù)位字符串----也稱位矢量,其長(zhǎng)度為對(duì)應(yīng)的二進(jìn)制數(shù)的位數(shù),其表示形式為:基數(shù)“基于基的整數(shù)”。3.實(shí)數(shù)類型(1)也稱為浮點(diǎn)數(shù),取值范圍:-1.0E+38--+1.0E+38書寫時(shí)一定要有小數(shù)點(diǎn)例如:-1.0,+2.5,2.5,-1.0E38綜合器不支持,僅用于仿真。注:‘1’,1,“1”,1.0四者的區(qū)別----分別是字符1,十進(jìn)制整數(shù)1,字符串1,實(shí)數(shù)13.1 VHDL數(shù)據(jù)類型4.時(shí)間類型VHDL中唯一的預(yù)定義物理類型。完整的時(shí)間量數(shù)據(jù)應(yīng)包含整數(shù)和單位兩部分,而且整數(shù)和單位之間至少應(yīng)留一個(gè)空格的位置,例如:55
sec,2
min……,20us,100ns在系統(tǒng)仿真時(shí),時(shí)間數(shù)據(jù)可以表示信號(hào)延時(shí),從而使模型系統(tǒng)能更逼近實(shí)際系統(tǒng)的運(yùn)行環(huán)境,且僅用于仿真。3.1 VHDL數(shù)據(jù)類型5.文件類型3.1 VHDL數(shù)據(jù)類型3.1.7
數(shù)據(jù)類型轉(zhuǎn)換函數(shù)3.1 VHDL數(shù)據(jù)類型3.1.7
數(shù)據(jù)類型轉(zhuǎn)換函數(shù)3.1 VHDL數(shù)據(jù)類型3.1.7
數(shù)據(jù)類型轉(zhuǎn)換函數(shù)3.1 VHDL數(shù)據(jù)類型3.2 VHDL最常用的順序語句1、VHDL對(duì)系統(tǒng)與電路提供的最基本的描述方法結(jié)構(gòu)描述對(duì)與一個(gè)硬件的結(jié)構(gòu)進(jìn)行描述,主要是描述它由哪些子元件組成,以及各個(gè)元件之間的互連關(guān)系,它與系統(tǒng)的原理圖設(shè)計(jì)很類似;行為描述的主要特點(diǎn)在于它能從行為上描述系統(tǒng)和電路,采用的方法主要是通過一系列的順序語句和一系列系列并行語句來進(jìn)行描述,并行語句則用來各摸型算法之間的連接關(guān)系;按語句執(zhí)行順序?qū)ζ溥M(jìn)行分類,可以分為順序(sequential)描述語句和并行(concurrent)描述語句。例如:進(jìn)程語句(process
statement)它是一個(gè)并行語句。在一個(gè)結(jié)構(gòu)體內(nèi)可以有幾個(gè)進(jìn)程語句同時(shí)存在,各進(jìn)程語句是并發(fā)執(zhí)行的。但是,在進(jìn)程內(nèi)部所有語句應(yīng)是順序描述語句,這兩類語句的靈活運(yùn)用就可以正確的描述系統(tǒng)的并發(fā)行為和順序行為。信號(hào)、變量賦值語句;流程控制語句:IF語句,CASE語句,LOOP語句,
NEXT語句,EXIT語句;等待語句:WAIT語句;子程序調(diào)用語句;返回語句:RETURN語句;空操作語句:NULL語句;其它語句:ATTRIBUTE(屬性),TEXTIO(文本文件操作),ASSERT(斷言語句),REPORT(報(bào)告語句),Resolution(決斷函數(shù)),3.2 VHDL最常用的順序語句3.2.1
賦值語句信號(hào)賦值語句變量賦值語句賦值目標(biāo)賦值符號(hào)賦值源注意事項(xiàng):信號(hào)、變量賦值目標(biāo)與賦值源的數(shù)據(jù)類型及位長(zhǎng)度應(yīng)嚴(yán)格一致;在應(yīng)用時(shí)須注意上、下文的含義和說明,因?yàn)榇敕?hào)與關(guān)系操作符的“〈=”(相當(dāng)于執(zhí)行的意思)非常相似的;集合賦值的兩種方式----位置映射和名稱映射;例:SIGNAL
a,b,c,d:STD_LOGIC;SIGNAL S:STD_LOGIC_VECTOR(1TO
4);VARIABLE e,f:
STD_LOGIC;VARIABLE g:
STD_LOGIC
VECTOR(1
TO
2);VARIABLE h:
STD_LOGIC
VECTOR(1
TO
4);------------s<=(‘1’,‘0’,‘1’,‘0’);(a,b,c,d)<=s;h:=(3=>e,4=>f,2=>g(1),1=>g(2));------h(3):=e;h(4):=f;h(2):=g(1);h(1):=g(2);位置映射:注意位置順序;名稱映射:與順序無關(guān);3.2.2 CASE語句CASE語句用來描述總線或編碼、譯碼的行為從許多不同的序列中選擇其中之一執(zhí)行雖然IF語句也有類似的功能,但CASE語句的可讀性要好得多閱讀者很容易找出條件式和動(dòng)作的對(duì)應(yīng)關(guān)系1、CASE的書寫格式如下:CASE
表達(dá)式ISWHEN
條件表達(dá)式=〉順序處理語句
END
CASE;2、CASE語句中的條件表達(dá)式可有如下4種不同的表示形式:?jiǎn)沃担篧HEN
值=〉順序處理語句;并列:WHEN
值|[值]|[值]…[值]=〉順序處理語句;區(qū)間:WHEN
值TO
值=〉順序處理語句;混合:WNEN
OTHERS=〉順序處理語句;當(dāng)CASE
和IF之間的表達(dá)式的取值滿足指定的條件表達(dá)式的值時(shí),程序?qū)?zhí)行后跟的,由符號(hào)=〉所指定的順序處理語句條件表達(dá)式的值可以是一個(gè)值,也可是多個(gè)值的“或”關(guān)系,或者是一個(gè)值的取值范圍,或表示其它所有的缺省值3、CASE的使用說明選擇值應(yīng)在取值范圍內(nèi);除非所有條件句中的選擇值能覆蓋其表達(dá)式的取值,否則“WNENOTHERS=〉順序語句”不可少;條件句中的選擇值只能出現(xiàn)一次,不能重復(fù);至少應(yīng)有一個(gè)條件句;3.2 VHDL最常用的順序語句3.2.2 CASE語句LIBRARY
IEEE;USE
IEEE.STD_LOGIC_1164.ALL;ENTITY
decoder3_8
ISPORT
(a,b,c,G1,G2A,G2B:IN
STD_LOGIC);y:OUT
STD_LOGIC_VECTOR(7
DOWNTO
0));END
decoder3_8;ARCHITECTURE
rtl
OF
decoder3_8
ISSIGNAL
indata:STD_LOGIC_VECTOR(2
DOWNTO
0);BEGINindata
<=
c
&
b
&
a;PROCESS
(indata,G1,G2A,G2B)BEGINIF
(G1
=
’1’
AND
G2A
=
’0’
AND
G2B
=
’0’)
THENCASE
indata
ISWHEN
“000”
=>
y<=
”11111110”;WHEN
“001”
=>
y<=
”11111101”;WHEN
“010”
=>
y<=
”11111011”;WHEN
“011”
=>
y<=
”11110111”;WHEN
“100”
=>
y<=
”11101111”;WHEN
“101”
=>
y<=
”11011111”;WHEN
“110”
=>
y<=
”10111111”;WHEN
“111”=>
y<=”01111111”;WHEN
OTHERS
=>y<=”XXXXXXXX”;END
CASE;ELSEy
<=
”11111111”;END
IF;END
PROCESS;END
rtl;3-8譯碼器在上例中,indata是矢量型數(shù)據(jù),除了取值為”0”和”1”之外,還有可能取值為“x”,“z”和“u”,盡管這些取值在邏輯電路綜合時(shí)沒有用,但是,在CASE卻必須把所有的可能取值都要描述出來故在本例中加一項(xiàng)WHEN
OTHERS,使得它包含了y輸出的所有缺省值當(dāng)WHEN后跟的值不同,但是輸出卻相同時(shí),則可用下面描述:如本例中:WHEN
OTHERS
項(xiàng)也可以寫為:WHEN
“UZX”|“ZXU”|“UUZ”|…|“UUU”=〉y〈=“XXXXXXXX”;4、IF語句與CASE語句的區(qū)別前者有順序,后者沒有順序;前者具有條件相與,后者具有條件相或;前者具有將“-”(忽略)自動(dòng)包含,后者不具有這一性質(zhì)必需加一項(xiàng)WHEN
OTHERS;3.2 VHDL最常用的順序語句3.2.3 PROCESS語句3.2.4
并置操作符&3.2.5 IF語句IF語句是根據(jù)所指定的條件來確定執(zhí)行那些語句其書寫格式通??煞譃橐韵聨追N:1、IF語句的門閂控制書寫格式:IF
條件THEN順序處理語句END
IF當(dāng)程序執(zhí)行到該IF語句時(shí),就要判斷此IF語句所指定的條件是否成立,如果成立,自執(zhí)行IF語句所包括的順序處理語句;如果條件不成立,程序?qū)⑻^IF語句所包含的順序處理語句,而向下執(zhí)行IF語句后繼的語句這里的條件起門閂作用。例如:IF
(a=‘1’)
THENc〈=not
b;END
IF;當(dāng)a=‘1’時(shí),c〈=not
b;否則將不執(zhí)行c〈=not
b而執(zhí)行下面的語句。2、IF語句的二選擇控制IF
條件THEN順序處理語句;ELSE順序處理語句;END
IF
;該語句的功能是:當(dāng)條件滿足時(shí),執(zhí)行THEN與ELSE之間的順序處理語句,否則執(zhí)行ELSE和IF之間的順序處理語句。這種描述的典型邏輯電路實(shí)例是二選一電路。例如:ARCHITECTURE
rtl
OF
mux2
ISBEGINPROCESS(a,b,sel)IF
(sel
=‘1’)THENy〈=a;ELSEy〈=b;END
IF;END
PROCESS;END
rtl;3、IF語句的多選擇控制IF語句的多選擇控制又稱IF語句的嵌套,其書寫格式為:
IF
條件THEN順序處理語句;ELSIF
條件THEN順序處理語句;…ELSIF
條件THEN順序處理語句;ELSE順序處理語句;END
IF;在這種多選擇控制的IF語句中,設(shè)置了多個(gè)條件,當(dāng)滿足所設(shè)置的多個(gè)條件之一時(shí),就執(zhí)行該條件后跟的順序處理語句,如果所有設(shè)置的條件都不滿足,則執(zhí)行最后一個(gè)ELSE
和END
IF之間的順序處理語句,順序處理語句的執(zhí)行條件具有向上相與的功能。其典型的描述是多選一電路例:四選一電路LIBRARY
IEEE;USE
IEEE.STD_LOGIC_1164.ALL;ENTITYmux4
ISPORT
(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
ISBEGINPROCESS(input,sel)BEGINIF
(sel
=
“00”)
THENy
<=
input(0);ELSIF
(sel=“01”)THENy
<=
input(1);ELSIF
(sel=
“10”)THENy
<=
input(2);ELSEy
<=
input(3);END
IF;END
PROCESS;END
rtl;IF語句不僅可用于選擇器設(shè)計(jì),還可用于比較器、譯碼器、編碼器等進(jìn)行條件控制的邏輯電路設(shè)計(jì),注意:(1)IF語句的條件判斷輸出是布爾量(TRUEOR
FALSE)。(2)故在IF語句中的IF條件表達(dá)式中,只能使用關(guān)系運(yùn)算操作(=、/=、〈、〉、〈=、=〉)及其組合表達(dá)式。例:編碼器library
ieee;use
ieee.std_logic_1164.all;entity
encoder8_3
isport
(
a,
b,
c,
d,
e,
f,
g,
h
:
in
std_logic;out2,
out1,
out0
:
out
std_logic);end
encoder8_3;architecture
behave
of
encoder8_3
issignal
k:std_logic_vector(2
downto
0);beginprocess
(a,
b,
c,
d,
e,
f,
g,
h)beginif
(
a='0')
thenk<=
"000";elsif(
b='0')
thenk<=
"001";elsif(
c='0')
thenk<=
"010";elsif(
d='0')
thenk<=
"011";elsif(
e='0')
thenk<=
"100";elsif(
f='0')
thenk<=
"101";elsif(
g='0')
thenk<=
"110";elsek<=
"111";end
if;out2<=k(2);out1<=k(1);out0<=k(0);end
process;end
behave;3.2 VHDL最常用的順序語句3.2.5 IF語句3.3 IF語句使用示例3.3.1 D觸發(fā)器的VHDL描述3.3 IF語句使用示例上升沿檢測(cè)表達(dá)式和信號(hào)屬性函數(shù)EVENT不完整條件語句與時(shí)序電路3.3 IF語句使用示例上升沿檢測(cè)表達(dá)式和信號(hào)屬性函數(shù)EVENT不完整條件語句與時(shí)序電路3.3 IF語句使用示例3.3 IF語句使用示例3.3.2
含異步復(fù)位和時(shí)鐘使能的D觸發(fā)器的VHDL描述3.3 IF語句使用示例3.3.2
含異步復(fù)位和時(shí)鐘使能的D觸發(fā)器的VHDL描述3.3 IF語句使用示例3.3.3
基本鎖存器的VHDL描述3.3 IF語句使用示例3.3.3
基本鎖存器的VHDL描述3.3 IF語句使用示例3.3.4
含清0控制的鎖存器的VHDL描述3.3 IF語句使用示例3.3.5 VHDL實(shí)現(xiàn)時(shí)序電路的不同表述方式3.3 IF語句使用示例3.3.5 VHDL實(shí)現(xiàn)時(shí)序電路的不同表述方式3.3 IF語句使用示例3.3.6 4位二進(jìn)制加法計(jì)數(shù)器設(shè)計(jì)3.3 IF語句使用示例3.3.7
計(jì)數(shù)器更常用的VHDL表達(dá)方式3.3 IF語句使用示例3.3.7
計(jì)數(shù)器更常用的VHDL表達(dá)方式3.3 IF語句使用示例3.3.8
實(shí)用計(jì)數(shù)器的VHDL設(shè)計(jì)3.3 IF語句使用示例3.3.8
實(shí)用計(jì)數(shù)器的VHDL設(shè)計(jì)3.3 IF語句使用示例3.3.8
實(shí)用計(jì)數(shù)器的VHDL設(shè)計(jì)3.3 IF語句使用示例3.3.9
含同步并行預(yù)置功能的8位移位寄存器設(shè)計(jì)3.3 IF語句使用示例3.3.9
含同步并行預(yù)置功能的8位移位寄存器設(shè)計(jì)3.3 IF語句使用示例3.3.10
優(yōu)先編碼器設(shè)計(jì)3.3 IF語句使用示例3.3.10
優(yōu)先編碼器設(shè)計(jì)3.4 VHDL其它順序語句3.4.1 LOOP循環(huán)語句(1)單個(gè)LOOP語句該語句常要和EXIT配合使用3.4 VHDL其它順序語句3.4.1 LOOP循環(huán)語句(2)FOR_LOOP語句LOOP語句中的循環(huán)變量的值在每次循環(huán)中都將發(fā)生變化,而IN后跟的離散范圍表示循環(huán)變量在循環(huán)過程中依次取值的范圍LIBRARY
IEEE;USE
IEEE.STD_LOGIC_1164.ALLENTITY
parity_check
ISPORT
(a:IN
STD_LOGIC_VECTOR
(7
DOWNTO
0);yeven
,
yodd
:OUT
STD_LOGIC);END
parity_check
;ARCHITECTURE
rtl
OF
parity_check
ISBEGINPROCESS(a)VARIABLE
tmp:STD_LOGIC;BEGINtmp
:=
’0’;FOR
I
IN
0
TO
7
LOOPtmp
:=
tmp
XOR
a(I);END
LOOP;yeven
<=
tmp;yodd <=
not
tmp;END
PROCESS;END
rtl;例如:8位的奇偶產(chǎn)生/校驗(yàn)電路在該LOOP語句中,如果條件為“真”,則進(jìn)行循環(huán);如果條件為“假”,則結(jié)束循環(huán)。例如:sum
:=
0sbcd:WHILE
﹙i<10﹚
LOOPsum
:=
I
+
sum;i:=
i
+
1;
END
LOOP
sbcd;3、WHILE_LOOP
條件循環(huán)語句3.4.2 NEXT
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度智能安防系統(tǒng)設(shè)備維修與升級(jí)合同3篇
- 二零二五年度鄉(xiāng)村旅游開發(fā)農(nóng)村房屋買賣合同協(xié)議書2篇
- 2025年度企業(yè)公務(wù)車借用與車輛保險(xiǎn)理賠協(xié)議范本3篇
- 二零二五年度農(nóng)機(jī)維修配件進(jìn)出口貿(mào)易合同模板3篇
- 二零二五年度農(nóng)村宅基地房屋買賣及農(nóng)村社會(huì)保障體系建設(shè)合同
- 2025年度農(nóng)村農(nóng)業(yè)勞務(wù)用工合同范本(含勞動(dòng)爭(zhēng)議調(diào)解)
- 二零二五年度新能源實(shí)驗(yàn)室儲(chǔ)能技術(shù)研究合同3篇
- 二零二五年度汽車維修兼職技師雇傭合同3篇
- 2025年度XX能源公司二零二五年度綠色貸款合同3篇
- 2025年度商業(yè)綜合體寫字樓租賃管理服務(wù)協(xié)議3篇
- 四川省成都市龍泉驛區(qū)2023-2024學(xué)年三年級(jí)數(shù)學(xué)第一學(xué)期期末監(jiān)測(cè)試題含答案
- 鍋爐控制器modbus協(xié)議支持說明
- 粉末涂料有限公司危廢庫安全風(fēng)險(xiǎn)分級(jí)管控清單
- 750更換齒輪箱作業(yè)指導(dǎo)書
- GB/T 20706-2023可可粉質(zhì)量要求
- 安全生產(chǎn)信息管理制度全
- 世界主要國家洲別、名稱、首都、代碼、區(qū)號(hào)、時(shí)差匯總表
- 2023學(xué)年廣東省廣州市越秀區(qū)鐵一中學(xué)九年級(jí)(上)物理期末試題及答案解析
- 《報(bào)告文學(xué)研究》(07562)自考考試復(fù)習(xí)題庫(含答案)
- 電源日常點(diǎn)檢記錄表
- 人教版小學(xué)三年級(jí)語文上冊(cè)期末測(cè)試卷.及答題卡2
評(píng)論
0/150
提交評(píng)論