eochl_v2. introduction: why a version 2 change of size for the bunch counter. change of size for the...

13
EOCHL_V2

Upload: leo-chase

Post on 31-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EOCHL_V2. Introduction: Why a version 2 Change of size for the Bunch Counter. Change of size for the Trigger Identifier. Adding an Event Size limiter

EOCHL_V2

Page 2: EOCHL_V2. Introduction: Why a version 2 Change of size for the Bunch Counter. Change of size for the Trigger Identifier. Adding an Event Size limiter

Introduction: Why a version 2• Change of size for the Bunch Counter.• Change of size for the Trigger Identifier.• Adding an Event Size limiter.• Change of Header format.• Change and repair of skipped trigger.• Change of position of Service Words.

Page 3: EOCHL_V2. Introduction: Why a version 2 Change of size for the Bunch Counter. Change of size for the Trigger Identifier. Adding an Event Size limiter

Bunch Counter ( BC )• The size of the BC is increased from 8 bits to 13

bits.• 10 least significant bits are part of the new

Header Format.• 3 most significant bits are part of the new

special Service word 14.• 2 Reset options for the BC:

In run mode by ECR,Not in run mode by ReadErrorReq.

Page 4: EOCHL_V2. Introduction: Why a version 2 Change of size for the Bunch Counter. Change of size for the Trigger Identifier. Adding an Event Size limiter

Trigger Identifier ( LV1Id )• The size of the LV1Id Counter is increased from

7 bits to 12 bits.• 5 least significant bits are part of the new

Header Format.• 7 most significant bits are part of the new

special Service Word 14• 2 Reset options for the LV1Id Counter :

In run mode by ECR,Not in run mode by ReadErrorReq.

Page 5: EOCHL_V2. Introduction: Why a version 2 Change of size for the Bunch Counter. Change of size for the Trigger Identifier. Adding an Event Size limiter

Event Size Limiter• Limits the number of data words to the Fifo for an

Event.• Limit is adjustable in counts of 16.• Limit set to 0 is disable limiter.• When limit is reached data in the data formater is

flushed• Data still in the columns stays there.• Unit counts the number of limited events.• Sends Special Service Word 16 after a limited Event

until an ECR is executed.

Page 6: EOCHL_V2. Introduction: Why a version 2 Change of size for the Bunch Counter. Change of size for the Trigger Identifier. Adding an Event Size limiter

New Header Format.

• More bits in the BC and the LV1Id makes an other set of data in the Header possible.

• Old Format: 8’b11101001, SRFlag, LV1Id[6:0], BC[7:0]New Format: 8’b11101001, SRFlag, LV1Id[4:0], BC[9:8], BC[7:0]

• The not used bits from the BC and LV1Id are combined into Special Service Word 14.

• Special Service Word 14 is only send when it’s value changes.

Page 7: EOCHL_V2. Introduction: Why a version 2 Change of size for the Bunch Counter. Change of size for the Trigger Identifier. Adding an Event Size limiter

Skipped Trigger counter

• Repair of counter bug.• The size of the counter is increased from 8 bits to 10

bits.• The output is changed into Special Service Word 15.• Special Service Word 15 is send after a trigger is

skipped.• 2 Reset options for the Skipped Trigger Counter :

In run mode by ECR,Not in run mode by ReadErrorReq.

Page 8: EOCHL_V2. Introduction: Why a version 2 Change of size for the Bunch Counter. Change of size for the Trigger Identifier. Adding an Event Size limiter

Position Of Service Words

• The position of the Service Words is changed from behind the data to between the Header and the data.

• Three options:1. Header, Data.2. Header, 1 Service Word old style, Data.3. Header, 1 or 2 or 3 Special Service Words,

Data

Page 9: EOCHL_V2. Introduction: Why a version 2 Change of size for the Bunch Counter. Change of size for the Trigger Identifier. Adding an Event Size limiter

