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.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.vhd / entity cell_1b
6
-- 
7
-- Last Modified:       14/11/2011 
8
-- 
9
-- Description:         cell for use in the montgommery multiplier systolic array
10
--
11
--
12
-- Dependencies:        cell_1b_adder
13
--                                              cell_1b_mux
14
--
15
-- Revision:
16
--      Revision 1.00 - Architecture
17
--      Revision 0.01 - File Created
18
--
19
--
20
------------------------------------------------------------------------------------
21
--
22
-- NOTICE:
23
--
24
-- Copyright DraMCo research group. 2011. This code may be contain portions patented
25
-- by other third parties!
26
--
27
------------------------------------------------------------------------------------
28
library IEEE;
29
use IEEE.STD_LOGIC_1164.ALL;
30
use IEEE.STD_LOGIC_ARITH.ALL;
31
use IEEE.STD_LOGIC_UNSIGNED.ALL;
32
 
33
---- Uncomment the following library declaration if instantiating
34
---- any Xilinx primitives in this code.
35
--library UNISIM;
36
--use UNISIM.VComponents.all;
37
 
38
entity cell_1b is
39
    Port ( my : in  STD_LOGIC;
40
           y : in  STD_LOGIC;
41
           m : in  STD_LOGIC;
42
           x : in  STD_LOGIC;
43
           q : in  STD_LOGIC;
44
                          a : in  STD_LOGIC;
45
                          cin : in STD_LOGIC;
46
                          cout : out STD_LOGIC;
47
           r : out  STD_LOGIC);
48
end cell_1b;
49
 
50
architecture Structural of cell_1b is
51
        component cell_1b_mux
52
                 Port ( my : in  STD_LOGIC;
53
                                  y : in  STD_LOGIC;
54
                                  m : in  STD_LOGIC;
55
                                  x : in  STD_LOGIC;
56
                                  q : in  STD_LOGIC;
57
                                  result : out  STD_LOGIC);
58
        end component;
59
 
60
        component cell_1b_adder
61
                 Port ( a : in  STD_LOGIC;
62
                                  mux_result : in  STD_LOGIC;
63
                                  cin : in  STD_LOGIC;
64
                                  cout : out  STD_LOGIC;
65
                                  r : out  STD_LOGIC);
66
        end component;
67
 
68
        signal mux2adder : std_logic;
69
begin
70
 
71
        cell_mux: cell_1b_mux
72
        port map( my => my,
73
                                  y => y,
74
                                  m => m,
75
                                  x => x,
76
                                  q => q,
77
                                  result => mux2adder
78
        );
79
 
80
        cell_adder: cell_1b_adder
81
        port map(a => a,
82
                                  mux_result => mux2adder,
83
                                  cin => cin,
84
                                  cout => cout,
85
                                  r => r
86
        );
87
 
88
end Structural;

powered by: WebSVN 2.1.0

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