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/] [operands_sp.vhd] - Blame information for rev 36

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

Line No. Rev Author Line
1 3 JonasDC
----------------------------------------------------------------------  
2
----  operands_sp                                                 ---- 
3
----                                                              ---- 
4
----  This file is part of the                                    ----
5
----    Modular Simultaneous Exponentiation Core project          ---- 
6
----    http://www.opencores.org/cores/mod_sim_exp/               ---- 
7
----                                                              ---- 
8
----  Description                                                 ---- 
9
----    512 bit single port ram for the modulus                   ----
10
----    32 write for bus side and 512 bit read for multplier side ----
11
----                                                              ---- 
12
----  Dependencies: none                                          ----
13
----                                                              ----
14
----  Authors:                                                    ----
15
----      - Geoffrey Ottoy, DraMCo research group                 ----
16
----      - Jonas De Craene, JonasDC@opencores.org                ---- 
17
----                                                              ---- 
18
---------------------------------------------------------------------- 
19
----                                                              ---- 
20
---- Copyright (C) 2011 DraMCo research group and OPENCORES.ORG   ---- 
21
----                                                              ---- 
22
---- This source file may be used and distributed without         ---- 
23
---- restriction provided that this copyright statement is not    ---- 
24
---- removed from the file and that any derivative work contains  ---- 
25
---- the original copyright notice and the associated disclaimer. ---- 
26
----                                                              ---- 
27
---- This source file is free software; you can redistribute it   ---- 
28
---- and/or modify it under the terms of the GNU Lesser General   ---- 
29
---- Public License as published by the Free Software Foundation; ---- 
30
---- either version 2.1 of the License, or (at your option) any   ---- 
31
---- later version.                                               ---- 
32
----                                                              ---- 
33
---- This source is distributed in the hope that it will be       ---- 
34
---- useful, but WITHOUT ANY WARRANTY; without even the implied   ---- 
35
---- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ---- 
36
---- PURPOSE.  See the GNU Lesser General Public License for more ---- 
37
---- details.                                                     ---- 
38
----                                                              ---- 
39
---- You should have received a copy of the GNU Lesser General    ---- 
40
---- Public License along with this source; if not, download it   ---- 
41
---- from http://www.opencores.org/lgpl.shtml                     ---- 
42
----                                                              ---- 
43
----------------------------------------------------------------------
44
----------------------------------------------------------------------
45
-- This file is owned and controlled by Xilinx and must be used     --
46
-- solely for design, simulation, implementation and creation of    --
47
-- design files limited to Xilinx devices or technologies. Use      --
48
-- with non-Xilinx devices or technologies is expressly prohibited  --
49
-- and immediately terminates your license.                         --
50
--                                                                  --
51
-- XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS"    --
52
-- SOLELY FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR          --
53
-- XILINX DEVICES.  BY PROVIDING THIS DESIGN, CODE, OR INFORMATION  --
54
-- AS ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE, APPLICATION      --
55
-- OR STANDARD, XILINX IS MAKING NO REPRESENTATION THAT THIS        --
56
-- IMPLEMENTATION IS FREE FROM ANY CLAIMS OF INFRINGEMENT,          --
57
-- AND YOU ARE RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY REQUIRE --
58
-- FOR YOUR IMPLEMENTATION.  XILINX EXPRESSLY DISCLAIMS ANY         --
59
-- WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE          --
60
-- IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR   --
61
-- REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF  --
62
-- INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS  --
63
-- FOR A PARTICULAR PURPOSE.                                        --
64
--                                                                  --
65
-- Xilinx products are not intended for use in life support         --
66
-- appliances, devices, or systems. Use in such applications are    --
67
-- expressly prohibited.                                            --
68
--                                                                  --
69
-- (c) Copyright 1995-2009 Xilinx, Inc.                             --
70
-- All rights reserved.                                             --
71
----------------------------------------------------------------------
72
-- You must compile the wrapper file operand_dp.vhd when simulating
73
-- the core, operand_dp. When compiling the wrapper file, be sure to
74 2 JonasDC
-- reference the XilinxCoreLib VHDL simulation library. For detailed
75
-- instructions, please refer to the "CORE Generator Help".
76
 
