Difference: TrbNetIOBUF (1 vs. 12)

Revision 12
25 Mar 2008 - Main.JanMichel
Line: 1 to 1
 
META TOPICPARENT name="TrbNetEntities"

Overview

Line: 25 to 25
 

Internal direction port

Line Decription
Deleted:
<
<
INT_HEADER_IN Concentrator kindly asks to resend the last header
 
INT_DATAREADY_OUT Data word ready to be read out by the Concentrator
INT_DATA_OUT[0...15] Data word
INT_PACKET_NUM_OUT[0..1] Packet number
Line: 55 to 54
 
PIN Name Description
0 res not yet used
Deleted:
<
<

STAT_LOCKED

PIN Name Description
0 INIT_IS_LOCKED The IBUF of the init path is locked
1 REPLY_IS_LOCKED The IBUF of the reply path is locked

CTRL_LOCKED

PIN Name Description
0 REMOVE_INIT_IS_LOCKED The IBUF of the init path will be cleared
1 REMOVE_REPLY_IS_LOCKED The IBUF of the reply path will be cleared
 

STAT_INIT_BUFFER and STAT_REPLY_BUFFER

PIN Name Description
Line: 87 to 77
 

Functional description

Deleted:
<
<

Locking of channels

The locking of channels is one of the basic features of the NewTriggerBus. It replaces the old wired-or-techique of the old trigger bus. The logic for this is done here.

When the INITOBUF receives an TRM word, the TrbNetIOBUF goes into the "locked" state. This means, the TrbNetIOBUF will not forward any data to the media. The MED_DATAREADY_OUT will be always FALSE (=0) in this case.

The TrbNetIOBUF will go back into the release state, if the REPLYIBUF has been read out and the last dataword was is a TRM
 

Handshake and buffer control

Revision 11
27 Nov 2007 - Main.JanMichel
Line: 1 to 1
 
META TOPICPARENT name="TrbNetEntities"

Overview

Line: 11 to 11
  (similar as described in NewTriggerBusMedia)

Line Decription
Changed:
<
<
MED_DATAREADY_OUT Data word ready to be read out by the media (via the TrbNetIOMultiplexer)
MED_DATA_OUT[0...51] Data word
>
>
MED_DATAREADY_OUT Data word ready to be read out by the media
MED_DATA_OUT[0...15] Data word
MED_PACKET_NUM_OUT[0..1] Packet number
 
MED_READ_IN Media is reading
MED_ERROR_OUT[0..2] Status bits
MED_DATAREADY_IN Data word is offered by the Media (the IOBUF MUST read)
Changed:
<
<
MED_DATA_IN[0...51] Data word
>
>
MED_DATA_IN[0...15] Data word
MED_PACKET_NUM_IN[0..1] Packet number
 
MED_READ_OUT buffer reads a word from media
MED_ERROR_IN[0..2] Status bits
Line: 25 to 27
 
Line Decription
INT_HEADER_IN Concentrator kindly asks to resend the last header
INT_DATAREADY_OUT Data word ready to be read out by the Concentrator
Changed:
<
<
INT_DATA_OUT[0...51] Data word
>
>
INT_DATA_OUT[0...15] Data word
INT_PACKET_NUM_OUT[0..1] Packet number
 
INT_READ_IN Concentrator is reading
INT_ERROR_OUT[0..2] Status bits
INT_DATAREADY_IN Data word is offered by the Fan-Out
Changed:
<
<
INT_DATA_IN[0...51] Data word
>
>
INT_DATA_IN[0...15] Data word
INT_PACKET_NUM_IN[0..1] Packet number
 
INT_READ_OUT buffer reads a word from Fan-Out
INT_ERROR_IN[0..2] Status bits
Revision 10
16 Oct 2007 - Main.JanMichel
Line: 1 to 1
 
META TOPICPARENT name="TrbNetEntities"

Overview

Changed:
<
<
The TrbNetIOBUF is the basic element which controls the connection between the media layer (after de-multiplexing of the individual channels) and the Fan-Out and concentrator of a hub.
>
>
The TrbNetIOBUF is the basic element which controls the connection between the media layer (after de-multiplexing of the individual channels) and the Fan-Out and concentrator of a hub. It consists of two TrbNetIBUF and two TrbNetOBUF
 

Signal description

Revision 9
19 Jan 2007 - Main.IngoFroehlich
Line: 1 to 1
 
