OpenCores
URL https://opencores.org/ocsvn/structural_vhdl/structural_vhdl/trunk

Subversion Repositories structural_vhdl

[/] [structural_vhdl/] [trunk/] [idea_machine/] [m16adder.vst] - Rev 4

Compare with Previous | Blame | View Log

-- VHDL structural description generated from `m16adder`
--              date : Sat Sep  8 00:50:46 2001


-- Entity Declaration

ENTITY m16adder IS
  PORT (
  a : in BIT_VECTOR (0 TO 15);  -- a
  b : in BIT_VECTOR (0 TO 15);  -- b
  s : out BIT_VECTOR (0 TO 15); -- s
  vdd : in BIT; -- vdd
  vss : in BIT  -- vss
  );
END m16adder;

-- Architecture Declaration

ARCHITECTURE VST OF m16adder IS
  COMPONENT halfadder_glopf
    port (
    a : in BIT; -- a
    b : in BIT; -- b
    cout : out BIT;     -- cout
    sout : out BIT;     -- sout
    vdd : in BIT;       -- vdd
    vss : in BIT        -- vss
    );
  END COMPONENT;

  COMPONENT fulladder_glopg
    port (
    a : in BIT; -- a
    b : in BIT; -- b
    cin : in BIT;       -- cin
    cout : out BIT;     -- cout
    sout : out BIT;     -- sout
    vdd : in BIT;       -- vdd
    vss : in BIT        -- vss
    );
  END COMPONENT;

  COMPONENT xr2_x1
    port (
    i0 : in BIT;        -- i0
    i1 : in BIT;        -- i1
    q : out BIT;        -- q
    vdd : in BIT;       -- vdd
    vss : in BIT        -- vss
    );
  END COMPONENT;

  SIGNAL c_0 : BIT;     -- c 0
  SIGNAL c_1 : BIT;     -- c 1
  SIGNAL c_2 : BIT;     -- c 2
  SIGNAL c_3 : BIT;     -- c 3
  SIGNAL c_4 : BIT;     -- c 4
  SIGNAL c_5 : BIT;     -- c 5
  SIGNAL c_6 : BIT;     -- c 6
  SIGNAL c_7 : BIT;     -- c 7
  SIGNAL c_8 : BIT;     -- c 8
  SIGNAL c_9 : BIT;     -- c 9
  SIGNAL c_10 : BIT;    -- c 10
  SIGNAL c_11 : BIT;    -- c 11
  SIGNAL c_12 : BIT;    -- c 12
  SIGNAL c_13 : BIT;    -- c 13
  SIGNAL c_14 : BIT;    -- c 14
  SIGNAL o_xr1 : BIT;   -- o_xr1

BEGIN

  ha : halfadder_glopf
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sout => s(0),
    cout => c_0,
    b => b(0),
    a => a(0));
  fa1 : fulladder_glopg
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sout => s(1),
    cout => c_1,
    cin => c_0,
    b => b(1),
    a => a(1));
  fa2 : fulladder_glopg
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sout => s(2),
    cout => c_2,
    cin => c_1,
    b => b(2),
    a => a(2));
  fa3 : fulladder_glopg
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sout => s(3),
    cout => c_3,
    cin => c_2,
    b => b(3),
    a => a(3));
  fa4 : fulladder_glopg
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sout => s(4),
    cout => c_4,
    cin => c_3,
    b => b(4),
    a => a(4));
  fa5 : fulladder_glopg
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sout => s(5),
    cout => c_5,
    cin => c_4,
    b => b(5),
    a => a(5));
  fa6 : fulladder_glopg
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sout => s(6),
    cout => c_6,
    cin => c_5,
    b => b(6),
    a => a(6));
  fa7 : fulladder_glopg
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sout => s(7),
    cout => c_7,
    cin => c_6,
    b => b(7),
    a => a(7));
  fa8 : fulladder_glopg
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sout => s(8),
    cout => c_8,
    cin => c_7,
    b => b(8),
    a => a(8));
  fa9 : fulladder_glopg
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sout => s(9),
    cout => c_9,
    cin => c_8,
    b => b(9),
    a => a(9));
  fa10 : fulladder_glopg
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sout => s(10),
    cout => c_10,
    cin => c_9,
    b => b(10),
    a => a(10));
  fa11 : fulladder_glopg
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sout => s(11),
    cout => c_11,
    cin => c_10,
    b => b(11),
    a => a(11));
  fa12 : fulladder_glopg
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sout => s(12),
    cout => c_12,
    cin => c_11,
    b => b(12),
    a => a(12));
  fa13 : fulladder_glopg
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sout => s(13),
    cout => c_13,
    cin => c_12,
    b => b(13),
    a => a(13));
  fa14 : fulladder_glopg
    PORT MAP (
    vss => vss,
    vdd => vdd,
    sout => s(14),
    cout => c_14,
    cin => c_13,
    b => b(14),
    a => a(14));
  xr1 : xr2_x1
    PORT MAP (
    vss => vss,
    vdd => vdd,
    q => o_xr1,
    i1 => b(15),
    i0 => a(15));
  xr2 : xr2_x1
    PORT MAP (
    vss => vss,
    vdd => vdd,
    q => s(15),
    i1 => c_14,
    i0 => o_xr1);

end VST;

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.