Line 93... |
Line 93... |
entity user_logic is
|
entity user_logic is
|
generic
|
generic
|
(
|
(
|
-- ADD USER GENERICS BELOW THIS LINE ---------------
|
-- ADD USER GENERICS BELOW THIS LINE ---------------
|
--USER generics added here
|
--USER generics added here
|
|
-- Multiplier parameters
|
|
C_NR_BITS_TOTAL : integer := 1536;
|
|
C_NR_STAGES_TOTAL : integer := 96;
|
|
C_NR_STAGES_LOW : integer := 32;
|
|
C_SPLIT_PIPELINE : boolean := true;
|
-- ADD USER GENERICS ABOVE THIS LINE ---------------
|
-- ADD USER GENERICS ABOVE THIS LINE ---------------
|
|
|
-- DO NOT EDIT BELOW THIS LINE ---------------------
|
-- DO NOT EDIT BELOW THIS LINE ---------------------
|
-- Bus protocol parameters, do not add to or delete
|
-- Bus protocol parameters, do not add to or delete
|
C_SLV_AWIDTH : integer := 32;
|
C_SLV_AWIDTH : integer := 32;
|
Line 388... |
Line 393... |
|
|
------------------------------------------
|
------------------------------------------
|
-- Multiplier core instance
|
-- Multiplier core instance
|
------------------------------------------
|
------------------------------------------
|
the_multiplier: mod_sim_exp_core
|
the_multiplier: mod_sim_exp_core
|
port map( clk => Bus2IP_Clk, -- v
|
generic map(
|
reset => Bus2IP_Reset, -- v
|
C_NR_BITS_TOTAL => C_NR_BITS_TOTAL,
|
|
C_NR_STAGES_TOTAL => C_NR_STAGES_TOTAL,
|
|
C_NR_STAGES_LOW => C_NR_STAGES_LOW,
|
|
C_SPLIT_PIPELINE => C_SPLIT_PIPELINE
|
|
)
|
|
port map(
|
|
clk => Bus2IP_Clk,
|
|
reset => Bus2IP_Reset,
|
-- operand memory interface (plb shared memory)
|
-- operand memory interface (plb shared memory)
|
write_enable => core_write_enable,
|
write_enable => core_write_enable,
|
data_in => core_data_in,
|
data_in => core_data_in,
|
rw_address => core_rw_address,
|
rw_address => core_rw_address,
|
data_out => core_data_out,
|
data_out => core_data_out,
|
collision => core_mem_collision, -- v
|
collision => core_mem_collision,
|
-- op_sel fifo interface
|
-- op_sel fifo interface
|
fifo_din => core_fifo_din,
|
fifo_din => core_fifo_din,
|
fifo_push => core_fifo_push,
|
fifo_push => core_fifo_push,
|
fifo_full => core_fifo_full, -- v
|
fifo_full => core_fifo_full,
|
fifo_nopush => core_fifo_nopush, -- v
|
fifo_nopush => core_fifo_nopush,
|
-- ctrl signals
|
-- ctrl signals
|
start => core_start, -- v
|
start => core_start,
|
run_auto => core_run_auto, -- v
|
run_auto => core_run_auto,
|
ready => core_ready, -- v
|
ready => core_ready,
|
x_sel_single => core_x_sel_single, -- v
|
x_sel_single => core_x_sel_single,
|
y_sel_single => core_y_sel_single, -- v
|
y_sel_single => core_y_sel_single,
|
dest_op_single => core_dest_op_single, -- v
|
dest_op_single => core_dest_op_single,
|
p_sel => core_p_sel, -- v
|
p_sel => core_p_sel,
|
calc_time => calc_time -- v
|
calc_time => calc_time
|
);
|
);
|
|
|
|
|
------------------------------------------
|
------------------------------------------
|
-- Drive IP to Bus signals
|
-- Drive IP to Bus signals
|
------------------------------------------
|
------------------------------------------
|
IP2Bus_Data <= slv_ip2bus_data when slv_read_ack = '1' else
|
IP2Bus_Data <= slv_ip2bus_data when slv_read_ack = '1' else
|
mem_ip2bus_data when mem_read_ack = '1' else
|
mem_ip2bus_data when mem_read_ack = '1' else
|