1、自己写程序一、设计原理 先写一个半加器,然后用两个半加器例化出一个全加器,再用八个全加器例化出一个八位全加器。原理如图。关于上升沿触发,使用D触发器和八位全加器进行例化,D触发器接同一个时钟。最终完成上升沿触发的八位全加器的设计。二、实验程序半加器描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder ISPORT (A, B : IN STD_LOGIC; CO, SO : OUT STD_LOGIC ); END ENTITY h_adder;ARCHITECTURE FH1 OF h_adder ISBEGIN SO = NOT
2、 (A XOR (NOT B); CO AIN, B = BIN, CO = D, SO = E); U2 : E, B = CIN, CO = F, SO = SUM); COUT = D OR F;END ARCHITECTURE FD1;D触发器描述ENTITY DEF1 ISPORT (CLK : D : Q : OUT STD_LOGIC);END;ARCHITECTURE bhv OF DEF1 ISSIGNAL Q1 :STD_LOGIC;PROCESS (CLK)IF CLKEVENT AND CLK = 1 THEN Q1=D;END IF; Q a(0), BIN = b(
3、0), CIN = CIN, SUM = s(0),COUT = C1); a(1), BIN = b(1), CIN = C1, SUM = s(1),COUT = C2); U3 : a(2), BIN = b(2), CIN = C2, SUM = s(2),COUT = C3); U4 : a(3), BIN = b(3), CIN = C3, SUM = s(3),COUT = C4); U5 : a(4), BIN = b(4), CIN = C4, SUM = s(4),COUT = C5); U6 : a(5), BIN = b(5), CIN = C5, SUM = s(5)
4、,COUT = C6); U7 : a(6), BIN = b(6), CIN = C6, SUM = s(6),COUT = C7); U8 : a(7), BIN = b(7), CIN = C7, SUM = s(7),COUT = C); U9 : DEF1 PORT MAP(Q=a(0),D=AIN(0),CLK=CLK); U10 :a(1),D=AIN(1),CLK= U11 :a(2),D=AIN(2),CLK= U12 :a(3),D=AIN(3),CLK= U13 :a(4),D=AIN(4),CLK= U14 :a(5),D=AIN(5),CLK= U15 :a(6),D
5、=AIN(6),CLK= U16 :a(7),D=AIN(7),CLK= U17 :b(0),D=BIN(0),CLK= U18 :b(1),D=BIN(1),CLK= U19 :b(2),D=BIN(2),CLK= U20 :b(3),D=BIN(3),CLK= U21 :b(4),D=BIN(4),CLK= U22 :b(5),D=BIN(5),CLK= U23 :b(6),D=BIN(6),CLK= U24 :b(7),D=BIN(7),CLK= U25 :SUM(0),D=s(0),CLK= U26 :SUM(1),D=s(1),CLK= U27 :SUM(2),D=s(2),CLK=
6、 U28 :SUM(3),D=s(3),CLK= U29 :SUM(4),D=s(4),CLK= U30 :SUM(5),D=s(5),CLK= U31 :SUM(6),D=s(6),CLK= U32 :SUM(7),D=s(7),CLK= U33 :COUT,D=C,CLK= PROCESS(CLK,AIN,BIN) VARIABLE sSeg1 : VARIABLE sSeg2 : BEGIN ss(3 DOWNTO 0)=SUM(3 DOWNTO 0); sss(3 DOWNTO 0) SEG1 NULL; END CASE; CASE sss IS SEG2 1001010 CASE
7、sSeg1(3 DOWNTO 0) IS ASEGIN1 ASEGIN1 END CASE; CASE sSeg1(7 DOWNTO 4) IS ASEGIN2 ASEGIN2 CASE sSeg2(3 DOWNTO 0) IS BSEGIN1 BSEGIN1 CASE sSeg2(7 DOWNTO 4) IS BSEGIN2 BSEGIN2 BIN(0), CIN = SUM(0), COUT = -U2 : AI N(1), BIN = BIN(1), CIN = SUM(1), COUT = -U3 : AIN(2), BIN = BIN(2), CIN = SUM(2), COUT =
8、 -U4 : AIN(3), BIN = BIN(3), CIN = SUM(3), COUT = -U5 : AIN(4), BIN = BIN(4), CIN = SUM(4), COUT = -U6 : AIN(5), BIN = BIN(5), CIN = SUM(5), COUT = -U7 : AIN(6), BIN = BIN(6), CIN = SUM(6), COUT = -U8 : AIN(7), BIN = BIN(7), CIN = SUM(7), COUT = COUT);END ONE;三、编译及仿真结果程序波形仿真图时间分析使用LPM创立元件一、打开MegaWizar
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1