Compare commits

..

No commits in common. "23ede530561e790b136139f651191b5a2ee6768e" and "4e4853c540f829ce6f52a2e42d75f9ca9ad28cc2" have entirely different histories.

3 changed files with 28 additions and 27 deletions

View File

@ -3,37 +3,44 @@ use IEEE.std_logic_1164.all;
use IEEE.NUMERIC_STD.all; use IEEE.NUMERIC_STD.all;
entity dummy_ip is entity dummy_ip is
generic (
data_width : natural := 8
);
port ( port (
clk, rst : in std_logic; clk, rst : in std_logic;
ready_in, valid_in : in std_logic; ready_in, valid_in : in std_logic;
ready_out, valid_out : out std_logic; ready_out, valid_out : out std_logic;
data_in : in std_logic_vector(8 - 1 downto 0); data_in : in std_logic_vector(data_width - 1 downto 0);
data_out : out std_logic_vector(8 - 1 downto 0) data_out : out std_logic_vector(data_width - 1 downto 0)
); );
end entity dummy_ip; end entity dummy_ip;
architecture rtl of dummy_ip is architecture rtl of dummy_ip is
signal incremented_in : std_logic_vector(8 - 1 downto 0); signal incremented_in : std_logic_vector(data_width - 1 downto 0);
signal valid_out_signal : std_logic;
begin begin
comb_proc: process(ready_in, valid_in, data_in, incremented_in) valid_out <= valid_out_signal;
begin data_out <= incremented_in;
ready_out <= ready_in;
end process;
seq_proc: process(clk,rst) seq_proc: process(clk, data_in, ready_in, valid_in)
begin begin
if rst = '1' then if rst = '1' then
valid_out <= '0'; incremented_in <= (others => '0');
data_out <= (others => '0'); valid_out_signal <= '0';
elsif rising_edge(clk) then ready_out <= '1';
if valid_in = '1' and ready_in = '1' then else
valid_out <= '1'; if rising_edge(clk) then
data_out <= std_logic_vector(unsigned(data_in) + 1); if valid_in = '1' then
else valid_out_signal <= '1';
valid_out <= '0'; ready_out <= '0';
end if; elsif valid_out_signal = '1' and ready_in = '1' then
elsif falling_edge(clk) then valid_out_signal <= '0';
ready_out <= '1';
end if;
elsif falling_edge(clk)then
incremented_in <= std_logic_vector(unsigned(data_in) + 1);
end if;
end if; end if;
end process seq_proc; end process seq_proc;

View File

@ -33,7 +33,6 @@ architecture rtl of ganimede_toplevel is
signal socbridge_clk : std_logic; signal socbridge_clk : std_logic;
signal ganimede_to_ip_reset : std_logic; signal ganimede_to_ip_reset : std_logic;
constant buf_size :integer := 2*1024;
--signal gan_socbridge_WE_in : std_logic; --signal gan_socbridge_WE_in : std_logic;
--signal gan_socbridge_WE_out : std_logic; --signal gan_socbridge_WE_out : std_logic;
--signal gan_socbridge_is_full_in : std_logic; --signal gan_socbridge_is_full_in : std_logic;
@ -46,9 +45,6 @@ begin
ganimede_to_ip_reset <= rst or ip_to_ganimede.socbridge.flush; ganimede_to_ip_reset <= rst or ip_to_ganimede.socbridge.flush;
--- DRIVER INSTANTIATION --- --- DRIVER INSTANTIATION ---
socbridge_driver_inst: entity gan_socbridge.socbridge_driver socbridge_driver_inst: entity gan_socbridge.socbridge_driver
generic map(
BUFFER_SIZE => buf_size
)
port map( port map(
clk => clk, clk => clk,
socbridge_clk => socbridge_clk, socbridge_clk => socbridge_clk,
@ -85,7 +81,7 @@ 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 => 2*1024
--tech => 60 --tech => 60
) )
port map( port map(
@ -97,13 +93,12 @@ begin
valid_in => socbridge_driver_to_buffer.valid, valid_in => socbridge_driver_to_buffer.valid,
valid_out => ganimede_to_ip.socbridge.valid, valid_out => ganimede_to_ip.socbridge.valid,
data_in => socbridge_driver_to_buffer.data, data_in => socbridge_driver_to_buffer.data,
data_out => ganimede_to_ip.socbridge.data, data_out => ganimede_to_ip.socbridge.data
used_slots => ip_to_socbridge_driver.read_fifo.used_slots
); );
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 => 2*1024
-- tech => 60 -- tech => 60
) )
port map( port map(

View File

@ -73,7 +73,6 @@ package io_types is
type ip_to_socbridge_driver_t is record type ip_to_socbridge_driver_t is record
fifo: fifo_interface_t; fifo: fifo_interface_t;
read_fifo: fifo_interface_t;
flush: std_logic; flush: std_logic;
end record ip_to_socbridge_driver_t; end record ip_to_socbridge_driver_t;