Line 198... |
Line 198... |
signal sburstcount_sink : std_logic_vector(mb downto 0);
|
signal sburstcount_sink : std_logic_vector(mb downto 0);
|
|
|
signal sflood_condition : std_logic;
|
signal sflood_condition : std_logic;
|
signal sflood_burstcount : std_logic_vector(mb downto 0);
|
signal sflood_burstcount : std_logic_vector(mb downto 0);
|
|
|
signal sp0,sp1,sp2 : std_logic_vector(31 downto 0);
|
signal sp0,sp1,sp2,sp3,sp4,sp5,sp6,sp7,sp8: std_logic_vector(31 downto 0);
|
--! Arithmetic Pipeline and Data Path Control
|
--! Arithmetic Pipeline and Data Path Control
|
component ap_n_dpc
|
component ap_n_dpc
|
port (
|
port (
|
|
|
p0,p1,p2 : out std_logic_vector(31 downto 0);
|
p0,p1,p2,p3,p4,p5,p6,p7,p8 : out std_logic_vector(31 downto 0);
|
clk : in std_logic;
|
clk : in std_logic;
|
rst : in std_logic;
|
rst : in std_logic;
|
ax : in std_logic_vector(31 downto 0);
|
ax : in std_logic_vector(31 downto 0);
|
ay : in std_logic_vector(31 downto 0);
|
ay : in std_logic_vector(31 downto 0);
|
az : in std_logic_vector(31 downto 0);
|
az : in std_logic_vector(31 downto 0);
|
Line 243... |
Line 243... |
arithmetic_pipeline_and_datapath_controller : ap_n_dpc
|
arithmetic_pipeline_and_datapath_controller : ap_n_dpc
|
port map (
|
port map (
|
p0 => sp0,
|
p0 => sp0,
|
p1 => sp1,
|
p1 => sp1,
|
p2 => sp2,
|
p2 => sp2,
|
|
p3 => sp3,
|
|
p4 => sp4,
|
|
p5 => sp5,
|
|
p6 => sp6,
|
|
p7 => sp7,
|
|
p8 => sp8,
|
|
|
clk => clk,
|
clk => clk,
|
rst => rst,
|
rst => rst,
|
ax => sreg_block(reg_ax),
|
ax => sreg_block(reg_ax),
|
ay => sreg_block(reg_ay),
|
ay => sreg_block(reg_ay),
|
az => sreg_block(reg_az),
|
az => sreg_block(reg_az),
|
Line 731... |
Line 738... |
sslave_address <= slave_address;
|
sslave_address <= slave_address;
|
sslave_write <= slave_write;
|
sslave_write <= slave_write;
|
sslave_read <= slave_read;
|
sslave_read <= slave_read;
|
sslave_writedata <= slave_writedata;
|
sslave_writedata <= slave_writedata;
|
|
|
sreg_block(reg_vz) <= sp0;
|
|
sreg_block(reg_vy) <= sp1;
|
|
sreg_block(reg_vx) <= sp2;
|
|
for i in reg_scalar downto reg_scalar loop
|
for i in reg_scalar downto reg_scalar loop
|
if sslave_address=i then
|
if sslave_address=i then
|
if sslave_write='1' then
|
if sslave_write='1' then
|
sreg_block(i) <= sslave_writedata;
|
sreg_block(i) <= sslave_writedata;
|
end if;
|
end if;
|
end if;
|
end if;
|
end loop;
|
end loop;
|
for i in 15 downto 0 loop
|
for i in 15 downto 0 loop
|
if sslave_address=i then
|
if sslave_address=i then
|
if sslave_read='1' then
|
if sslave_read='1' then
|
|
|
|
if (i<10 and i>3) or i=0 then
|
slave_readdata <= sreg_block(i);
|
slave_readdata <= sreg_block(i);
|
|
elsif i=1 then
|
|
slave_readdata <= sp0;
|
|
elsif i=2 then
|
|
slave_readdata <= sp1;
|
|
elsif i=3 then
|
|
slave_readdata <= sp2;
|
|
elsif i=10 then
|
|
slave_readdata <= sp3;
|
|
elsif i=11 then
|
|
slave_readdata <= sp4;
|
|
elsif i=12 then
|
|
slave_readdata <= sp5;
|
|
elsif i=13 then
|
|
slave_readdata <= sp6;
|
|
elsif i=14 then
|
|
slave_readdata <= sp7;
|
|
elsif i=15 then
|
|
slave_readdata <= sp8;
|
|
end if;
|
|
|
end if;
|
end if;
|
end if;
|
end if;
|
end loop;
|
end loop;
|
end if;
|
end if;
|
end process;
|
end process;
|