META TOPICPARENT name="TrbNetEntities"

Overview

Line: 43 to 43
 
STAT_REPLY_BUFFER[0...31] Status of the handshake and buffer control
CTRL_GEN[0...31] General Status
CTRL_LOCKED[0...31] Status of the locking mechanism
Changed:
<
<
STAT_CTRL_INIT_BUFFER[0...31] Status of the handshake and buffer control
STAT_CTRL_REPLY_BUFFER[0...31] Status of the handshake and buffer control
>
>
STAT_CTRL_INIT_BUFFER[0...31] Status of the handshake and buffer control - reserved, pull to 0
STAT_CTRL_REPLY_BUFFER[0...31] Status of the handshake and buffer control - reserved, pull to 0
 

Status bits are output, CTRL bits are input
Revision 8
06 Nov 2006 - Main.IngoFroehlich
Line: 1 to 1
 
META TOPICPARENT name="TrbNetEntities"

Overview

Line: 57 to 57
 
0 INIT_IS_LOCKED The IBUF of the init path is locked
1 REPLY_IS_LOCKED The IBUF of the reply path is locked
Added:
>
>

CTRL_LOCKED

PIN Name Description
0 REMOVE_INIT_IS_LOCKED The IBUF of the init path will be cleared
1 REMOVE_REPLY_IS_LOCKED The IBUF of the reply path will be cleared
 

STAT_INIT_BUFFER and STAT_REPLY_BUFFER

PIN Name Description
0-3 SEND_BUFFER_SIZE_OUT Buffer size of this IBUF
Revision 7
03 Nov 2006 - Main.IngoFroehlich
Line: 1 to 1
 
META TOPICPARENT name="TrbNetEntities"

Overview

Line: 43 to 43
 
STAT_REPLY_BUFFER[0...31] Status of the handshake and buffer control
CTRL_GEN[0...31] General Status
CTRL_LOCKED[0...31] Status of the locking mechanism
Changed:
<
<
CTRL_INIT_BUFFER[0...31] Status of the handshake and buffer control
CTRL_REPLY_BUFFER[0...31] Status of the handshake and buffer control
>
>
STAT_CTRL_INIT_BUFFER[0...31] Status of the handshake and buffer control
STAT_CTRL_REPLY_BUFFER[0...31] Status of the handshake and buffer control
 

Status bits are output, CTRL bits are input
Line: 57 to 57
 
0 INIT_IS_LOCKED The IBUF of the init path is locked
1 REPLY_IS_LOCKED The IBUF of the reply path is locked
Changed:
<
<

STAT_INIT_BUFFER

PIN | Name | Description |
>
>

STAT_INIT_BUFFER and STAT_REPLY_BUFFER

PIN Name Description
 
0-3 SEND_BUFFER_SIZE_OUT Buffer size of this IBUF
4-7 REC_BUFFER_SIZE_OUT Buffer size of the other IBUF (on the other side of the optical link)
8 GOT_EOB_OUT EOB/TRM is killed (and thus the complete buffer) in this clock cycle
Revision 6
02 Nov 2006 - Main.IngoFroehlich
Line: 1 to 1
 
META TOPICPARENT name="TrbNetEntities"

Overview

Line: 48 to 48
 

Status bits are output, CTRL bits are input
Added:
>
>

STAT_GEN

PIN Name Description
0 res not yet used

STAT_LOCKED

PIN Name Description
0 INIT_IS_LOCKED The IBUF of the init path is locked
1 REPLY_IS_LOCKED The IBUF of the reply path is locked

STAT_INIT_BUFFER

PIN | Name | Description |
0-3 SEND_BUFFER_SIZE_OUT Buffer size of this IBUF
4-7 REC_BUFFER_SIZE_OUT Buffer size of the other IBUF (on the other side of the optical link)
8 GOT_EOB_OUT EOB/TRM is killed (and thus the complete buffer) in this clock cycle
9 GOT_ACK_OUT Got an ACK from the other side
10 GOT_OVERFLOW_ERROR fifo has been filled although full
11 GOT_LOCKED_ERROR fifo has been filled while in locked mode
14-15 TRANSMITTED_BUFFERS Transmitted buffers without ACK
16-31 CURRENT_DATA_COUNT Transmitted data words in current buffer
 

Internal components

Entity Name Description
Revision 5
02 Nov 2006 - Main.IngoFroehlich
Line: 1 to 1
 
