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

Subversion Repositories mod_sim_exp

[/] [mod_sim_exp/] [trunk/] [rtl/] [vhdl/] [core/] [cell_1b_adder.vhd] - Blame information for rev 2

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 JonasDC
------------------------------------------------------------------------------------ 
2
--                      
3
-- Geoffrey Ottoy - DraMCo research group
4
--
5
-- Module Name: cell_1b_adder.vhd / entity cell_1b_adder
6
-- 
7
-- Last Modified:       18/11/2011 
8
-- 
9
-- Description:         full adder for use in the montgommery multiplier systolic array
10
--                                              currently a behavioral description
11
--
12
--
13
-- Dependencies:        none
14
--
15
-- Revision:
16
-- Revision 2.00 - Major error resolved (carry & sum output were switched)
17
--      Revision 1.00 - Architecture
18
--      Revision 0.01 - File Created
19
--
20
--
21
------------------------------------------------------------------------------------
22
--
23
-- NOTICE:
24
--
25
-- Copyright DraMCo research group. 2011. This code may be contain portions patented
26
-- by other third parties!
27
--
28
------------------------------------------------------------------------------------
29
library IEEE;
30
use IEEE.STD_LOGIC_1164.ALL;
31
use IEEE.STD_LOGIC_ARITH.ALL;
32
use IEEE.STD_LOGIC_UNSIGNED.ALL;
33
 
34
---- Uncomment the following library declaration if instantiating
35
---- any Xilinx primitives in this code.
36
--library UNISIM;
37
--use UNISIM.VComponents.all;
38
 
39
entity cell_1b_adder is
40
    Port ( a : in  STD_LOGIC;
41
           mux_result : in  STD_LOGIC;
42
           cin : in  STD_LOGIC;
43
           cout : out  STD_LOGIC;
44
           r : out  STD_LOGIC);
45
end cell_1b_adder;
46
 
47
architecture Behavioral of cell_1b_adder is
48
        signal a_xor_mux_result: std_logic;
49
begin
50
        a_xor_mux_result <= a xor mux_result;
51
        r <= a_xor_mux_result xor cin;
52
        cout <= (a and mux_result) or (cin and a_xor_mux_result);
53
end Behavioral;
54
 

powered by: WebSVN 2.1.0

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