Advertisement
Guest User

Untitled

a guest
Feb 27th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 1.44 KB | None | 0 0
  1. LIBRARY ieee;
  2. USE ieee.std_logic_1164.all;
  3. ENTITY fulladder IS
  4. PORT (Cin, x, y: IN STD_LOGIC;
  5. Cout, s: OUT STD_LOGIC);
  6. END fulladder;
  7. ARCHITECTURE equations OF fulladder IS
  8. BEGIN
  9. s<= x XOR y XOR Cin;
  10. Cout <= (x AND y) OR (x AND Cin) OR (y AND Cin);
  11. END equations;
  12.  
  13. LIBRARY ieee;
  14. USE ieee.std_logic_1164.all;
  15. ENTITY adder IS
  16. PORT (Cin : IN STD_LOGIC;
  17. X, Y: IN STD_LOGIC_VECTOR (3 DOWNTO 0);
  18. S: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);
  19. Cout : OUT STD_LOGIC);
  20. END adder;
  21. ARCHITECTURE structure OF adder IS
  22. SIGNAL C:STD_LOGIC_VECTOR (1 TO 3);
  23. COMPONENT fulladder IS
  24. PORT (Cin, x, y: IN STD_LOGIC;
  25. Cout, s: OUT STD_LOGIC);
  26. END COMPONENT;
  27. BEGIN
  28. stage0: fulladder PORT MAP (Cin, X(0), Y(0), C(1), S(0));
  29. stage1: fulladder PORT MAP (C(1), X(1), Y(1), C(2), S(1));
  30. stage2: fulladder PORT MAP (C(2), X(2), Y(2), C(3), S(2));
  31. stage3: fulladder PORT MAP (C(3), X(3), Y(3), Cout, S(3));
  32. END structure;
  33.  
  34. LIBRARY ieee;
  35. USE ieee.std_logic_1164.all;
  36. ENTITY addsub IS
  37. PORT (CTL : IN STD_LOGIC;
  38. A, B: IN STD_LOGIC_VECTOR (3 DOWNTO 0);
  39. S: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);
  40. Cout : OUT STD_LOGIC);
  41. END addsub;
  42. ARCHITECTURE structure OF addsub IS
  43. SIGNAL mult:STD_LOGIC_VECTOR (0 TO 3);
  44. COMPONENT adder IS
  45. PORT (Cin : IN STD_LOGIC;
  46. x, y: IN STD_LOGIC_VECTOR (3 DOWNTO 0);
  47. s: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);
  48. Cout : OUT STD_LOGIC);
  49. END COMPONENT;
  50. BEGIN
  51. mult <= B when (CTL = '1') else NOT B;
  52. stage0: adder PORT MAP (CTL, A, mult, S, Cout);
  53. END structure;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement