Line 1... |
Line 1... |
--------------------------------------------------------------------------------
|
----------------------------------------------------------------------
|
|
---- operands_sp ----
|
|
---- ----
|
|
---- This file is part of the ----
|
|
---- Modular Simultaneous Exponentiation Core project ----
|
|
---- http://www.opencores.org/cores/mod_sim_exp/ ----
|
|
---- ----
|
|
---- Description ----
|
|
---- 512 bit single port ram for the modulus ----
|
|
---- 32 write for bus side and 512 bit read for multplier side ----
|
|
---- ----
|
|
---- Dependencies: none ----
|
|
---- ----
|
|
---- Authors: ----
|
|
---- - Geoffrey Ottoy, DraMCo research group ----
|
|
---- - Jonas De Craene, JonasDC@opencores.org ----
|
|
---- ----
|
|
----------------------------------------------------------------------
|
|
---- ----
|
|
---- Copyright (C) 2011 DraMCo research group and OPENCORES.ORG ----
|
|
---- ----
|
|
---- This source file may be used and distributed without ----
|
|
---- restriction provided that this copyright statement is not ----
|
|
---- removed from the file and that any derivative work contains ----
|
|
---- the original copyright notice and the associated disclaimer. ----
|
|
---- ----
|
|
---- This source file is free software; you can redistribute it ----
|
|
---- and/or modify it under the terms of the GNU Lesser General ----
|
|
---- Public License as published by the Free Software Foundation; ----
|
|
---- either version 2.1 of the License, or (at your option) any ----
|
|
---- later version. ----
|
|
---- ----
|
|
---- This source is distributed in the hope that it will be ----
|
|
---- useful, but WITHOUT ANY WARRANTY; without even the implied ----
|
|
---- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR ----
|
|
---- PURPOSE. See the GNU Lesser General Public License for more ----
|
|
---- details. ----
|
|
---- ----
|
|
---- You should have received a copy of the GNU Lesser General ----
|
|
---- Public License along with this source; if not, download it ----
|
|
---- from http://www.opencores.org/lgpl.shtml ----
|
|
---- ----
|
|
----------------------------------------------------------------------
|
|
----------------------------------------------------------------------
|
-- This file is owned and controlled by Xilinx and must be used --
|
-- This file is owned and controlled by Xilinx and must be used --
|
-- solely for design, simulation, implementation and creation of --
|
-- solely for design, simulation, implementation and creation of --
|
-- design files limited to Xilinx devices or technologies. Use --
|
-- design files limited to Xilinx devices or technologies. Use --
|
-- with non-Xilinx devices or technologies is expressly prohibited --
|
-- with non-Xilinx devices or technologies is expressly prohibited --
|
-- and immediately terminates your license. --
|
-- and immediately terminates your license. --
|
Line 23... |
Line 66... |
-- appliances, devices, or systems. Use in such applications are --
|
-- appliances, devices, or systems. Use in such applications are --
|
-- expressly prohibited. --
|
-- expressly prohibited. --
|
-- --
|
-- --
|
-- (c) Copyright 1995-2009 Xilinx, Inc. --
|
-- (c) Copyright 1995-2009 Xilinx, Inc. --
|
-- All rights reserved. --
|
-- All rights reserved. --
|
--------------------------------------------------------------------------------
|
----------------------------------------------------------------------
|
-- You must compile the wrapper file operands_sp.vhd when simulating
|
-- You must compile the wrapper file operand_dp.vhd when simulating
|
-- the core, operands_sp. When compiling the wrapper file, be sure to
|
-- the core, operand_dp. When compiling the wrapper file, be sure to
|
-- reference the XilinxCoreLib VHDL simulation library. For detailed
|
-- reference the XilinxCoreLib VHDL simulation library. For detailed
|
-- instructions, please refer to the "CORE Generator Help".
|
-- instructions, please refer to the "CORE Generator Help".
|
|
|
-- The synthesis directives "translate_off/translate_on" specified
|
-- The synthesis directives "translate_off/translate_on" specified
|
-- below are supported by Xilinx, Mentor Graphics and Synplicity
|
-- below are supported by Xilinx, Mentor Graphics and Synplicity
|
-- synthesis tools. Ensure they are correct for your synthesis tool(s).
|
-- synthesis tools. Ensure they are correct for your synthesis tool(s).
|
|
|
LIBRARY ieee;
|
|
USE ieee.std_logic_1164.ALL;
|
library ieee;
|
|
use ieee.std_logic_1164.all;
|
-- synthesis translate_off
|
-- synthesis translate_off
|
Library XilinxCoreLib;
|
library XilinxCoreLib;
|
-- synthesis translate_on
|
-- synthesis translate_on
|
ENTITY operands_sp IS
|
|
|
|
|
entity operands_sp is
|
port (
|
port (
|
clka: IN std_logic;
|
clka : in std_logic;
|
wea: IN std_logic_VECTOR(0 downto 0);
|
wea : in std_logic_vector(0 downto 0);
|
addra: IN std_logic_VECTOR(4 downto 0);
|
addra : in std_logic_vector(4 downto 0);
|
dina: IN std_logic_VECTOR(31 downto 0);
|
dina : in std_logic_vector(31 downto 0);
|
douta: OUT std_logic_VECTOR(511 downto 0));
|
douta : out std_logic_vector(511 downto 0)
|
END operands_sp;
|
);
|
|
end operands_sp;
|
|
|
ARCHITECTURE operands_sp_a OF operands_sp IS
|
|
|
architecture operands_sp_a of operands_sp is
|
-- synthesis translate_off
|
-- synthesis translate_off
|
component wrapped_operands_sp
|
component wrapped_operands_sp
|
port (
|
port (
|
clka: IN std_logic;
|
clka : in std_logic;
|
wea: IN std_logic_VECTOR(0 downto 0);
|
wea : in std_logic_vector(0 downto 0);
|
addra: IN std_logic_VECTOR(4 downto 0);
|
addra : in std_logic_vector(4 downto 0);
|
dina: IN std_logic_VECTOR(31 downto 0);
|
dina : in std_logic_vector(31 downto 0);
|
douta: OUT std_logic_VECTOR(511 downto 0));
|
douta : out std_logic_vector(511 downto 0)
|
|
);
|
end component;
|
end component;
|
|
|
-- Configuration specification
|
-- Configuration specification
|
for all : wrapped_operands_sp use entity XilinxCoreLib.blk_mem_gen_v3_3(behavioral)
|
for all : wrapped_operands_sp use entity XilinxCoreLib.blk_mem_gen_v3_3(behavioral)
|
generic map(
|
generic map(
|
Line 110... |
Line 159... |
c_has_ena => 0,
|
c_has_ena => 0,
|
c_use_byte_web => 0,
|
c_use_byte_web => 0,
|
c_use_byte_wea => 0,
|
c_use_byte_wea => 0,
|
c_rst_priority_b => "CE",
|
c_rst_priority_b => "CE",
|
c_rst_priority_a => "CE",
|
c_rst_priority_a => "CE",
|
c_use_default_data => 0);
|
c_use_default_data => 0
|
|
);
|
-- synthesis translate_on
|
-- synthesis translate_on
|
BEGIN
|
|
|
begin
|
-- synthesis translate_off
|
-- synthesis translate_off
|
U0 : wrapped_operands_sp
|
u0 : wrapped_operands_sp
|
port map (
|
port map (
|
clka => clka,
|
clka => clka,
|
wea => wea,
|
wea => wea,
|
addra => addra,
|
addra => addra,
|
dina => dina,
|
dina => dina,
|
douta => douta);
|
douta => douta
|
|
);
|
-- synthesis translate_on
|
-- synthesis translate_on
|
|
|
END operands_sp_a;
|
end operands_sp_a;
|
|
|
|
|
No newline at end of file
|
No newline at end of file
|