2016年3月26日 星期六

VHDL: 半加器練習

        VHDL 超高速積體電路硬體描述語言(VHSIC hardware description language)在數位系統設計和IC設計上應用極廣,孰悉她的語法有助於我們設計自己的數位系統。
     
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。

沒有留言:

張貼留言