日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VHDL的数据对象(学习笔记1)

發(fā)布時間:2024/10/14 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VHDL的数据对象(学习笔记1) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

VHDL語言數(shù)據(jù)對象

VHDL語言學習筆記(一):數(shù)據(jù)對象
內(nèi)容:本文主要介紹VHDL語言的三種主要數(shù)據(jù)對象,即常量(constant)、變量(variable)和信號(signal)。


文章目錄

  • VHDL語言數(shù)據(jù)對象
  • 一、 常量
  • 二、變量
  • 三、信號
  • 總結(jié)


一、 常量

在VHDL程序中,一經(jīng)定義數(shù)值就不再發(fā)生變化的量就是常量。在硬件物理意義上,其表示為硬件電路中的電源或地線。
常量可以在程序包、實體聲明、結(jié)構(gòu)體聲明和語句的聲明部分中進行聲明,常量定義語句所允許的設計單元有實體、結(jié)構(gòu)體、程序包、塊、進程和子程序。不同部分聲明的常量具有不同的作用范圍。

常量聲明的語言結(jié)構(gòu):

CONSTANT 常量名 [, 常量名...] : 數(shù)據(jù)類型 := 表達式;
  • “CONSTANT”是用來表示常量的保留字,用來聲明一個常量;
  • “[]”中的內(nèi)容表示可選項,即多個相同數(shù)據(jù)類型的常量可以一起聲明;
  • 數(shù)據(jù)類型是對象所具有的類型;
  • 表達式用來對常量進行賦值,其賦值符號為“:=”。

常量聲明示例:

CONSTANT PI : REAL := 3.14; CONSTANT NUM : INTEGER := 6; CONSTANT DELAY : TIME := 7ns;

注意:

  • 常量定以后不允許修改;
  • 使用時要注意常量的作用范圍。

二、變量

變量是指在設計實體中值會發(fā)生變化的量。變量主要是對臨時數(shù)據(jù)進行局部存儲,只能在進程語句、過程語句和函數(shù)語句的聲明部分中使用。變量的賦值是理想化的數(shù)據(jù)傳輸,是立即發(fā)生、不存在任何延時的行為。

變量聲明結(jié)構(gòu):

VARIABLE 變量名 [, 變量名...] : 數(shù)據(jù)類型 [:= 初始值]
  • “VARIABLE”是用來表示變量的保留字,用來聲明一個變量;
  • “[:= 初始值]”用來對變量進行初始賦值操作,其中“:=”為賦值符號。

變量聲明示例:

VARIABLE vA : INTEGER 0 TO 15 ; --聲明了一個取值范圍為0~15的整數(shù)類型變量 VARIABLE vB, vC : INTEGER :=2 ; --聲明了兩個初始值為2的整數(shù)類型變量 VARIABLE vC : STD_LOGIC := '1' ; --聲明了一個初始值為1的標準位邏輯類型變量

變量注意事項:

  • 變量為局部量,僅限于在定義了變量的進程、過程或子程序的順序語句中使用;
  • 如果變量沒有賦予初始值,那么它將取默認值,即指定的數(shù)據(jù)類型的最左值或最小值。

變量的賦值結(jié)構(gòu):

目標變量名 := 表達式;
  • 賦值語句右側(cè)的“表達式”與目標變量必須為同一數(shù)據(jù)類型;
  • 表達式可以為運算表達式,也可以是一個數(shù)值;
  • 新變量值的獲得是直接的、立即發(fā)生的;
  • 目標變量可以是單值變量,也可以是變量集合,如位矢量類型的變量。

變量賦值示例:

VARIABLE vA, vB : REAL ; --定義了實數(shù)類型變量 VARIABLE vC, vD : STD_LOGIC_VECTOR (7 DOWNTO 0); --定義了位矢量類型變量vA := 10.0 ; vB := vA + 6 ; vC := "11010101" ; vD (0 TO 6) := vC (1 TO 7) ; --段賦值

三、信號

信號時設計實體之間動態(tài)交換數(shù)據(jù)的一種手段,其物理意義類似于電路內(nèi)部的連接線。信號可以看做是數(shù)值的容器,它不但可以容納當前值,也可以保持歷史值。

信號聲明結(jié)構(gòu):

SIGNAL 信號名 [, 信號名...] : 數(shù)據(jù)類型 [:= 初始值] ;

信號聲明示例:

SIGNAL sA : STD_LOGIC := '1' ; --聲明一個初始值為‘1’的標準邏輯信號 SIGNAL sB : BIT ; --聲明了一個位信號 SIGNAL sC : STD_LOGIC_VECTOR ( 15 DOWNTO 0 ) ; --聲明了一個標準位矢量信號

信號初始值的設置不是必需的,而且初始值僅在VHDL的行為仿真中有效。與變量相比,信號的硬件特性更明顯,它具有全局性特性。比如,在程序包中定義的信號,對于所有調(diào)用此程序包的設計實體都是可見的;在實體中定義的信號,在其對應的結(jié)構(gòu)體中都可見。
注意,在進程和子程序的順序語句中不允許定義信號。

信號的賦值結(jié)構(gòu):

目標信號名 <= 表達式 ;

數(shù)據(jù)信號的傳入可以設置延時,即便延時設置為0,目標信號的數(shù)據(jù)傳入也不是零延時的。因此,符號"<="兩邊的數(shù)值并不一定總是一致的。
在進程中,允許同一個信號有不同驅(qū)動源,即同一個目標信號可以被多個表達式賦值,但是只有最后一個賦值語句會被執(zhí)行。


總結(jié)

本文信息源自數(shù)據(jù)和網(wǎng)絡。

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的VHDL的数据对象(学习笔记1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。