1,賦值方式的不同
變數:=
表示式;
訊號<=
表示式;
2,硬體實現的功能不同
訊號代表電路單元,功能模組間的互聯,代表實際的硬體連線
變數代表電路單元內部的操作,代表暫存的臨時資料
3,有效範圍不同
訊號(全域性量):程式包,實體,結構體
變數(區域性量):程序,子程式
注:在程序和子程式中,訊號只能被使用,不能被定義說明
4,賦值行為的不同
訊號賦值延時更新數值,一般生成時序電路
變數賦值立即更新數值,一般生成組合電路
5,訊號的多次賦值
a, 乙個程序中:僅最後一次賦值有效
b, 多個程序中:稱為多源驅動(如匯流排結構)
能綜合成硬體電路的多源驅動有三種:線與,線或,三態
例子architecture rtl of sig is
signal a,b : std_logic; --
定義訊號
begin
process(a,b)
begin
a <= b;
b <= a;
end process;
end rtl ;
由於訊號賦值的延時性(賦新值發生在程序結束時),所以結果是
a,b
的值互換
architecture rtl of var is
begin
process
variable a,b : std_logic;--
定義變數
begin
a := b;
b := a;
end process;
end rtl ;
由於變數賦值的立即更新,所以結果是a和
b的值均為b1,
賦值方式的不同
變數:=
表示式;
訊號<=
表示式;
2,硬體實現的功能不同
訊號代表電路單元,功能模組間的互聯,代表實際的硬體連線
變數代表電路單元內部的操作,代表暫存的臨時資料
3,有效範圍不同
訊號(全域性量):程式包,實體,結構體
變數(區域性量):程序,子程式
注:在程序和子程式中,訊號只能被使用,不能被定義說明
4,賦值行為的不同
訊號賦值延時更新數值,一般生成時序電路
變數賦值立即更新數值,一般生成組合電路
5,訊號的多次賦值
a, 乙個程序中:僅最後一次賦值有效
b, 多個程序中:稱為多源驅動(如匯流排結構)
能綜合成硬體電路的多源驅動有三種:線與,線或,三態
例子architecture rtl of sig is
signal a,b : std_logic; --
定義訊號
begin
process(a,b)
begin
a <= b;
b <= a;
end process;
end rtl ;
由於訊號賦值的延時性(賦新值發生在程序結束時),所以結果是
a,b
的值互換
architecture rtl of var is
begin
process
variable a,b : std_logic;--
定義變數
begin
a := b;
b := a;
end process;
end rtl ;
由於變數賦值的立即更新,所以結果是a和
b的值均為
b
程序的敏感訊號表 VHDL程序變數訊號
vhdl的並行語句用來描述一組並發行為,它是併發執行的,與程式的書寫順序無關。程序語句 begin 程序語句包含在結構體中,乙個結構體可以有多個程序語句,多個程序語句間是並行的,並可訪問結構體或實體中定義的訊號。因此程序語句稱為並行描述語句。進行語句結構內部所有語句都是順序執行的 程序語句的啟動是由...
vhdl變數賦初值 B巨集與A巨集變數的方法
b巨集的用法 b類巨集程式的變數與a類巨集程式的變數基本相似,但也略有不同,主要區別有以下幾個方面。1 變數的表示 b類巨集程式除可採用a類巨集程式的交量表示方法外,還可以用表示式表示,但表 達式必須封閉在方括號 中。程式的圓括號 用於注釋。例 1 2 10 當 1 10,2 100時,該變數表示 ...
FPGA學習筆記 VHDL中激勵訊號的產生
兩種方法 並行賦值語句,程序。並行賦值語句 產生對稱訊號 clk not clk after 20 ns 20ns之後為 not clk 產生不對稱訊號 w clk 0 after period 4 when w clk 1 else 0 after period 4表示 period 4之後為0 ...