⑴ VHDL如何把定義的一個模塊引用到主程序中,在哪定義這個模塊
另外寫一個VHDL的設計實體描述(.vhd源文件),實體名稱就是你想要調用的元件名稱。埠與元件調用的埠相一致,將該文件與頂層描述(你所說的所謂「主程序」)放在一個項目文件(.pqf)中,編譯時就會一起編譯了。
⑵ 如何將VHDL 源文件生成功能模塊求Quartusii中具體步驟
這不是一兩句話可以說明白的。籠統地講,①創建工程項目文件→ ②輸入設計文件→ ③全程編譯→ ④波形模擬→ ⑤引腳鎖定→ ⑥重新編譯→ ⑦下載編程→ ⑧目標板硬體驗證。
科學出版社出版的《VHDL數字系統設計》一書中的第5章「VHDL描述的實現」,通過一個設計實例詳細地介紹了如何用QuartusII完成一個設計的過程。你可以參考一下,按照書上介紹的步驟一步步做下來,就有體會了。
很多書中都有介紹QuartusII的應用,你也可以參考。
⑶ 跪問用VHDL編寫的程序編譯通過後怎麼生成.bdf格式的原理圖 EDA設計有很多模塊 如何將各模塊整合起來 仿出
quartus II里的file目錄下creat/update,然後 creat symbol files for current file可以生成模塊,然後新建一個bdf文件,雙擊空白處,會跳出對話框,加入你要的模塊即可。
EDA設計有很多模塊 如何將各模塊整合起來 仿出?這個問題應該是你的程序只有子模塊,沒有頂層模塊,寫一個頂層模塊,就可以整合起來模擬了....
⑷ 用VHDL語言編寫在Quartus II 軟體上編譯模擬的按鍵選通模塊,U為加鍵,D為減鍵,當sel為000時把U給U0、D給
library ieee;
use ieee.std_logic_1164.all;
entity choise is
port ( u,d : in std_logic;
sel: in std_logic_vector(2 downto 0);
u1,u2,u3,u4,u5,u6,d1,d2,d3,d4,d5,d6 : out std_logic);
end entity;
architecture one of choise is
process ( sel ,u,d)
begin
case sel is
when "001" => u1 <= u,d1<=d;
when "010" => u2 <=u,d2<=d;
when "011" => u3 <= u,d3<=d;
when "100" => u4 <=u,d4<=d;
when "101" => u5 <= u,d5<=d;
when "110" => u6 <=u,d6<=d;
when others => null;
end case;
end process;
end architecture;
⑸ 如何利用VHDL來實現功能模塊的手動切換
多個模塊之間的信號通過port map的方式,實現模塊之間的信號互聯。比如說你的頂層模塊是top,下面有A和B,A是輸入模塊,B是輸出模塊,A和B之間有個控制信號start相連。
entity top is port(aaa: in std_logic;
bbb: out std_logic );
aaa是它的輸入,bbb是他的輸出。它內部有兩個模塊A和B
先定義一個連線信號signal start: std_logic;
component A;聲明A 簡單寫了,詳見VHDL語法書
component B;聲明B
t_a: A port map(aaa => aaa, --aaa連到top的aaa
start => start); --start連到B的start
t_b: B port map(start => start, --start連到A的start
bbb => bbb); --bbb連到top的bbb。
找本書看看吧,簡單的很。
⑹ vhdl編程中遇到編譯的問題,各模塊模擬成功,頂層設計出錯,求高手指點,有哪些常出錯點
就表面看報錯提示的很清楚,你有一些變數調用錯名了,導致編譯認為你沒定義。(如變數d)--> u1:adc_state port map (datain(7 downto 0)=>d(7 downto 0)。
而實際的錯誤確是,你的元件例化語法使用錯了。你的子元件和頂層元件埠書寫前後反了;應改為:
u1:adc_state port map (d(7 downto 0)=>datain(7 downto 0) ……後邊同理。
改改試試吧!
⑺ 在VHDL語言中常見的有幾種庫庫有哪些部分組成
1、標准設計庫:std,
2、用戶現行工作庫:work,
3、IEEE設計庫:IEEE。
設計庫由若干程序包組成,每個程序包都有一個包聲明和一個可選的包體聲明。在設計庫中,包聲明和包體聲明是分別編譯的。
(1) VHDL 語言功能強大,設計方式多樣
VHDL 語言具有強大的語言結構,只需採用簡單明確的VHDL語言程序就可以描述十分復雜的硬體電路。同時,它還具有多層次的電路設計描述功能。此外,VHDL 語言能夠同時支持同步電路、非同步電路和隨機電路的設計實現,這是其他硬體描述語言所不能比擬的。
VHDL 語言設計方法靈活多樣,既支持自頂向下的設計方式,也支持自底向上的設計方法; 既支持模塊化設計方法,也支持層次化設計方法。
(2) VHDL 語言具有強大的硬體描述能力
VHDL 語言具有多層次的電路設計描述功能,既可描述系統級電路,也可以描述門級電路;描述方式既可以採用行為描述、寄存器傳輸描述或者結構描述,也可以採用三者的混合描述方式。
同時,VHDL 語言也支持慣性延遲和傳輸延遲,這樣可以准確地建立硬體電路的模型。VHDL 語言的強大描述能力還體現在它具有豐富的數據類型。VHDL 語言既支持標準定義的數據類型,也支持用戶定義的數據類型,這樣便會給硬體描述帶來較大的自由度。
⑻ 一個vhdl程序一般有五部分組成,它們分別是什麼,都有什麼作用。 大
實體,結構體,庫,程序包,配置
1、實體:用於描述所設計系統的外部介面特性;即該設計實體對外的輸入、輸出埠數量和埠特性。
2、結構體:用於描述實體所代表的系統內部的結構和行為;它描述設計實體的結構、行為、元件及內部連接關系。
3、庫:存放已經編譯的實體、構造體、程序包集合和配置。
4、程序包:存放各設計模塊可以共享的數據類型、常數、子程序庫。
5、配置;實體對應多個結構體時,從與某個實體對應的多個結構體中選定一個作為具體實現。