initial changes
This commit is contained in:
parent
1e1ce6eb15
commit
73c0f540b4
@ -50,6 +50,7 @@ architecture rtl of add is
|
|||||||
signal current_task_state : work.task.State;
|
signal current_task_state : work.task.State;
|
||||||
signal next_task_state : work.task.State;
|
signal next_task_state : work.task.State;
|
||||||
signal index : integer range 0 to work.task.STREAM_LEN;
|
signal index : integer range 0 to work.task.STREAM_LEN;
|
||||||
|
signal start_proc : integer range 0 to 7;
|
||||||
signal state : integer range 0 to 255;
|
signal state : integer range 0 to 255;
|
||||||
signal reset : integer range 0 to 7;
|
signal reset : integer range 0 to 7;
|
||||||
signal start : integer range 0 to 7;
|
signal start : integer range 0 to 7;
|
||||||
@ -64,10 +65,10 @@ begin
|
|||||||
port map (
|
port map (
|
||||||
clk => clk,
|
clk => clk,
|
||||||
reset => reset,
|
reset => reset,
|
||||||
start => start,
|
start => start_proc,
|
||||||
done => done,
|
done => done,
|
||||||
A => A,
|
A => signal_a_readdata,
|
||||||
B => B,
|
B => signal_b_readdata,
|
||||||
sum => sum
|
sum => sum
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -90,6 +91,40 @@ begin
|
|||||||
end case;
|
end case;
|
||||||
end process task_state_transitions;
|
end process task_state_transitions;
|
||||||
|
|
||||||
|
|
||||||
|
perform_add : process ( clk, reset ) is
|
||||||
|
begin
|
||||||
|
if (start_proc = '1' or reset = '1' ) then
|
||||||
|
signal_a_read <= '0';
|
||||||
|
signal_b_read <= '0';
|
||||||
|
else if (rising_edge(clk)) then
|
||||||
|
case state is
|
||||||
|
when 0 =>
|
||||||
|
start <= '1';
|
||||||
|
signal_a_read <= '1';
|
||||||
|
A <= signal_a_readdata;
|
||||||
|
signal_b_read <= '1';
|
||||||
|
B <= signal_b_readdata;
|
||||||
|
|
||||||
|
if( done = '1' ) then
|
||||||
|
signal_a_read <= '0';
|
||||||
|
signal_b_read <= '0';
|
||||||
|
state <= '2';
|
||||||
|
end if;
|
||||||
|
when 2 =>
|
||||||
|
|
||||||
|
end if;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
end case;
|
||||||
|
end process perform_add;
|
||||||
|
|
||||||
|
|
||||||
sync : process ( clk, reset ) is
|
sync : process ( clk, reset ) is
|
||||||
begin
|
begin
|
||||||
if ( reset = '1' ) then
|
if ( reset = '1' ) then
|
||||||
@ -110,9 +145,9 @@ begin
|
|||||||
index <= 0;
|
index <= 0;
|
||||||
signal_write <= '0';
|
signal_write <= '0';
|
||||||
when work.task.TASK_RUNNING =>
|
when work.task.TASK_RUNNING =>
|
||||||
|
start_proc <= '1';
|
||||||
|
|
||||||
index <= index + 1;
|
index <= index + 1;
|
||||||
--signal_a_read <= '1' ;
|
|
||||||
--signal_b_read <= '1' ;
|
|
||||||
signal_write <= '1';
|
signal_write <= '1';
|
||||||
signal_writedata <= ( others => '0' );
|
signal_writedata <= ( others => '0' );
|
||||||
when work.task.TASK_DONE =>
|
when work.task.TASK_DONE =>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user