时间:2023-11-27 14:32:35 下载该word文档
1@4位二进制并行加法器的源程序ADDER4B.VHDLIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYADDER4BIS--4位二进制并行加法器PORT(CIN:INSTD_LOGIC;--低位进位A:INSTD_LOGIC_VECTOR(3DOWNTO0;--4位加数B:INSTD_LOGIC_VECTOR(3DOWNTO0;--4位被加数S:OUTSTD_LOGIC_VECTOR(3DOWNTO0;--4位和CONT:OUTSTD_LOGIC;ENDADDER4B;ARCHITECTUREARTOFADDER4BISSIGNALSINT:STD_LOGIC_VECTOR(4DOWNTO0;SIGNALAA,BB:STD_LOGIC_VECTOR(4DOWNTO0;BEGINAA<='0'&A;--将4位加数矢量扩为5位,为进位提供空间BB<='0'&B;--将4位被加数矢量扩为5位,为进位提供空间SINT<=AA+BB+CIN;S<=SINT(3DOWNTO0;CONT<=SINT(4;ENDART;2@8位二进制加法器的源程序ADDER8B.VHDLIBRARYIEEE;USEIEEE_STD.LOGIC_1164.ALL;USEIEEE_STD.LOGIC_UNSIGNED.ALL:ENTITYADDER8BIS--由4位二进制并行加法器级联而成的8位二进制加法器PORT(CIN:INSTD_LOGIC;A:INSTD_LOGIC_VECTOR(7DOWNTO0;B:INSTD_LOGIC_VECTOR(7DOWNTO0;S:OUTSTD_LOGIC_VECTOR(7DOWNTO0;COUT:OUTSTD_LOGIC;ENDADDER8B;ARCHICTUREARTOFADDER8BISCOMPONENETADDER4B--对要调用的元件ADDER4B的界面端口进行定义PORT(CIN:INSTD_LOGIC;A:INSTD_LOGIC_VECTOR(3DOWNTO0;B:INSTD_LOGIC_VECTOR(3DOWNTO0;S:OUTSTD_LOGIC_VECTOR(3DOWNTO0;CONT:OUTSTD_LOGIC;ENDCOMPONENT;
SIGNALCARRY_OUT:STD_LOGIC;--4位加法器的进位标志BEGINU1:ADDER4B--例化(安装一个4位二进制加法器U1PORTMAP(CIN=>CIN,A=>A(3DOWNTO0,B=>B(3DOWNTO0,S=>S(3DOWNTO0,COUT=>CARRY_OUT;U2:ADDER4B--例化(安装一个4位二进制加法器U2PORTMAP(CIN=>CARRY_OUT,A=>A(7DOWNTO4,B=>B(7DOWNTO4,S=>S(7DOWNTO4;CONT=>CONT;ENDART;3.@触发器和缓冲器D触发器:Process(clkbegin