www.pudn.com > jaguar2s.zip > jaguar2_io.vhd
--************************************************************
--************************************************************
--*----------------------------------------------------------*
--*|Version :2.0 |
--*|Date of Last Revision :02/23/2001 |
--*----------------------------------------------------------*
--************************************************************
-- Copyright (C) 1999 Drey Enterprises Inc. All Rights Reserved.
--************************************************************
-- Warning: This file is protected by Federal Copyright Law,
-- with all rights reserved. It is unlawful to reproduce
-- any parts of this file, in any form, without expressed
-- written permission from Drey Enterprises Inc. This Copyright
-- is actively enforced.
--************************************************************
--************************************************************
library IEEE;
use IEEE.std_logic_1164.all;
entity jaguar2_io is
generic(
EXP_WIDTH :integer := 5;
WORD_WIDTH :integer := 32
);
port(
core_clk_pin :in std_logic;
reset_pin :in std_logic;
startp_pin :in std_logic;
fwd_pin :in std_logic;
N_select_pin :in std_logic_vector(2 downto 0);
smplin_we_pin :in std_logic;
smplin_addr_pin :in std_logic_vector(9 downto 0);
smplin_I_pin :in std_logic_vector(WORD_WIDTH/2-1 downto 0);
smplin_Q_pin :in std_logic_vector(WORD_WIDTH/2-1 downto 0);
smplout_addr_pin :in std_logic_vector(9 downto 0);
smplout_I_pin :out std_logic_vector(WORD_WIDTH/2-1 downto 0);
smplout_Q_pin :out std_logic_vector(WORD_WIDTH/2-1 downto 0);
done_pin :out std_logic;
pow_exp_pin :out std_logic_vector(EXP_WIDTH downto 0)
);
end jaguar2_io;
architecture behavior of jaguar2_io is
component jaguar2_core
generic(
EXP_WIDTH :integer;
WORD_WIDTH :integer
);
port(
core_clk :in std_logic;
reset :in std_logic;
startp :in std_logic;
fwd :in std_logic;
N_select :in std_logic_vector(2 downto 0);
smplin_we :in std_logic;
smplin_addr :in std_logic_vector(9 downto 0);
smplin_I :in std_logic_vector(WORD_WIDTH/2-1 downto 0);
smplin_Q :in std_logic_vector(WORD_WIDTH/2-1 downto 0);
smplout_addr :in std_logic_vector(9 downto 0);
smplout_I :out std_logic_vector(WORD_WIDTH/2-1 downto 0);
smplout_Q :out std_logic_vector(WORD_WIDTH/2-1 downto 0);
done :out std_logic;
pow_exp :out std_logic_vector(EXP_WIDTH downto 0)
);
end component;
signal core_clk :std_logic;
signal reset :std_logic;
signal startp :std_logic;
signal fwd :std_logic;
signal N_select :std_logic_vector(2 downto 0);
signal smplin_we :std_logic;
signal smplin_addr :std_logic_vector(9 downto 0);
signal smplin_I :std_logic_vector(WORD_WIDTH/2-1 downto 0);
signal smplin_Q :std_logic_vector(WORD_WIDTH/2-1 downto 0);
signal smplout_addr :std_logic_vector(9 downto 0);
signal smplout_I :std_logic_vector(WORD_WIDTH/2-1 downto 0);
signal smplout_Q :std_logic_vector(WORD_WIDTH/2-1 downto 0);
signal done :std_logic;
signal pow_exp :std_logic_vector(EXP_WIDTH downto 0);
begin
-- Add technology I/O cells here
core_clk <= core_clk_pin;
reset <= reset_pin;
startp <= startp_pin;
fwd <= fwd_pin;
N_select <= N_select_pin;
smplin_we <= smplin_we_pin;
smplin_addr <= smplin_addr_pin;
smplin_I <= smplin_I_pin;
smplin_Q <= smplin_Q_pin;
smplout_addr <= smplout_addr_pin;
smplout_I_pin <= smplout_I;
smplout_Q_pin <= smplout_Q;
done_pin <= done;
pow_exp_pin <= pow_exp;
core:jaguar2_core
generic map(EXP_WIDTH => EXP_WIDTH,
WORD_WIDTH => WORD_WIDTH)
port map(
core_clk => core_clk,
reset => reset,
startp => startp,
fwd => fwd,
N_select => N_select,
smplin_we => smplin_we,
smplin_addr => smplin_addr,
smplin_I => smplin_I,
smplin_Q => smplin_Q,
smplout_addr => smplout_addr,
smplout_I => smplout_I,
smplout_Q => smplout_Q,
done => done,
pow_exp => pow_exp
);
end behavior;