VHDL物件宣告.ppt_第1页
VHDL物件宣告.ppt_第2页
VHDL物件宣告.ppt_第3页
VHDL物件宣告.ppt_第4页
VHDL物件宣告.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

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

5、邏輯資料型態 Std_Logic 及 Std_Logic_Vector 可指定以上九種數值,配合資料型態的數值設定,在一般邏輯數值系統時,底下兩個值及其代表意義,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,使用者自訂資料型態,列舉資料型態: type is ( ) ; 例: type traffic_light is ( red, yellow, green); signal lighting : traffic_light; lighting = red; ,使用者自訂資料型態,如果要設定lighting物件數值時只有red、yellow及 green三者之一才會被接受。 電路合成器會將列舉資料由左至右作二進制邏輯編碼,例如這個例子而言red將編碼成為”00”,yellow為”01”及 green為”10”。,使用者自訂資料型態,陣列資料型態 例: 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);,使用者自訂資料型態,記錄資料型態 多種資料型態組成一個記錄(Record)群集 例: -記錄資料型態宣告如下: TYPE clock_rec IS RECORD Seconds : integer 0 to 59; Minutes : integer 0 to 59; Hours : integer 0 to 24; END RECORD; .,使用者自訂資料型態,使用記錄資料

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

9、如何使用, 特 別將它們截取如下: SUM = ( A xor B) xor C; -全加器”和”的布林函數 CY = (A and B) or ( B and C ) or ( A and C ); -全加器”進位” 的布林函數,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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论