• Special Service Words are: 14, 15 and 16.• 14 is combination of most significant bit of BC and

LV1Id.• 15 is the Skipped Triggers Counter• 16 is Output of the event Limiter.• The Error counters 14 up to 18 are removed from the

original Error handler block.• A Special Service Word has priority over normal

Service words.• The Special Service Words can be send all together. • Normal Special Service Word are always send one by

one.

Page 10: EOCHL_V2. Introduction: Why a version 2 Change of size for the Bunch Counter. Change of size for the Trigger Identifier. Adding an Event Size limiter

Simulations• Normal Data taking • No Event Size Limit.• Service Address 14 is

generated due to the reset value of LV1Id.

Fifo(d) [ 1]: Header(d)[ 1]. BC(h) = [065], LV1Id(h)= [00], Serv_Word = [1] Fifo(d) [ 2]: Service Address = 14 LV1Id(h) = [00] BC(h) = [000] Fifo [ 3]: Data: col=[15] row=[182] Tot=[ 8,14] (pix=[ 4885, 4886]) Fifo [ 4]: Data: col=[16] row=[182] Tot=[ 4,14] (pix=[ 5221, 5222]) Fifo [ 5]: Data: col=[ 5] row=[ 71] Tot=[11, 5] (pix=[ 1414, 1415]) Fifo [ 6]: Data: col=[63] row=[206] Tot=[14, 5] (pix=[21037,21038]) Fifo [ 7]: Data: col=[63] row=[208] Tot=[ 7,14] (pix=[21039,21040]) Fifo [ 8]: Data: col=[80] row=[ 2] Tot=[14,15] (pix=[26545,26546]) Fifo [ 9]: Data: col=[80] row=[ 4] Tot=[ 4,15] (pix=[26547,26548]) Fifo [ 10]: Data: col=[19] row=[ 14] Tot=[ 4,15] (pix=[ 6061, 6062]) Fifo [ 11]: Data: col=[20] row=[ 12] Tot=[14,15] (pix=[ 6395, 6396]) Fifo [ 12]: Data: col=[20] row=[ 15] Tot=[14,15] (pix=[ 6398, 6399]) Fifo [ 13]: Data: col=[50] row=[ 10] Tot=[ 4,14] (pix=[16473,16474]) Fifo [ 14]: Data: col=[19] row=[188] Tot=[ 4,15] (pix=[ 6235, 6236]) Fifo [ 15]: Data: col=[20] row=[188] Tot=[ 3,14] (pix=[ 6571, 6572]) Fifo [ 16]: Data: col=[37] row=[197] Tot=[ 1, 4] (pix=[12292,12293]) Fifo [ 17]: Data: col=[37] row=[199] Tot=[14,15] (pix=[12294,12295]) Fifo [ 18]: Data: col=[38] row=[198] Tot=[ 5,15] (pix=[12629,12630]) Fifo [ 19]: Data: col=[16] row=[122] Tot=[14, 0] (pix=[ 5161, 5162]) Fifo [ 20]: Data: col=[99] row=[ 16] Tot=[ 5,14] (pix=[32943,32944])

Page 11: EOCHL_V2. Introduction: Why a version 2 Change of size for the Bunch Counter. Change of size for the Trigger Identifier. Adding an Event Size limiter

• Data Taking with Event Size limit = 1.

• First event is limited to 16 words.

• In second short event Service Word 16 is send with TF = 1, L1Req = 4’h3.

• In third event Service Word 16 is send again with TF = 0, L1Req = 4’h3.

Fifo(d) [ 1]: Header(d)[ 1]. BC(h) = [131], LV1Id(h)= [02], Serv_Word = [1] Fifo(d) [ 2]: Service Address = 14 LV1Id(h) = [00] BC(h) = [001] Fifo [ 3]: Data: col=[15] row=[182] Tot=[ 8,14] (pix=[ 4885, 4886]) Fifo [ 4]: Data: col=[16] row=[182] Tot=[ 4,14] (pix=[ 5221, 5222]) Fifo [ 5]: Data: col=[ 5] row=[ 71] Tot=[11, 5] (pix=[ 1414, 1415]) Fifo [ 6]: Data: col=[63] row=[206] Tot=[14, 5] (pix=[21037,21038]) Fifo [ 7]: Data: col=[63] row=[208] Tot=[ 7,14] (pix=[21039,21040]) Fifo [ 8]: Data: col=[80] row=[ 2] Tot=[14,15] (pix=[26545,26546]) Fifo [ 9]: Data: col=[80] row=[ 4] Tot=[ 4,15] (pix=[26547,26548]) Fifo [ 10]: Data: col=[19] row=[ 14] Tot=[ 4,15] (pix=[ 6061, 6062]) Fifo [ 11]: Data: col=[20] row=[ 12] Tot=[14,15] (pix=[ 6395, 6396]) Fifo [ 12]: Data: col=[20] row=[ 15] Tot=[14,15] (pix=[ 6398, 6399]) Fifo [ 13]: Data: col=[50] row=[ 10] Tot=[ 4,14] (pix=[16473,16474]) Fifo [ 14]: Data: col=[19] row=[188] Tot=[ 4,15] (pix=[ 6235, 6236]) Fifo [ 15]: Data: col=[20] row=[188] Tot=[ 3,14] (pix=[ 6571, 6572]) Fifo [ 16]: Data: col=[37] row=[197] Tot=[ 1, 4] (pix=[12292,12293])

Fifo(d) [ 1]: Header(d)[ 2]. BC(h) = [382], LV1Id(h)= [03], Serv_Word = [1] Fifo(d) [ 2]: Service Address(d) = 16 TF = [1] ETC(d) = 1 L1Req(h) = [03] Fifo(d) [ 3]: Service Address = 14 LV1Id(h) = [00] BC(h) = [002] Fifo [ 4]: Data: col=[15] row=[182] Tot=[ 8,14] (pix=[ 4885, 4886]) Fifo [ 5]: Data: col=[16] row=[182] Tot=[ 4,14] (pix=[ 5221, 5222]) Fifo [ 6]: Data: col=[ 5] row=[ 71] Tot=[11, 5] (pix=[ 1414, 1415]) Fifo(d) [ 1]: Header(d)[ 3]. BC(h) = [2a3], LV1Id(h)= [04], Serv_Word = [1] Fifo(d) [ 2]: Service Address(d) = 16 TF = [0] ETC(d) = 1 L1Req(h) = [03] Fifo(d) [ 3]: Service Address = 14 LV1Id(h) = [00] BC(h) = [003] Fifo [ 4]: Data: col=[15] row=[182] Tot=[ 8,14] (pix=[ 4885, 4886]) Fifo [ 5]: Data: col=[16] row=[182] Tot=[ 4,14] (pix=[ 5221, 5222]) Fifo [ 6]: Data: col=[ 5] row=[ 71] Tot=[11, 5] (pix=[ 1414, 1415])

Page 12: EOCHL_V2. Introduction: Why a version 2 Change of size for the Bunch Counter. Change of size for the Trigger Identifier. Adding an Event Size limiter

• Send ReadErrorReq• DataAqEn is ‘0’.• Action clears all

counters.• If DataAqEn is ‘1’

only Error counters old style are cleared.

