pp.114-116
今度はライブラリーを使って4ビット加算器を作ってみる。ただの足し算で表現できる。
5LEを消費した。
library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; -- usigned数を演算するためのlibraryを使う。 entity adder_4bit_lib is port( AIN : in std_logic_vector(3 downto 0); BIN : in std_logic_vector(3 downto 0); SOUT: out std_logic_vector(4 downto 0) -- キャリーアウトも含めて5ビット幅 ); end adder_4bit_lib; architecture RTL of adder_4bit_lib is begin -- &はビット列の連結。+はただの足し算。 -- 入出力でビット幅を合わせるため入力を5ビット幅にする。 SOUT <= ('0' & AIN) + ('0' & BIN); end RTL;
今、0xD + 0xB = 0b1 1000を計算している。