TRBNet Files

This is a list of files found in the cvs. The optical link is missing at the moment.

Low level parts

Fifos

trb_net_fifo
A standard fifo entity. The architecture is not included for compatibility reasons.
xilinx/trb_net_fifo_arch
The fifo architecture to be used on xilinx virtex 2 / 4 devices.
xilinx/shift_lut_x16
instantiation of a xilinx 16bit shift register used for the fifo
trb_net_fifo_16bit_bram_dualport
A dualport fifo entity using a block ram. It has two separated clocks for reading and writing. At the moment it is only used for the lvds media interface
xilinx/trb_net_fifo_16bit_bram_dualport_arch
The architecture for xilinx virtex 2 / 4 devices.
trb_net_dummy_fifo
Behaves like a fifo but has a depth of one. Can be used instead of a real fifo when none is needed. It is used when a fifo with a depth of 0 is instantiated.

Converters

trb_net_18_to_16_converter
trb_net_55_to_18_converter
trb_net_64_to_18_converter
These are converters between different bus widths. They are not needed in any final design.

Others

trb_net_std
package with some fundamental definitions. Has to be included in nearly any other file.
dualdatarate_flipflop
A dual data rate flipflop entity. It is used for the fast lvds transmission
xilinx/dualdatarate_flipflop_arch
The xilinx architecture for a ddr flipflop
trb_net_sbuf
An output buffer using two buffers to be independent from the following part and don't have to take care whether it is reading the offered data or not.

Medium layer

trb_net_med_8bit_fast
data transport over a 2 x 16 Bit wide bus, i.e. lvds. The data is transmitted with dual data rate and 8 bits in parallel. five lines are used for control signals, three are free for debugging purposes.

Network layer

Multiplexer

trb_net_io_multiplexer
A demultiplexer that divides the incoming data to the different ibufs according to channel id and path. Plus a multiplexer that combines the data from the obufs to the single media output, taking care of the different priorities of the different channels.
trb_net_pattern_gen
A combinatorial entity, takes a number and sets this bit in the output vector
trb_net_priority_arbiter
trb_net_priority_encoder
These entities take care of the priorities of the different channels and select the one with highest priority.

IOBUF

trb_net_ibuf
The input buffer. Receiving data from the medium. Reads flow control packets and hands data to the api.
trb_net_obuf
The output buffer. Sending data from the application layer, adding network layer packets
trb_net_iobuf
The combination of ibuf and obuf, giving complete flow control for the network channel
trb_net_term_ibuf
Simple type of input buffer to be used to receive triggers.

Application interface

trb_net_base_api
The base application interface. It can act in two ways: As an active api, that can send data on its own and as a passive api that sends data only as reply on an incoming transfer
trb_net_active_api
trb_net_passive_api
A active resp. passive application interface. This is only a wrapper for trb_net_base_api, connecting the right channels together
trb_net_term
A simplified application interface. It only indicates if an trigger has been received and allows the application to set the errorbits and the time when den channel should be released.

16Bit files

trb_net16_dummy_fifo
trb_net16_fifo
trb_net16_base_api
trb_net16_apimbuf
trb_net16_ibuf
trb_net16_iobuf
trb_net16_io_multiplexer
trb_net16_obuf
trb_net16_sbuf
trb_net16_term_ibuf
trb_net16_term
These files use a data bus width of only 16 Bit and have an additional port for the number of the current packet as an indicator for which part of the 64 bit packet is currently transmitted. The usage is the same as for the non-16-bit files, so I'll give no explicit explanation again.
The splitting into passive and active entities has been omitted - this can now be configured using generics.

"User convenience files"

trb_net16_apimbuf
These entities consist of the api interface, the iobuf and a multiple channel multiplexer. This can be used for any simple endpoint where you don't want to take care about connecting the network and application layer together.
trb_net16_trigger_receiver_endpoint
A simple interface with an even simpler port to see and release triggers
trb_net16_trigger_receiver_apimbuf_endpoint
The combination of a data and a trigger channel
-- JanMichel - 16 Oct 2007
Edit | Attach | Print version | History: r5 | r4 < r3 < r2 < r1 | Backlinks | View wiki text | Edit WikiText | More topic actions...
Topic revision: r3 - 16 Oct 2007, JanMichel
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Hades Wiki? Send feedback
Imprint (in German)
Privacy Policy (in German)