VHDLでの全加算器の実装

VHDLでの全加算器の実装

ここに画像の説明を挿入
1. 1ビット全加算器
全加算器は、下位キャリーを計算できる2進加算回路です。1ビット全加算器(FA)の論理式は、
F=A⊕B⊕CiCo
=Ci(A ⊕B)+ AB
ここで、A、Bは加算される数値、Ciはキャリー入力、Fは合計、Coはキャリー出力です。
真理表は次のとおりです。
ここに画像の説明を挿入
概略図は次のとおりです。
ここに画像の説明を挿入
したがって、エンティティを設計するとき、3つの入力と2つの出力が選択されます。

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED;
ENTITY homework5 IS
	PORT(
		a,b,ci:IN STD_LOGIC;
		f,co:OUT STD_LOGIC
	);
END homework5;
ARCHITECTURE yejiayu OF homework5 IS
BEGIN
	f<=(a XOR b)XOR ci;               --F=A⊕B⊕Ci
	co<=((a XOR b)AND ci)OR(a AND b); --Co=Ci(A⊕B)+AB
END yejiayu;

保存およびコンパイル後のシミュレーションは次のとおりです
ここに画像の説明を挿入
。2。4ビット全加算器
ここに画像の説明を挿入
(1)コンポーネントのインスタンス化メソッドの実装:
ここに画像の説明を挿入

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY	homework6 IS
	PORT(
	A0,A1,A2,A3,B0,B1,B2,B3:IN STD_LOGIC;
	F0,F1,F2,F3:OUT STD_LOGIC;
	CI:IN STD_LOGIC;
	CO:OUT STD_LOGIC
	);
END homework6;
ARCHITECTURE yejiayu OF homework6 IS
COMPONENT homework5						--COMPONENT语句来实现元件例化方法
	PORT(
	a,b,ci:IN STD_LOGIC;
	f,co:OUT STD_LOGIC
	);
END COMPONENT homework5;
SIGNAL S0,S1,S2:STD_LOGIC;
BEGIN
	U1:homework5 port map(A0,B0,CI,F0,S0);
	U2:homework5 port map(A1,B1,S0,F1,S1);
	U3:homework5 port map(A2,B2,S1,F2,S2);
	U4:homework5 port map(A3,B3,S2,F3,CO);
END yejiayu;

その中で、homework5は上記の全加算器のエンティティファイルです
(次に注意してください!!!)
まず、quratusIIを開き、クリックしてhomework5ファイルを開きます。
ここに画像の説明を挿入

次に、新しいVHDLファイルを作成し、4ビットの全加算器コードを記述して同じフォルダーに保存し(同じフォルダーにある必要があります!!!)、
ここに画像の説明を挿入
コンパイル前に設定ボタンをクリックして順序を変更します(そうでない場合は、 homework5をコンパイルするときに遅れるここで)
ここに画像の説明を挿入
ここに画像の説明を挿入
homework6を選択
ここに画像の説明を挿入
し、コンパイルしてシミュレートします
ここに画像の説明を挿入

(2)4ビット全加算器の実現
を簡素化するSTD_LOGIC_UNSIGNEDパッケージの「+」メソッドを呼び出して4ビット全加算器を設計します。
コードは次のとおりです。

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY homework7 IS
PORT(
	A,B:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
	F:OUT STD_LOGIC_VECTOR(4 DOWNTO 0));
END homework7;
ARCHITECTURE yejiayu OF homework7 IS
BEGIN
PROCESS(A,B)
BEGIN
	F<="00000"+A+B;
END PROCESS;
END yejiayu;

コンパイルとシミュレーション:
ここに画像の説明を挿入
ᵎ(•̀㉨•́)و̑̑さあ

おすすめ

転載: blog.csdn.net/ws15168689087/article/details/110825647