VHDL 的語法和BASIC,Pascal,C很相似,學過以上語言的人應該很容易上手,但是硬體的延遲處理,和平行處理等特性,不像傳統程式語言一行一行敘述執行,這是學VHDL要特別注意的。
這個練習主要是先了解VHDL的程式架構,在編譯成功之後,放到實際硬體應證結果。
程式:
----------------------- 這是註解: 用VHDL描述半加器 --------------------------------
library ieee; -- 使用ieee標準元件庫
use ieee.std_logic_1164.all; -- 選擇元件包裝
entity half_adder is -- 描述此元件規格: 兩個輸入port和兩個輸出port
port (x, y: in std_logic;
s, c: out std_logic);
end half_adder;
architecture ha of half_adder is -- 描述此元件的行為:
begin
s<= x xor y; -- x 和 y 做 xor 運算之後,輸出到 s
c<= x and y ; -- x 和 y 做 and 運算之後,輸出到 c
end ha;
-----------------------------------------------------------------------------------------------
在Quartus裡Compile成功之後,做成Symbol file,再給定input和output
腳位配置(pin assigment)
模擬(Simulation)結果正確無誤
最後就是驗證的工作了:
輸入部分,我採用arduino以輸出腳位給值(寫程式控制)的方式,這樣可以減少麵包板上的插件動作,加快驗證工作的進行。輸出部分則是用兩顆LED連接s和c。
沒有留言:
張貼留言