Difference: TrbNetFiles (r5 vs. r4)

TRBNet Files

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

Low level parts


A standard fifo entity. The architecture is not included for compatibility reasons.
The fifo architecture to be used on xilinx virtex 2 / 4 devices.
instantiation of a xilinx 16bit shift register used for the fifo
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
The architecture for xilinx virtex 2 / 4 devices.
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.


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


package with some fundamental definitions. Has to be included in nearly any other file.
A dual data rate flipflop entity. It is used for the fast lvds transmission
The xilinx architecture for a ddr flipflop
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 trb_net16_med_8bit_slow
data transport over a 2 x 16 Bit wide bus, i.e. lvds. The data is transmitted with dual data 25 MHz rate and 8 bits in parallel. five lines are used for control signals, three are free for debugging purposes.

Network layer


trb_net_io_multiplexer trb_net16_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.
A combinatorial entity, takes a number and sets this bit in the output vector
These entities take care of the priorities of the different channels and select the one with highest priority.


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


trb_net_hub_base trb_net16_hub_base
base file for all hubs
trb_net_hub_logic trb_net16_hub_logic
the logic used inside a hub for distributing and concentrating data
some functions used in hub_base

Application interface

trb_net_base_api trb_net16_api_base
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_net16_api_active
trb_net_passive_api trb_net_api_passive
A active resp. passive application interface. This is only a wrapper for trb_net_base_api, connecting the right channels together
trb_net_term trb_net16_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

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"

These are complete network entpoints with multiplexer, iobuf and api/trg interface. The number of trigger and application interfaces is given in the filename
A passive application to read and write registers over the network. Maybe some DMA-like access will be implemented later.

-- JanMichel- 16 Oct 27 Nov 2007

View topic | View difference side by side | History: r5 < r4 < r3 < r2 | More topic actions
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)