- 8
- 0
- 约1.72千字
- 约 10页
- 2019-12-28 发布于天津
- 举报
使用VHDL設計—4位元加法器 通訊一甲 楊穎穆 目錄 目的 設計原理 程式 實驗結果 參考資料 目的 1. 使用VHDL設計一個4位元加法器電路 此電路有A與B輸入各4位元 前一進位Ci 輸出有和S與進位Cy 2. 將電路加以模擬 3. 將程式燒錄到IC執行 4. 將以上原理撰寫成PPT格式報告交出 5. 將以上原理與操作過程講述一便並錄製成影音檔交出 設計原理 主要是由四個全加器所組成。 程式 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity add is --電路內部要做的電路名稱 port( --接腳 a,b : in std_logic_vector(3 downto 0); --輸入腳為a,b,且內部各有四個位元數 ci : in std_logic; --輸入腳位ci,代表前一進位 s : out std_logic_vector(3 downto 0); --輸出腳位 s,內部有四個位元數 cy : out std_logic --輸出腳位cy,代表進位 ); end; architecture behav of add is --電路內部結構 signal sum : std_logic_vector(4 downto 0); --表示sum內部有五個位元數 begin process(a,b,ci) --處理內部要輸入的訊號a,b,ci begin s=sum(3 downto 0); --將sum的前四個位元,搬入到輸出 s cy=sum(4); --將sum第五個位元,搬入到cy進位 sum=(0 a)+(0 b)+(0000 ci); --將a,b輸入的值前各串一個‘0’,ci前串上“0000”,相加的值 搬入到sum end process; --結束process程式 end behav; --程式結束 實驗結果(1) 當我輸入a為“1001”,b輸入為“1001”,兩者相加得到的值為“0010”,cy進位為‘1’ 。 當我輸入a為“1001”,b輸入為“1001”,ci輸入為‘1’時,三者相加得到的值為“0011”,cy進位為‘1’ 。 實驗結果(2) 當我輸入a為“0101”,b輸入為“1100”,兩者相加得到的值為“0001”,cy進位為‘1’ 。 當我輸入a為“1110”,b輸入為“1010”, ci輸入為‘1’時,三者相加得到的值為“1001”,cy進位為‘1’ 。 參考資料 主要的資料內容是參考王志湖老師上課所教授的內容及“數位邏輯”這本書。 END * * FA FA FA FA s1 a0 b0 s2 s3 a1 b1 ci s0 a3 b3 a2 b2 cy 0101 +) 1100 1 0001 *
原创力文档

文档评论(0)