Fifo(d) [ 1]: Service Address(d) = 16 TF = [1] ETC(d) = 4 L1Req(h) = [0c] Fifo(d) [ 2]: Service Address = 14 LV1Id(h) = [00] BC(h) = [000] Fifo(d) [ 3]: Service Address(d) = 15 Skipped(d) = [ 0] Fifo(d) [ 4]: Service Address(d) = [ 0] Service Count(d) = [ 0] Fifo(d) [ 5]: Service Address(d) = [ 1] Service Count(d) = [ 0] Fifo(d) [ 6]: Service Address(d) = [ 2] Service Count(d) = [ 0] Fifo(d) [ 7]: Service Address(d) = [ 3] Service Count(d) = [ 0] Fifo(d) [ 8]: Service Address(d) = [ 4] Service Count(d) = [ 0] Fifo(d) [ 9]: Service Address(d) = [ 5] Service Count(d) = [ 0] Fifo(d) [ 10]: Service Address(d) = [ 6] Service Count(d) = [ 0] Fifo(d) [ 11]: Service Address(d) = [ 7] Service Count(d) = [ 0] Fifo(d) [ 12]: Service Address(d) = [ 8] Service Count(d) = [ 0] Fifo(d) [ 13]: Service Address(d) = 9 FifoFull(d) = [ 0] Fifo(d) [ 14]: Service Address(d) = [10] Service Count(d) = [ 2] Fifo(d) [ 15]: Service Address(d) = [11] Service Count(d) = [ 2] Fifo(d) [ 16]: Service Address(d) = [12] Service Count(d) = [ 2] Fifo(d) [ 17]: Service Address(d) = [13] Service Count(d) = [ 2] Fifo(d) [ 18]: Service Address(d) = [19] Service Count(d) = [ 2] Fifo(d) [ 19]: Service Address(d) = [20] Service Count(d) = [ 2] Fifo(d) [ 20]: Service Address(d) = [21] Service Count(d) = [ 2] Fifo(d) [ 21]: Service Address(d) = [22] Service Count(d) = [ 2] Fifo(d) [ 22]: Service Address(d) = [23] Service Count(d) = [ 2] Fifo(d) [ 23]: Service Address(d) = [24] Service Count(d) = [ 2] Fifo(d) [ 24]: Service Address(d) = [25] Service Count(d) = [ 2] Fifo(d) [ 25]: Service Address(d) = [26] Service Count(d) = [ 2] Fifo(d) [ 26]: Service Address(d) = [27] Service Count(d) = [ 2] Fifo(d) [ 27]: Service Address(d) = [28] Service Count(d) = [ 2] Fifo(d) [ 28]: Service Address(d) = [29] Service Count(d) = [ 2] Fifo(d) [ 29]: Service Address(d) = [30] Service Count(d) = [ 2] Fifo(d) [ 30]: Service Address(d) = [31] Service Count(d) = [ 2]

Fifo(d) [ 1]: Service Address(d) = 16 TF = [1] ETC(d) = 0 L1Req(h) = [00] Fifo(d) [ 2]: Service Address = 14 LV1Id(h) = [7f] BC(h) = [000] Fifo(d) [ 3]: Service Address(d) = 15 Skipped(d) = [ 0] Fifo(d) [ 4]: Service Address(d) = [ 0] Service Count(d) = [ 0] Fifo(d) [ 18]: Service Address(d) = [19] Service Count(d) = [ 0] Fifo(d) [ 19]: Service Address(d) = [20] Service Count(d) = [ 0] Fifo(d) [ 20]: Service Address(d) = [21] Service Count(d) = [ 0] Fifo(d) [ 21]: Service Address(d) = [22] Service Count(d) = [ 0] Fifo(d) [ 22]: Service Address(d) = [23] Service Count(d) = [ 0]

Page 13: EOCHL_V2. Introduction: Why a version 2 Change of size for the Bunch Counter. Change of size for the Trigger Identifier. Adding an Event Size limiter

• Skipped trigger test.• 3 triggers are send in

EOCHL_V2, 500 nsec apart.

• TriggerCount = 15, so 45 triggers are send into the columns.

• 27 triggers are skipped, see red words.

• 18 events events are read from the collumns.

• 27 + 18 = 45 triggers.

