Skip to content
Snippets Groups Projects

Dev

56 files
+ 1173
1619
Compare changes
  • Side-by-side
  • Inline

Files

@@ -130,7 +130,7 @@ architecture Behavioral of BLif_Parallel is
@@ -130,7 +130,7 @@ architecture Behavioral of BLif_Parallel is
-- type definition
-- type definition
type reception_state_t is (idle, request, get_data);
type reception_state_t is (idle, request, get_data);
type transmission_state_t is (idle, voltage_update, check_arbitration, request, accept, wait_arbitration, arbitration_finish);
type transmission_state_t is (idle, voltage_update, check_arbitration, request, accept, wait_arbitration);
-- ram signals
-- ram signals
signal data_read : std_logic_vector((output_neuron*weight_size)-1 downto 0);
signal data_read : std_logic_vector((output_neuron*weight_size)-1 downto 0);
@@ -249,8 +249,9 @@ begin
@@ -249,8 +249,9 @@ begin
when check_arbitration =>
when check_arbitration =>
if spikes = no_spike then
if spikes = no_spike then
transmission_state <= arbitration_finish;
o_emu_busy <= '0';
o_emu_busy <= '0';
 
transmission_state <= idle;
 
tr_fsm_en := '0';
else
else
transmission_state <= request;
transmission_state <= request;
arb_spikes <= spikes;
arb_spikes <= spikes;
@@ -278,15 +279,12 @@ begin
@@ -278,15 +279,12 @@ begin
when wait_arbitration =>
when wait_arbitration =>
start_arb <= '0';
start_arb <= '0';
if arb_busy = '0' then
if arb_busy = '0' then
transmission_state <= arbitration_finish;
transmission_state <= idle;
 
o_emu_busy <= '0';
 
tr_fsm_en := '0';
else
else
transmission_state <= wait_arbitration;
transmission_state <= wait_arbitration;
end if;
end if;
when arbitration_finish =>
transmission_state <= idle;
o_emu_busy <= '0';
tr_fsm_en := '0';
end case;
end case;
end if;
end if;
end if;
end if;
Loading