cleanup: made some signals not concurrently conditional
This commit is contained in:
parent
a84397d626
commit
f0783eefa4
@ -10,6 +10,9 @@ use gan_manager.management_types.all;
|
|||||||
library gan_buffer;
|
library gan_buffer;
|
||||||
|
|
||||||
entity ganimede_toplevel is
|
entity ganimede_toplevel is
|
||||||
|
generic (
|
||||||
|
tech : integer
|
||||||
|
);
|
||||||
port (
|
port (
|
||||||
clk : in std_logic;
|
clk : in std_logic;
|
||||||
rst : in std_logic;
|
rst : in std_logic;
|
||||||
@ -44,6 +47,10 @@ begin
|
|||||||
ip_to_socbridge_driver.fifo <= buffer_to_socbridge_driver;
|
ip_to_socbridge_driver.fifo <= buffer_to_socbridge_driver;
|
||||||
ip_to_socbridge_driver.flush <= ip_to_ganimede.socbridge.flush;
|
ip_to_socbridge_driver.flush <= ip_to_ganimede.socbridge.flush;
|
||||||
ganimede_to_ip_reset <= rst or ip_to_ganimede.socbridge.flush;
|
ganimede_to_ip_reset <= rst or ip_to_ganimede.socbridge.flush;
|
||||||
|
ganimede_to_ip.socbridge.used_slots <= 0;
|
||||||
|
ip_to_socbridge_driver.read_fifo.data <= (others => '0');
|
||||||
|
ip_to_socbridge_driver.read_fifo.valid <= '0';
|
||||||
|
ip_to_socbridge_driver.read_fifo.ready <= '0';
|
||||||
--- DRIVER INSTANTIATION ---
|
--- DRIVER INSTANTIATION ---
|
||||||
socbridge_driver_inst: entity gan_socbridge.socbridge_driver
|
socbridge_driver_inst: entity gan_socbridge.socbridge_driver
|
||||||
generic map(
|
generic map(
|
||||||
@ -85,8 +92,8 @@ begin
|
|||||||
|
|
||||||
fifo_buffer_to_ip_inst : entity gan_buffer.fifo_buffer
|
fifo_buffer_to_ip_inst : entity gan_buffer.fifo_buffer
|
||||||
generic map (
|
generic map (
|
||||||
buffer_size => buf_size
|
buffer_size => buf_size,
|
||||||
--tech => 60
|
tech => tech
|
||||||
)
|
)
|
||||||
port map(
|
port map(
|
||||||
in_clk => socbridge_clk,
|
in_clk => socbridge_clk,
|
||||||
@ -103,8 +110,8 @@ begin
|
|||||||
|
|
||||||
fifo_buffer_from_ip_inst : entity gan_buffer.fifo_buffer
|
fifo_buffer_from_ip_inst : entity gan_buffer.fifo_buffer
|
||||||
generic map (
|
generic map (
|
||||||
buffer_size => buf_size
|
buffer_size => buf_size,
|
||||||
-- tech => 60
|
tech => tech
|
||||||
)
|
)
|
||||||
port map(
|
port map(
|
||||||
in_clk => clk,
|
in_clk => clk,
|
||||||
|
|||||||
@ -49,10 +49,6 @@ architecture rtl of socbridge_driver is
|
|||||||
--- FSM COMMUNICATION ---
|
--- FSM COMMUNICATION ---
|
||||||
--- MANAGEMENT COMMUNICATION ---
|
--- MANAGEMENT COMMUNICATION ---
|
||||||
begin
|
begin
|
||||||
ext_to_socbridge_driver_rec.data <= ext_to_socbridge_driver.payload;
|
|
||||||
ext_to_socbridge_driver_rec.clk <= ext_to_socbridge_driver.control(1);
|
|
||||||
ext_to_socbridge_driver_rec.parity <= ext_to_socbridge_driver.control(0);
|
|
||||||
socbridge_clk <= ext_to_socbridge_driver_rec.clk;
|
|
||||||
|
|
||||||
comb_proc: process(ext_to_socbridge_driver_rec, ip_to_socbridge_driver,
|
comb_proc: process(ext_to_socbridge_driver_rec, ip_to_socbridge_driver,
|
||||||
controller_to_socbridge_driver, st, trans_st)
|
controller_to_socbridge_driver, st, trans_st)
|
||||||
@ -63,6 +59,11 @@ begin
|
|||||||
begin
|
begin
|
||||||
-- DEFAULT VALUES
|
-- DEFAULT VALUES
|
||||||
-- Helpful Bindings --
|
-- Helpful Bindings --
|
||||||
|
ext_to_socbridge_driver_rec.data <= ext_to_socbridge_driver.payload;
|
||||||
|
ext_to_socbridge_driver_rec.clk <= ext_to_socbridge_driver.control(1);
|
||||||
|
ext_to_socbridge_driver_rec.parity <= ext_to_socbridge_driver.control(0);
|
||||||
|
socbridge_clk <= ext_to_socbridge_driver_rec.clk;
|
||||||
|
socbridge_driver_to_ip.used_slots <= 0;
|
||||||
next_rx_data_size <= 2 ** to_integer(unsigned(ext_to_socbridge_driver_rec.data(2 downto 0)));
|
next_rx_data_size <= 2 ** to_integer(unsigned(ext_to_socbridge_driver_rec.data(2 downto 0)));
|
||||||
curr_response_bits := ext_to_socbridge_driver_rec.data(7 downto 3);
|
curr_response_bits := ext_to_socbridge_driver_rec.data(7 downto 3);
|
||||||
-- Set helper var to current transaction seen at the input.
|
-- Set helper var to current transaction seen at the input.
|
||||||
@ -263,26 +264,20 @@ begin
|
|||||||
end case;
|
end case;
|
||||||
--- ### RX_STATE BASED OUTPUT ### ---
|
--- ### RX_STATE BASED OUTPUT ### ---
|
||||||
socbridge_driver_to_manager.valid <= '0';
|
socbridge_driver_to_manager.valid <= '0';
|
||||||
socbridge_driver_to_manager.address <= (others => '0');
|
socbridge_driver_to_manager.data <= st.manager_data;
|
||||||
socbridge_driver_to_manager.data <= (others => '0');
|
socbridge_driver_to_manager.address <= st.manager_addr;
|
||||||
socbridge_driver_to_ip.valid <= '0';
|
socbridge_driver_to_ip.valid <= '0';
|
||||||
socbridge_driver_to_ip.data <= st.ext_to_socbridge_driver_reg.data;
|
socbridge_driver_to_ip.data <= st.ext_to_socbridge_driver_reg.data;
|
||||||
case st.rx_state is
|
case st.rx_state is
|
||||||
when RX_W_BODY =>
|
when RX_W_BODY =>
|
||||||
if st.rx_stage mod 4 = 0 and st.rx_stage /= st.rx_data_size then
|
if st.rx_stage mod 4 = 0 and st.rx_stage /= st.rx_data_size then
|
||||||
socbridge_driver_to_manager.data <= st.manager_data;
|
|
||||||
socbridge_driver_to_manager.address <= st.manager_addr;
|
|
||||||
socbridge_driver_to_manager.valid <= '1';
|
socbridge_driver_to_manager.valid <= '1';
|
||||||
end if;
|
end if;
|
||||||
when RX_R_BODY =>
|
when RX_R_BODY =>
|
||||||
socbridge_driver_to_ip.valid <= '1';
|
socbridge_driver_to_ip.valid <= '1';
|
||||||
when RX_AWAIT =>
|
when RX_AWAIT =>
|
||||||
if st.rx_transaction = WRITE or st.rx_transaction = WRITE_ADD then
|
if st.rx_transaction = WRITE or st.rx_transaction = WRITE_ADD then
|
||||||
socbridge_driver_to_manager.data <= st.manager_data;
|
|
||||||
socbridge_driver_to_manager.address <= st.manager_addr;
|
|
||||||
socbridge_driver_to_manager.valid <= '1';
|
socbridge_driver_to_manager.valid <= '1';
|
||||||
else
|
|
||||||
socbridge_driver_to_manager.address <= st.manager_addr;
|
|
||||||
end if;
|
end if;
|
||||||
when others =>
|
when others =>
|
||||||
end case;
|
end case;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user