gecko-systems:gecko3com:ip_gecko3com_simple

IP Core: GECKO3COM simple

FIXME This is the documentation about the GECKO3COM simple IP core which is meant to be used in FPGA designs without an embedded processor. If you plan to build a microblaze based FPGA design use the GECKO3COM plb IP core.

GECKO3COM simple symbol

Generic name Type Default Value Description
BUSWIDTH integer 32 Vector size of the FIFO databuses
Port name Direction Type Description
i_nReset in std_logic Low-active, asynchronous reset
i_sysclk in std_logic FPGA System Clock
i_receive_fifo_rd_en in std_logic Receive FIFO read enable signal. o_receive_fifo_data will we valid one clock cycle after the read enable is activated
o_receive_fifo_empty out std_logic Receive FIFO empty signal
o_receive_fifo_data out std_logic_vector(BUSWIDTH-1 downto 0) Receive FIFO data
o_receive_transfersize out std_logic_vector(31 downto 0) Transfer length read from the TMC header.
The host will write this number of bytes to the device
o_receive_end_of_message out std_logic All data expected to be received is available in the receive FIFO
o_receive_newdata out std_logic A new valid OUT transfer header was detected. The o_receive_transfersize value is valid and new data will be available in the receive FIFO
i_send_fifo_wr_en in std_logic Send FIFO write enable signal. The FIFO will store the data on the next rising edge of i_sysclk
o_send_fifo_full out std_logic Send FIFO full signal
i_send_fifo_data in std_logic_vector(BUSWIDTH-1 downto 0) Send FIFO data
i_send_transfersize in std_logic_vector(31 downto 0) Number of bytes of the response data to be sent to the host. It must be lower or equal o_receive_transfersize
i_send_transfersize_en in std_logic Send transfer size write enable signal. The i_send_transfersize value will be stored on the next rising edge of i_sysclk. This also signals to the IP core that data is ready to be sent to the host
i_send_have_more_data in std_logic Set this signal if there is more data to be sent to the host than the maximum number of bytes requested by the host (Response data length greater than o_receive_transfersize)
o_send_data_request out std_logic The host has requested data from the device. The o_receive_transfersize value is valid (This is the maximum allowed number of bytes to be sent). The core is waiting for data in the send FIFO and that a valid value is written to i_send_transfersize
o_send_finished out std_logic Signals that the core is finished sending data to the host
o_rx out std_logic Receiving data signalization
o_tx out std_logic Transmitting data signalization
Interface signals to the EZ-USB FX2
i_IFCLK in std_logic GPIF CLK (GPIF is Master and provides the clock)
i_WRU in std_logic Write request from GPIF
i_RDYU in std_logic GPIF is ready
o_WRX out std_logic Request to write to the GPIF
o_RDYX out std_logic FPGA is ready
b_gpif_bus inout std_logic_vector(SIZE_DBUS_GPIF-1 downto 0) Bidirectional data bus

This numbers show the logic utilization of the whole GECKO3COM_simple_test project which includes a bit more logic elements than the GECKO3COM simple IP core alone.

Resource Type Used Available (Spartan3 4000) Utilization
Number of Slice Flip Flops 909 55,296 1%
Number of occupied Slices 804 27,648 2%
Total Number of 4 input LUTs 1,137 55,296 2%
Number of bonded IOBs 30 489 6%
Number of RAMB16s 4 96 4%
Number of BUFGMUXs 2 8 25%

  • gecko-systems/gecko3com/ip_gecko3com_simple.txt
  • Last modified: 2021/12/20 10:49
  • by 127.0.0.1