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/] [mod_sim_exp_pkg.vhd] - Diff between revs 37 and 39

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 37 Rev 39
Line 571... Line 571...
      modulus_in    : in std_logic_vector(31 downto 0);
      modulus_in    : in std_logic_vector(31 downto 0);
      modulus_out   : out std_logic_vector(1535 downto 0)
      modulus_out   : out std_logic_vector(1535 downto 0)
    );
    );
  end component modulus_ram;
  end component modulus_ram;
 
 
 
  --------------------------------------------------------------------
 
  -- mont_ctrl
 
  --------------------------------------------------------------------
 
  --    This module controls the montgommery mutliplier and controls traffic between
 
  --    RAM and multiplier. Also contains the autorun logic for exponentiations.
 
  -- 
  component mont_ctrl is
  component mont_ctrl is
    port (
    port (
      clk   : in std_logic;
      clk   : in std_logic;
      reset : in std_logic;
      reset : in std_logic;
        -- bus side
        -- bus side
Line 583... Line 589...
      y_sel_single    : in std_logic_vector(1 downto 0);
      y_sel_single    : in std_logic_vector(1 downto 0);
      run_auto        : in std_logic;
      run_auto        : in std_logic;
      op_buffer_empty : in std_logic;
      op_buffer_empty : in std_logic;
      op_sel_buffer   : in std_logic_vector(31 downto 0);
      op_sel_buffer   : in std_logic_vector(31 downto 0);
      read_buffer     : out std_logic;
      read_buffer     : out std_logic;
      buffer_noread   : in std_logic;
 
      done            : out std_logic;
      done            : out std_logic;
      calc_time       : out std_logic;
      calc_time       : out std_logic;
        -- multiplier side
        -- multiplier side
      op_sel           : out std_logic_vector(1 downto 0);
      op_sel           : out std_logic_vector(1 downto 0);
      load_x           : out std_logic;
      load_x           : out std_logic;
Line 611... Line 616...
      doutb : out std_logic_vector(31 downto 0)
      doutb : out std_logic_vector(31 downto 0)
    );
    );
  end component operand_dp;
  end component operand_dp;
 
 
  component operand_mem is
  component operand_mem is
    generic(n : integer := 1536
    generic(
 
      n : integer := 1536
    );
    );
    port(
    port(
        -- data interface (plb side)
        -- data interface (plb side)
      data_in    : in  std_logic_vector(31 downto 0);
      data_in    : in  std_logic_vector(31 downto 0);
      data_out   : out  std_logic_vector(31 downto 0);
      data_out   : out  std_logic_vector(31 downto 0);
      rw_address : in  std_logic_vector(8 downto 0);
      rw_address : in  std_logic_vector(8 downto 0);
 
      write_enable : in  std_logic;
        -- address structure:
        -- address structure:
        -- bit:  8   -> '1': modulus
        -- bit:  8   -> '1': modulus
        --              '0': operands
        --              '0': operands
        -- bits: 7-6 -> operand_in_sel in case of bit 8 = '0'
        -- bits: 7-6 -> operand_in_sel in case of bit 8 = '0'
        --              don't care in case of modulus
        --              don't care in case of modulus
Line 631... Line 638...
      op_sel    : in  std_logic_vector(1 downto 0);
      op_sel    : in  std_logic_vector(1 downto 0);
      xy_out    : out  std_logic_vector((n-1) downto 0);
      xy_out    : out  std_logic_vector((n-1) downto 0);
      m         : out  std_logic_vector((n-1) downto 0);
      m         : out  std_logic_vector((n-1) downto 0);
      result_in : in std_logic_vector((n-1) downto 0);
      result_in : in std_logic_vector((n-1) downto 0);
        -- control signals
        -- control signals
      load_op        : in std_logic;
 
      load_m         : in std_logic;
 
      load_result    : in std_logic;
      load_result    : in std_logic;
      result_dest_op : in std_logic_vector(1 downto 0);
      result_dest_op : in std_logic_vector(1 downto 0);
      collision      : out std_logic;
      collision      : out std_logic;
        -- system clock
        -- system clock
      clk : in  std_logic
      clk : in  std_logic

powered by: WebSVN 2.1.0

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