Fifo(d) [ 1]: Header(d)[ 1]. BC(h) = [2a3], LV1Id(h)= [00], Serv_Word = [1] Fifo(d) [ 2]: Service Address = 14 LV1Id(h) = [00] BC(h) = [001] Fifo [ 3]: Data: col=[11] row=[ 68] Tot=[14, 9] (pix=[ 3427, 3428]) Fifo [ 4]: Data: col=[11] row=[ 68] Tot=[14, 9] (pix=[ 3427, 3428]) Fifo [ 5]: Data: col=[11] row=[ 68] Tot=[14, 9] (pix=[ 3427, 3428]) Fifo [ 6]: Data: col=[15] row=[182] Tot=[ 8,14] (pix=[ 4885, 4886]) Fifo [ 7]: Data: col=[16] row=[182] Tot=[ 4,14] (pix=[ 5221, 5222]) Fifo [ 8]: Data: col=[15] row=[182] Tot=[ 8,14] (pix=[ 4885, 4886]) Fifo [ 9]: Data: col=[16] row=[182] Tot=[ 4,14] (pix=[ 5221, 5222]) Fifo [ 10]: Data: col=[ 5] row=[ 71] Tot=[11, 5] (pix=[ 1414, 1415]) Fifo(d) [ 1]: Header(d)[ 2]. BC(h) = [2a4], LV1Id(h)= [00], Serv_Word = [1] Fifo(d) [ 2]: Service Address(d) = 15 Skipped(d) = [ 14] Fifo [ 3]: Data: col=[15] row=[182] Tot=[ 8,14] (pix=[ 4885, 4886]) Fifo [ 4]: Data: col=[16] row=[182] Tot=[ 4,14] (pix=[ 5221, 5222]) Fifo [ 5]: Data: col=[ 5] row=[ 71] Tot=[11, 5] (pix=[ 1414, 1415]) Fifo(d) [ 1]: Header(d)[ 3]. BC(h) = [2a5], LV1Id(h)= [00], Serv_Word = [1] Fifo(d) [ 2]: Service Address(d) = 15 Skipped(d) = [ 27] Fifo [ 3]: Data: col=[15] row=[182] Tot=[ 8,14] (pix=[ 4885, 4886]) Fifo [ 4]: Data: col=[16] row=[182] Tot=[ 4,14] (pix=[ 5221, 5222]) Fifo [ 5]: Data: col=[ 5] row=[ 71] Tot=[11, 5] (pix=[ 1414, 1415]) Fifo(d) [ 1]: Header(d)[ 4]. BC(h) = [2a6], LV1Id(h)= [00], Serv_Word = [0] Fifo [ 2]: Data: col=[15] row=[182] Tot=[ 8,14] (pix=[ 4885, 4886]) Fifo [ 3]: Data: col=[16] row=[182] Tot=[ 4,14] (pix=[ 5221, 5222]) Fifo [ 4]: Data: col=[ 5] row=[ 71] Tot=[11, 5] (pix=[ 1414, 1415]) Data left out to fit page.

Fifo(d) [ 1]: Header(d)[17]. BC(h) = [2cd], LV1Id(h)= [02], Serv_Word = [0] Fifo [ 2]: Data: col=[15] row=[182] Tot=[ 8,14] (pix=[ 4885, 4886]) Fifo [ 3]: Data: col=[16] row=[182] Tot=[ 4,14] (pix=[ 5221, 5222]) Fifo [ 4]: Data: col=[ 5] row=[ 71] Tot=[11, 5] (pix=[ 1414, 1415]) Fifo(d) [ 1]: Header(d)[18]. BC(h) = [2db], LV1Id(h)= [02], Serv_Word = [0] Fifo [ 2]: Data: col=[15] row=[182] Tot=[ 8,14] (pix=[ 4885, 4886]) Fifo [ 3]: Data: col=[16] row=[182] Tot=[ 4,14] (pix=[ 5221, 5222]) Fifo [ 4]: Data: col=[ 5] row=[ 71] Tot=[11, 5] (pix=[ 1414, 1415])