META TOPICPARENT name="TrbNetEntities"

Overview

Line: 66 to 66
  When the INITOBUF receives an TRM word, the TrbNetIOBUF goes into the "locked" state. This means, the TrbNetIOBUF will not forward any data to the media. The MED_DATAREADY_OUT will be always FALSE (=0) in this case.
Changed:
<
<
The TrbNetIOBUF will go back into the release state, if the REPLYIBUF will be read out and the dataword which is currenty been read out is a TRM
>
>
The TrbNetIOBUF will go back into the release state, if the REPLYIBUF has been read out and the last dataword was is a TRM
 

Handshake and buffer control

Line: 74 to 74
  know how deep the IBUF of the receiver is.

The minimum buffer depth for any operation is 4. This is devided into 2 buffers, with 2 words (one word plus one EOB). This does not mean
Changed:
<
<
that these are the ideal conditions. It is simply the default operation. It can be inceased, and the inceased value of the receiver will be stored by the IBUF (REC_BUFFER_SIZE_OUT). The own value is SEND_BUFFER_SIZE_OUT (= hardcoded from a generic value)
>
>
that these are the ideal conditions. It is simply the default operation. It can be increased, and the inceased value of the receiver will be stored by the IBUF (REC_BUFFER_SIZE_OUT). The own value is SEND_BUFFER_SIZE_OUT (= hardcoded from a generic value)
 

Sender operation I

Line: 83 to 83
 

Receiver operation I

Changed:
<
<
If the actual data word which could be read out by the Concentrator is an EOB, this will not be forwarded to the Concentrator. INT_DATAREADY_OUT will stay low.
>
>
If the actual data of the IBUF word which could be read out by the Concentrator is an EOB, this will not be forwarded to the Concentrator. INT_DATAREADY_OUT will stay low.
  The EOB is processed by the IBUF itself (= killed in one clock cycle). The GOT_EOB signal will stay high for one clock cycle. The same happens with a TRM (which is an intrinsic EOB)

Sender operation II

Changed:
<
<
If the OBUF is getting the SEND_ACK signal (connected to GOT_EOB), this will be latched if the ACK cannot be transmitted in the same clock cycle. If the ACK word can be, the depth of the own buffer (SEND_BUFFER_SIZE_IN) will be transmitted.
>
>
If the OBUF is getting the SEND_ACK signal (connected to GOT_EOB), this will be registered if the ACK cannot be transmitted in the same clock cycle. With the ACK word, the depth of the own buffer (SEND_BUFFER_SIZE_IN) will be transmitted.
 

Receiver operation II

Revision 4
28 Aug 2006 - Main.IngoFroehlich
Line: 1 to 1
 
META TOPICPARENT name="TrbNetEntities"

Overview

Line: 84 to 84
 

Receiver operation I

If the actual data word which could be read out by the Concentrator is an EOB, this will not be forwarded to the Concentrator. INT_DATAREADY_OUT will stay low.
Changed:
<
<
The EOB is processed by the IBUF itself (= killed in one clock cycle). The GOT_EOB signal will stay high for one clock cycle.
>
>
The EOB is processed by the IBUF itself (= killed in one clock cycle). The GOT_EOB signal will stay high for one clock cycle. The same happens with a TRM (which is an intrinsic EOB)
 

Sender operation II

Revision 3
21 Aug 2006 - Main.IngoFroehlich
Line: 1 to 1
 
META TOPICPARENT name="TrbNetEntities"

Overview

Line: 23 to 23
 

Internal direction port

Added:
>
>
Line Decription
INT_HEADER_IN Concentrator kindly asks to resend the last header
INT_DATAREADY_OUT Data word ready to be read out by the Concentrator
INT_DATA_OUT[0...51] Data word
INT_READ_IN Concentrator is reading
INT_ERROR_OUT[0..2] Status bits
INT_DATAREADY_IN Data word is offered by the Fan-Out
INT_DATA_IN[0...51] Data word
INT_READ_OUT buffer reads a word from Fan-Out
INT_ERROR_IN[0..2] Status bits
 

Status and control port

Added:
>
>
Line Decription
STAT_GEN[0...31] General Status
STAT_LOCKED[0...31] Status of the locking mechanism
STAT_INIT_BUFFER[0...31] Status of the handshake and buffer control
STAT_REPLY_BUFFER[0...31] Status of the handshake and buffer control
CTRL_GEN[0...31] General Status
CTRL_LOCKED[0...31] Status of the locking mechanism
CTRL_INIT_BUFFER[0...31] Status of the handshake and buffer control
CTRL_REPLY_BUFFER[0...31] Status of the handshake and buffer control

