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...