77
-- The synthesis directives "translate_off/translate_on" specified
78
-- below are supported by Xilinx, Mentor Graphics and Synplicity
79
-- synthesis tools. Ensure they are correct for your synthesis tool(s).
80
 
81 3 JonasDC
 
82
library ieee;
83
use ieee.std_logic_1164.all;
84 2 JonasDC
-- synthesis translate_off
85 3 JonasDC
library XilinxCoreLib;
86 2 JonasDC
-- synthesis translate_on
87
 
88 3 JonasDC
 
89
entity operands_sp is
90
  port (
91
    clka  : in std_logic;
92
    wea   : in std_logic_vector(0 downto 0);
93
    addra : in std_logic_vector(4 downto 0);
94
    dina  : in std_logic_vector(31 downto 0);
95
    douta : out std_logic_vector(511 downto 0)
96
  );
97
end operands_sp;
98
 
99
 
100
architecture operands_sp_a of operands_sp is
101 2 JonasDC
-- synthesis translate_off
102 3 JonasDC
  component wrapped_operands_sp
103
    port (
104
      clka  : in std_logic;
105
      wea   : in std_logic_vector(0 downto 0);
106
      addra : in std_logic_vector(4 downto 0);
107
      dina  : in std_logic_vector(31 downto 0);
108
      douta : out std_logic_vector(511 downto 0)
109
    );
110
  end component;
111 2 JonasDC
 
112
-- Configuration specification 
113
        for all : wrapped_operands_sp use entity XilinxCoreLib.blk_mem_gen_v3_3(behavioral)
114
                generic map(
115
                        c_has_regceb => 0,
116
                        c_has_regcea => 0,
117
                        c_mem_type => 0,
118
                        c_rstram_b => 0,
119
                        c_rstram_a => 0,
120
                        c_has_injecterr => 0,
121
                        c_rst_type => "SYNC",
122
                        c_prim_type => 1,
123
                        c_read_width_b => 32,
124
                        c_initb_val => "0",
125
                        c_family => "virtex6",
126
                        c_read_width_a => 512,
127
                        c_disable_warn_bhv_coll => 0,
128
                        c_write_mode_b => "WRITE_FIRST",
129
                        c_init_file_name => "no_coe_file_loaded",
130
                        c_write_mode_a => "WRITE_FIRST",
131
                        c_mux_pipeline_stages => 0,
132
                        c_has_mem_output_regs_b => 0,
133
                        c_has_mem_output_regs_a => 0,
134
                        c_load_init_file => 0,
135
                        c_xdevicefamily => "virtex6",
136
                        c_write_depth_b => 32,
137
                        c_write_depth_a => 32,
138
                        c_has_rstb => 0,
139
                        c_has_rsta => 0,
140
                        c_has_mux_output_regs_b => 0,
141
                        c_inita_val => "0",
142
                        c_has_mux_output_regs_a => 0,
143
                        c_addra_width => 5,
144
                        c_addrb_width => 5,
145
                        c_default_data => "0",
146
                        c_use_ecc => 0,
147
                        c_algorithm => 1,
148
                        c_disable_warn_bhv_range => 0,
149
                        c_write_width_b => 32,
150
                        c_write_width_a => 32,
151
                        c_read_depth_b => 32,
152
                        c_read_depth_a => 2,
153
                        c_byte_size => 9,
154
                        c_sim_collision_check => "ALL",
155
                        c_common_clk => 0,
156
                        c_wea_width => 1,
157
                        c_has_enb => 0,
158
                        c_web_width => 1,
159
                        c_has_ena => 0,
160
                        c_use_byte_web => 0,
161
                        c_use_byte_wea => 0,
162
                        c_rst_priority_b => "CE",
163
                        c_rst_priority_a => "CE",
164 3 JonasDC
                        c_use_default_data => 0
165
                );
166 2 JonasDC
-- synthesis translate_on
167 3 JonasDC
 
168
begin
169 2 JonasDC
-- synthesis translate_off
170 3 JonasDC
  u0 : wrapped_operands_sp
171
  port map (
172
    clka  => clka,
173
    wea   => wea,
174
    addra => addra,
175
    dina  => dina,
176
    douta => douta
177
  );
178 2 JonasDC
-- synthesis translate_on
179
 
180 3 JonasDC
end operands_sp_a;

powered by: WebSVN 2.1.0

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