图第6章仍D4设计应用实例 END ADDER4B ARCHITECTURE ART OF ADDER4B IS SIGNAL SINT: STD LOGIC VECTOR(4 DOWNTO O) SIGNAL AA, BB: STD LOGIC VECTOR(4 DOWNTO O) BEGIN AA<=0&A;-将4位加数矢量扩为5位,为进位提供空间 BB<=0&B;-将4位被加数矢量扩为5位,为进位提供空间 SINT<=AA+BB+CIN S<-SINT(3 DOWNTO O CONT=SINT(4); END ART
第6章 VHDL设计应用实例 END ADDER4B; ARCHITECTURE ART OF ADDER4B IS SIGNAL SINT:STD_LOGIC_VECTOR(4 DOWNTO 0); SIGNAL AA,BB: STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN AA<='0'& A; --将4位加数矢量扩为5位,为进位提供空间 BB<='0'& B; --将4位被加数矢量扩为5位,为进位提供空间 SINT<=AA+BB+CIN ; S<=SINT(3 DOWNTO 0); CONT<=SINT(4); END ART;
图第6章仍D4设计应用实例 2)8位二进制加法器的源程序 ADDER8BVHD LIBRARY IEEE USE IEEE STD LOGIC 1164.ALI USE IEEE STD LOGIC UNSIGNED.ALL: ENTITY ADDER8B IS 由4位二进制并行加法器级联而成的8位二进制加法器 PORT(CIN: IN STD LOGIC; A: IN STD LOGIC VECTOR(7 DOWNTO O); B: IN STD LOGIC VECTOR(7 DOWNTO O) S: OUT STD LOGIC VECTOR(7 DOWNTO 0) COUT: OUT STD LOGIC) END ADDER8B ARCHICTURE ART OF ADDERSB IS
第6章 VHDL设计应用实例 2) 8位二进制加法器的源程序ADDER8B.VHD LIBRARY IEEE; USE IEEE_STD.LOGIC_1164.ALL; USE IEEE_STD.LOGIC_UNSIGNED.ALL: ENTITY ADDER8B IS --由4位二进制并行加法器级联而成的8位二进制加法器 PORT(CIN:IN STD_LOGIC; A:IN STD_LOGIC_VECTOR(7 DOWNTO 0); B:IN STD_LOGIC_VECTOR(7 DOWNTO 0); S:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); COUT:OUT STD_LOGIC); END ADDER8B; ARCHICTURE ART OF ADDER8B IS
图第6章仍D4设计应用实例 COMPONENET ADDER4B -对要调用的元件 ADDER4B的界面端口进行定义 PORT(CIN: IN STD LOGIC; A: IN STD LOGIC VECTOR( DOWNTO O); B: IN STD LOGIC VECTOR(3 DOWNTO 0) S: OUT STD LOGIC VECTOR(3 DOWNTO O); CONT: OUT STD LOGIC) END COMPONENT SIGNAL CARRY OUT: STD LOGIO;-4位加法器的进位标志 BEGIN U1: ADDer4B-1例化(安装)个4位二进制加法器U1l
第6章 VHDL设计应用实例 COMPONENET ADDER4B --对要调用的元件ADDER4B的界面端口进行定义 PORT(CIN:IN STD_LOGIC; A:IN STD_LOGIC_VECTOR(3 DOWNTO 0); B:IN STD_LOGIC_VECTOR(3 DOWNTO 0); S:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CONT:OUT STD_LOGIC); END COMPONENT ; SIGNAL CARRY_OUT:STD_LOGIC; --4位加法器的进位标志 BEGIN U1:ADDER4B --例化(安装)一个4位二进制加法器U1
图第6章仍D4设计应用实例 PORT MAP(CIN→>CIN,A→>A(3 DOWNTO0),B=>B(3 DOWNTOO) S=>S(3 DOWNTO O), COUT>CARRY OUT); U2: ADDER4B-例化(安装)个4位二进制加法器U2 PORT MAP(CIN=>CARRY OUT, A=>A(7 DOWNTO 4) B=>B(7 DOWNTO 4) S=>S(7 DOWNTO 4); CONT=>CONT) END ART
第6章 VHDL设计应用实例 PORT MAP(CIN=>CIN,A=>A(3 DOWNTO 0),B=>B(3 DOWNTO0), S=>S(3 DOWNTO 0),COUT=>CARRY_OUT); U2:ADDER4B --例化(安装)一个4位二进制加法器U2 PORT MAP(CIN=>CARRY_OUT,A=>A(7 DOWNTO 4), B=>B(7 DOWNTO 4), S=>S (7 DOWNTO 4);CONT=>CONT); END ART;
图第6章仍D4设计应用实例 3.硬件逻辑验证 选择实验电路结构图NO.1,由5.2的实验电路结构图NO.1和 图6.1确定引脚的锁定。如可取实验电路结构图的PIO3~PIO0接 A[3.0],PO7~PO4接A[74],PIOl~PO8接B[3.0], PO15~PIO12接B74],PIO49接CIN。此加法器的被加数A和 加数B分别由键2与键1、键4与键3输入,加法器的最低位进位 CIN由键8输入,计算结果将分别通过PIO23~PIO20,PIO19 PO16输出并显示于数码管6(高4位)和数码管5(低4位),溢出进 位由PIO39输出,当有进位时,结果显示于发光管D8
第6章 VHDL设计应用实例 3.硬件逻辑验证 选择实验电路结构图NO.1,由5.2的实验电路结构图NO.1和 图6.1确定引脚的锁定。如可取实验电路结构图的PIO3~PIO0接 A[3..0],PIO7~PIO4接A[7..4], PIO11~PIO8接B[3..0], PIO15~PIO12接B[7..4],PIO49接CIN。此加法器的被加数A和 加数B分别由键2与键1、键4与键3输入,加法器的最低位进位 CIN由键8输入,计算结果将分别通过PIO23~PIO20,PIO19~ PIO16输出并显示于数码管6(高4位)和数码管5(低4位),溢出进 位由PIO39输出,当有进位时,结果显示于发光管D8