VHDL物件宣告.ppt_第1頁
VHDL物件宣告.ppt_第2頁
VHDL物件宣告.ppt_第3頁
VHDL物件宣告.ppt_第4頁
VHDL物件宣告.ppt_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、VHDL的物件(Objects)宣告,物件種類 (1) 訊號 (2) 變數(shù) (3) 常數(shù) VHDL的物件(Objects)宣告語法 : := ;,VHDL的物件(Objects)宣告,訊號: 在VHDL中的訊號是指電路上的連接點,它包括實體中在埠(Port)後宣告的接腳及在結構(Architecture)中宣告的訊號(Signal)接點,VHDL的物件(Objects)宣告,(1) 訊號例:,VHDL的物件(Objects)宣告,(2) 變 數(shù) ( Variable ) VHDL中的變數(shù)與一般電腦語言中的變數(shù)一樣,提供在程式中做計數(shù)或運算用 例: variable example_var1 :

2、 std_logic := 0; example_var1 := 1; -使用變數(shù)example_var1及設定值=1,變數(shù),變數(shù)物件被宣告在process或副程式中,我們稱它為process或副程式的區(qū)域變數(shù),VHDL的物件(Objects)宣告,常 數(shù) ( Constant ) 常數(shù)可以宣告在任何可宣告 區(qū)域,但它的數(shù)值經(jīng)宣告後是 不可更改的 例: constant enable_bits : integer := 0;,VHDL標準的資料型態(tài),VHDL標準的資料型態(tài),整數(shù)(integer) 整數(shù)(integer)型態(tài)是資料長度最長是32bits ,整數(shù)型態(tài)資料又可分有正負號(Signed

3、)及無正負號(Unsigned)等兩種,指定資料型態(tài)前 您必需先宣告相關零件庫及使用相關包裝 包裝std_logic_1164及std_logic_signed主要是提供有正負號(Signed)型態(tài)用。 包裝std_logic_1164及std_logic_unsigned主要是提供無正負號(unsigned)型態(tài)用。,VHDL標準的資料型態(tài),整數(shù)資料型態(tài)其長度雖然是32bits, 但它會隨實際的數(shù)值調(diào)整資料長度 到最短。 以調(diào)整最節(jié)省硬體的大小。 例: a := 15; 則 a 的資料長度只有4bits,VHDL標準的資料型態(tài),VHDL標準的資料型態(tài),VHDL標準的資料型態(tài),資料型態(tài)的轉換,

4、在VHDL的std_logic_arith包裝中提供了轉換功能函數(shù),做為不同型態(tài)資料的轉換,如: CONV_INTEGER(參數(shù)) 將括號內(nèi)的參數(shù)轉換成整數(shù)型態(tài), 轉換後的數(shù)值範圍在-2147483647 to 2147483647之間。 CONV_UNSIGNED(參數(shù)) 將括號內(nèi)的參數(shù)轉換成無正負號型態(tài)。 CONV_SIGNED (參數(shù)) 將括號內(nèi)的參數(shù)轉換成有正負號型態(tài)。 CONV_STD_LOGIC_VECTOR(參數(shù)) 將括號內(nèi)的參數(shù)轉換成STD_LOGIC_VECTOR 。,配合資料型態(tài)的數(shù)值設定,配合資料型態(tài)的數(shù)值設定,Std_Logic /Std_Logic_Vector,標準

5、邏輯資料型態(tài) Std_Logic 及 Std_Logic_Vector 可指定以上九種數(shù)值,配合資料型態(tài)的數(shù)值設定,在一般邏輯數(shù)值系統(tǒng)時,底下兩個值及其代表意義,Two drivers onto a bus,Resolution function R A, B predicts the result of two drivers to drive signals with values A and B onto a bus. R A, B B = 0 B = 1 B = X B = Z A = 0 0 X X 0 A = 1 X 1 X 1 A = X X X X X A = Z 0 1 X

6、Z,使用者自訂資料型態(tài),列舉資料型態(tài): type is ( ) ; 例: type traffic_light is ( red, yellow, green); signal lighting : traffic_light; lighting = red; ,使用者自訂資料型態(tài),如果要設定lighting物件數(shù)值時只有red、yellow及 green三者之一才會被接受。 電路合成器會將列舉資料由左至右作二進制邏輯編碼,例如這個例子而言red將編碼成為”00”,yellow為”01”及 green為”10”。,使用者自訂資料型態(tài),陣列資料型態(tài) 例: TYPE nibble IS ARRAY

7、(3 DOWNTO 0); TYPE byte IS ARRAY(7 DOWNTO 0); TYPE word IS ARRAY(15 DOWNTO 0); TYPE balls IS ARRAY(0 TO 199);,使用者自訂資料型態(tài),記錄資料型態(tài) 多種資料型態(tài)組成一個記錄(Record)群集 例: -記錄資料型態(tài)宣告如下: TYPE clock_rec IS RECORD Seconds : integer 0 to 59; Minutes : integer 0 to 59; Hours : integer 0 to 24; END RECORD; .,使用者自訂資料型態(tài),使用記錄資料

8、型態(tài) SIGNAL T1,T2,T3 : clock_rec; 設定訊號物件 T1. Seconds= 30; T1. Minutes= 10; T1. Hours= 23 ; T2.Hours = 3;,VHDL的運算敘述,VHDL的運算表示式分成: 訊號設定表示式與變數(shù)表示式兩種。 對於變數(shù)(Variable)我們使用 “:=” 當做類似 ”等於” 的運算 對於訊號則使用 “=” 當做類似 ”設定” 的運算,VHDL的運算敘述,例: example_var1 := 0; 訊號表示式是以=來設定運算。 例: example_signal = 001; 例: 在圖7.1.2中我們可以看到運算元

9、如何使用, 特 別將它們截取如下: SUM = ( A xor B) xor C; -全加器”和”的布林函數(shù) CY = (A and B) or ( B and C ) or ( A and C ); -全加器”進位” 的布林函數(shù),VHDL的算術運算,VHDL的算術運算,VHDL的邏輯運算,VHDL的位移運算,VHDL的其它運算,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY exercise is PORT( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0); B : IN STD_LOGIC_VECTOR(3 DOWNTO 0); C : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END exercise; ARCHITECTURE architec OF exercise IS BE

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論