VHDL語法點滴

2022-09-03 03:54:06 字數 1613 閱讀 2913

1. cnt <= (others => '0');
這個是給cnt賦零的意思,還可以這樣用

比如說cnt是std_logic_vector(7 downto 0);

那麼cnt<=(1=>'1',others=>'0');就表示給cnt的第1位賦1,其他位的全部都賦0,結果cnt=「00000010」;

2.f1_fi_din <= conv_std_logic_vector(8, dw/2-10) & ad_b & conv_std_logic_vector(4, dw/2-10) & ad_a;

-- "00"-ch2(2bit)-"00"-adb-"00"-ch1(2bit)-"00"-ada

conv_std_logic_vector 型別轉換函式 把integer型別數8轉換為6位標準邏輯向量型別std_logic_vector(5 downto 0)即"001000" .

& 相當於verilog語法中的{},"連線"的意思。

3.component 元件例化就是引入一種連線關係,將預先設計好的設計實體entity定義為乙個元件,然後利用特定的語句將此元件與當前的設計實體中的指定埠相連線,從而實現結構化設計。語法如下:第一部分:元件定義語句例如:

component 元件名is

port ( 訊號1,訊號2 : in std_logic;

訊號3 : out std_logic_vector(7 downto 0);

訊號4,訊號5 : inout std_logic );

end component;

第二部分:連線說明語句:

例化名:元件名port map ( 連線埠名1, 連線埠名2 , …… );

語法舉例:

component or_gate

port( a,b : in std_logic;

c : out std_logic);

end component;

begin

u0: or_gate port map((t***,tmp2,co_f);

4. 實體有實體名。實體名×××可以取英文名,且不能以數字開頭;注意在編寫完vhdl文字存檔時,設計檔案×××.vhd的字首一定要和實體名×××完全相同,否則有的eda軟體無法編譯。

5. architecture ...

type string is array (1 to 10) of interger;

signal aa: string;

begin

aa <= (0,0,0,2,2,1,5,7,4,7);

如果單獨給aa中的某個元素賦值,可: aa(2) <= 110;

***************==

type matrix_index is array (3 downto 0) of std_logic_vector(7 downto 0);

constant r : matrix_index :=(x"15", x"0f", x"0a", x"0b"); ---define a constant array.

because of "...3 downto 0...", r(0)等於x"0b",r(3)等於x"15".

(fr:

VHDL經驗點滴

一些學到的或自己總結的vhdl經驗點滴,紀錄下來,以免以後忘記了。因為有些是自己總結的,肯定有錯誤或不周之處,歡迎高手指正!內容逐步補充中。1。如何判斷乙個process綜合結果是組合邏輯還是時序邏輯?a 乙個比較簡單的辦法是看敏感訊號和條件語句的條件,如果是電平觸發的,很可能是時序邏輯 如果是邊緣...

VHDL語法回顧

打算設計乙個簡單的微程式控制cpu模型,下面是vhdl語法回顧。vhdl是由模組組成,嵌在module endmodule之間,其他語句均由 結束 module add a,b,c,sum,count 模組埠定義 input 2 0 a,b input cin output 2 0 sum outp...

Python語法點滴

1.判斷字元為空 if not model path 2.顯示當前指令碼所在目錄 import os cur path os.path.dirname os.path.realpath file print cur path 3.顯示當前被呼叫指令碼所在目錄 import os defgetcurp...