vhdl物件宣告

上传人:小** 文档编号:57713295 上传时间:2018-10-24 格式:PPT 页数:31 大小:164.52KB
返回 下载 相关 举报
vhdl物件宣告_第1页
第1页 / 共31页
vhdl物件宣告_第2页
第2页 / 共31页
vhdl物件宣告_第3页
第3页 / 共31页
vhdl物件宣告_第4页
第4页 / 共31页
vhdl物件宣告_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《vhdl物件宣告》由会员分享,可在线阅读,更多相关《vhdl物件宣告(31页珍藏版)》请在金锄头文库上搜索。

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 : s

2、td_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標準的資料型態,資料型態的轉換,在VHDL的st

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

5、d_Logic 及 Std_Logic_Vector可指定以上九種數值,配合資料型態的數值設定,在一般邏輯數值系統時,底下兩個值及其代表意義,Two drivers onto a bus,Resolution function R A, Bpredicts 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 Z,使用者自訂資料型態

6、,列舉資料型態: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(3 DOWNTO 0);TYP

7、E 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 RECORDSeconds : integer 0 to 59;Minutes : integer 0 to 59;Hours : integer 0 to 24;END RECORD;.,使用者自訂資料型態,使用記錄資料型態SIGNAL T1,T2,T3 : clock

8、_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中我們可以看到運算元如何使用, 特別將它們截取如下:SUM = ( A xor

9、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 isPORT( 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 BEGINC(0) = Not A(0);C(2 downto 1) = A(2 downto 1) and B(2 downto 1); C(3) = 1 xor A(3) ;C(7 downto 4) = “1111“ WHEN (A /= B) else “0000“; END architec;,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号