Radical Computer Technologies
Primitives / entity

radhdl_xilinx_fifo_sync

Documentation version: 0.2.2-beta.1 / Subpackage: primitive_fifo / Source package: radprimitive

Xilinx synchronous FIFO wrapper. XPM imports stay isolated here.

Use Cases

Block Diagram

radhdl_xilinx_fifo_sync radhdl entity clk rst wr_en rd_en din dout empty full data_valid
VHDL Include And Instantiation Template

File Header

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

library radhdl;
-- Direct entity instantiation below does not require importing the entity name.

Component Declaration

component radhdl_xilinx_fifo_sync is
  generic (
    DATA_WIDTH : positive := 32;
    FIFO_DEPTH : positive := 1024;
    READ_MODE : string := "std";
    FIFO_READ_LATENCY : integer := 1;
    COUNT_WIDTH : positive := 10
  );
  port (
    clk : in std_logic;
    rst : in std_logic;
    wr_en : in std_logic;
    rd_en : in std_logic;
    din : in std_logic_vector(DATA_WIDTH - 1 downto 0);
    dout : out std_logic_vector(DATA_WIDTH - 1 downto 0);
    empty : out std_logic;
    full : out std_logic;
    data_valid : out std_logic
  );
end component;

Direct Entity Instantiation

u_radhdl_xilinx_fifo_sync : entity radhdl.radhdl_xilinx_fifo_sync
  generic map (
    DATA_WIDTH        => 32,
    FIFO_DEPTH        => 1024,
    READ_MODE         => "std",
    FIFO_READ_LATENCY => 1,
    COUNT_WIDTH       => 10
  )
  port map (
    clk        => <clk_signal>,
    rst        => <rst_signal>,
    wr_en      => <wr_en_signal>,
    rd_en      => <rd_en_signal>,
    din        => <din_signal>,
    dout       => <dout_signal>,
    empty      => <empty_signal>,
    full       => <full_signal>,
    data_valid => <data_valid_signal>
  );

Generics

NameTypeDefaultDescription
DATA_WIDTHpositive32
FIFO_DEPTHpositive1024
READ_MODEstring"std"
FIFO_READ_LATENCYinteger1
COUNT_WIDTHpositive10

Ports

NameDirectionTypeDescription
clkinstd_logic
rstinstd_logic
wr_eninstd_logic
rd_eninstd_logic
dininstd_logic_vector(DATA_WIDTH - 1 downto 0)
doutoutstd_logic_vector(DATA_WIDTH - 1 downto 0)
emptyoutstd_logic
fulloutstd_logic
data_validoutstd_logic

Register Interfaces

No fixed register map was found; this section documents the exposed register/control interface ports.

InterfaceDirectionsSignalsRepresentative ports
Register control/statusin2wr_en, rd_en

Testbenches

No directly associated testbench was found.

Sources