lcdf_fadd.vhd

来自「这是我在ISP编程实验中独立编写的采用结构化描述的四位全加器」· VHDL 代码 · 共 48 行

VHD
48
字号

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;


entity lcdf_fadd is
    Port ( A : in  STD_LOGIC_VECTOR(0 to 3);
           B : in  STD_LOGIC_VECTOR(0 to 3);
			  Cin : in  STD_LOGIC;
           S : out STD_LOGIC_VECTOR(0 to 3);
			  Cout : out STD_LOGIC;
           D : out STD_LOGIC_VECTOR(6 downto 0)
			 );
end lcdf_fadd;

architecture Behavioral of lcdf_fadd is
signal C:STD_LOGIC_VECTOR(0 to 2);
signal St:STD_LOGIC_VECTOR(0 to 3);

COMPONENT f_adder
port(ain,bin,cin  : IN STD_LOGIC;
         cout,sum   : OUT STD_LOGIC);
END COMPONENT;
begin
u1: f_adder PORT MAP (A(3),B(3),Cin,C(0),St(3));
u2: f_adder PORT MAP (A(2),B(2),C(0),C(1),St(2));
u3: f_adder PORT MAP (A(1),B(1),C(1),C(2),St(1));
u4: f_adder PORT MAP (A(0),B(0),C(2),Cout,St(0));
S<=St;

WITH St SELECT
D <= "1111110" WHEN "0000",--0
     "0110000" WHEN "0001",--1
     "1101101" WHEN "0010",--2
     "1111001" WHEN "0011",--3
     "0110011" WHEN "0100",--4
     "1011011" WHEN "0101",--5
     "1011111" WHEN "0110",--6
     "1110000" WHEN "0111",--7
     "1111111" WHEN "1000",--8
     "1111011" WHEN "1001",--9	  
     "0000000" WHEN OTHERS; 

end Behavioral;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?