3 回答

TA貢獻1712條經驗 獲得超3個贊
=>是VHDL中表示映射關系的符號
你如果要調用某一IP或者自己寫的模塊,首先肯定要聲明此模塊用component,
但是聲明完了,需要將此模塊的接口和別的模塊的接口用信號連接起來才能用。
這個時候就需要將模塊映射過來,將模塊端口用信號與其他接口聯系起來。
比如,
unit:rs232 port map(
clk => clk_a,
rst_n=>rst_n1,
..... --其他的信號省略了
);
以上就是一個完整的映射過程。

TA貢獻1798條經驗 獲得超7個贊
<=是Signal的賦值,=>是用于port map 子模塊的例化比如:
U2 : ram1
PORT MAP (
clka => ram2_clk,
wea => wren2&"",
addra => wr_addr2,
dina => "0000"& ram2_data,
clkb => DSP_AMS3 AND DSP_ARD,
addrb => DSP_ADDR(13 downto 0),
doutb => ram2_q);
在 case—when 語句里用到過
例如:case s is
when "00" => y<=a0;
when "01" => y<=a1;
when others=> y<=a2;
根據具體問題類型,進行步驟拆解/原因原理分析/內容拓展等。
具體步驟如下:/導致這種情況的原因主要是……
擴展資料:
良好代碼編寫風格的通則概括如下:
1、 對所有的信號名、變量名和端口名都用小寫,這樣做是為了和業界的習慣保持一致;對常量名和用戶定義的類型用大寫;
2、 使用有意義的信號名、端口名、函數名和參數名;
3、 信號名長度不要太長;
4、 對于時鐘信號使用clk 作為信號名,如果設計中存在多個時鐘,使用clk 作為時鐘信號的前綴;
5、 對來自同一驅動源的信號在不同的子模塊中采用相同的名字,這要求在芯片總體設計時就定義好頂層子模塊間連線的名字,端口和連接端口的信號盡可能采用相同的名字;
6、 對于低電平有效的信號,應該以一個下劃線跟一個小寫字母b 或n 表示。注意在同一個設計中要使用同一個小寫字母表示低電平有效;
7) 對于復位信號使用rst 作為信號名,如果復位信號是低電平有效,建議使用rst_n;
8、 當描述多比特總線時,使用一致的定義順序,對于verilog 建議采用bus_signal[x:0]的表示;
9、 盡量遵循業界已經習慣的一些約定。如*_r 表示寄存器輸出,*_a 表示異步信號,*_pn 表示多周期路徑第n 個周期使用的信號,*_nxt 表示鎖存前的信號,*_z 表示三態信號等;
10、在源文件、批處理文件的開始應該包含一個文件頭、文件頭一般包含的內容如下例所示:文件名,作者,模塊的實現功能概述和關鍵特性描述,文件創建和修改的記錄,包括修改時間,修改的內容等;
11、使用適當的注釋來解釋所有的always 進程、函數、端口定義、信號含義、變量含義或信號組、變量組的意義等。注釋應該放在它所注釋的代碼附近,要求簡明扼要,只要足夠說明設計意圖即可,避免過于復雜;
12、每一行語句獨立成行。盡管VHDL 和Verilog 都允許一行可以寫多個語句,當時每個語句獨立成行可以增加可讀性和可維護性。同時保持每行小于或等于72 個字符,這樣做都是為了提高代碼得可讀性。
添加回答
舉報