Status bits are output, CTRL bits are input
 

Internal components

Entity Name Description
Changed:
<
<
TrbNetIBUF INITIBUF Input buffer for the init path
TrbNetIBUF REPLYIBUF Input buffer for the reply path
TrbNetOBUF INITOBUF Output buffer for the init path
TrbNetOBUF REPLYOBUF Output buffer for the reply path
>
>
TrbNetIBUF INITIBUF Input buffer for the init path
TrbNetIBUF REPLYIBUF Input buffer for the reply path
TrbNetOBUF INITOBUF Output buffer for the init path
TrbNetOBUF REPLYOBUF Output buffer for the reply path
 

Functional description

Line: 45 to 68
 

The TrbNetIOBUF will go back into the release state, if the REPLYIBUF will be read out and the dataword which is currenty been read out is a TRM
Added:
>
>

Handshake and buffer control

The second important feature is that no single data word should ever be lost in the system in normal operation. This means that a sender (the OBUF) has to know how deep the IBUF of the receiver is.

The minimum buffer depth for any operation is 4. This is devided into 2 buffers, with 2 words (one word plus one EOB). This does not mean that these are the ideal conditions. It is simply the default operation. It can be inceased, and the inceased value of the receiver will be stored by the IBUF (REC_BUFFER_SIZE_OUT). The own value is SEND_BUFFER_SIZE_OUT (= hardcoded from a generic value)

Sender operation I

The OBUF is counting the words which have been read out by the media. If the count is matching the REC_BUFFER_SIZE_IN, the OBUF will not read a word from the Fan-Out, but form a word by its own (EOB). Value of transmitted buffers will be increased. If this value is 2, not data will be further transmitted.

Receiver operation I

If the actual data word which could be read out by the Concentrator is an EOB, this will not be forwarded to the Concentrator. INT_DATAREADY_OUT will stay low. The EOB is processed by the IBUF itself (= killed in one clock cycle). The GOT_EOB signal will stay high for one clock cycle.

Sender operation II

If the OBUF is getting the SEND_ACK signal (connected to GOT_EOB), this will be latched if the ACK cannot be transmitted in the same clock cycle. If the ACK word can be, the depth of the own buffer (SEND_BUFFER_SIZE_IN) will be transmitted.

Receiver operation II

If the receiver is getting the ACK signal, the GOT_ACK signal will go high for one cycle, the REC_BUFFER_SIZE_OUT will be updated.

Sender operation III

If GOT_ACK is high, the value of transmitted buffers will be decreased

 

-- IngoFroehlich - 18 Aug 2006
Revision 2
21 Aug 2006 - Main.IngoFroehlich
Line: 1 to 1
 
META TOPICPARENT name="TrbNetEntities"
Added:
>
>

Overview

 
Changed:
<
<

Media direction port

>
>
The TrbNetIOBUF is the basic element which controls the connection between the media layer (after de-multiplexing of the individual channels) and the Fan-Out and concentrator of a hub.

Signal description

Media direction port

 

(similar as described in NewTriggerBusMedia)
Line: 15 to 21
 
MED_READ_OUT buffer reads a word from media
MED_ERROR_IN[0..2] Status bits
Changed:
<
<

Internal direction port

>
>

Internal direction port

Status and control port

Internal components

Entity Name Description
TrbNetIBUF INITIBUF Input buffer for the init path
TrbNetIBUF REPLYIBUF Input buffer for the reply path
TrbNetOBUF INITOBUF Output buffer for the init path
TrbNetOBUF REPLYOBUF Output buffer for the reply path

Functional description

Locking of channels

The locking of channels is one of the basic features of the NewTriggerBus. It replaces the old wired-or-techique of the old trigger bus. The logic for this is done here.

When the INITOBUF receives an TRM word, the TrbNetIOBUF goes into the "locked" state. This means, the TrbNetIOBUF will not forward any data to the media. The MED_DATAREADY_OUT will be always FALSE (=0) in this case.

The TrbNetIOBUF will go back into the release state, if the REPLYIBUF will be read out and the dataword which is currenty been read out is a TRM
 
Deleted:
<
<

Status and control port

 

-- IngoFroehlich - 18 Aug 2006
 
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)