detail_slides.ppt

advertisement
Monitor memory space
Address (Hex) Description (Each 24 bits)
0
Serr,mismatch,smt_id,seq_id,hdi_id,data
(last data word read)
1
Serr error count – Serr bit high
2
mismatch in the seq-id or the HDI-id
3
zero error count – Zero byte not found
10
# of undefined data_type clusters
11
# of axial data_type clusters
12
# of stereo data_type clusters
13
# of Z-axis data_type clusters
20-28
Data activity on Chip(I)
Miscellaneous memory space
The miscellaneous memory space constitutes of 1. Bad channel: 32 X 64 – address : 0400 – 047F
2. Chip ranges : 24 X 1 – address : 0480
3. Pulse area thresholds:36 X 4
– address : 0500 – 0503
4. Miscellaneous parameters: 20 X 1 – SEQ_ID(8),
HDI_ID(3),Disable bit(1), and Delay count (8).
– address : 0580
5. Cluster threshold values: 17 X 4
– address : 0600 – 0603
Clustering algorithm
Start
Event start
Return state - Init
Read
Read the 23 bit word
from the FIFO
D
Check_for_eof
Check for end of cluster
1. Current type different
2. Data value < threshold1
3.Current addressnot in
sequence
Yes
Calculate
No
Send the available
data values for
calculation
Main
Next
Outpeak
A
B
C
E
Peak of the cluster
> threshold2
Write
No
Yes
Init
Return state
A
A
Init
Write the cluster into L3 buffer.
Write the centroid from the
Calculator block into the output
FIFO and L3 buffer.
Load first data value
and address in
data3 and add3.
Go to read.
Return state - main
D
B
Main
Yes
data 1 <---- data 2
data 2 <---- data 3
data3 <----- ndata
same for add.Return state main
If ndata > data 3
No
data4 <--- ndata,
same for add
Return state - next
D
D
Note: To write cluster data
into L3 buffer, takes 6
cycles. The machine is in
wait state for these cycles.
Clustering algorithm (continued..)
C
Next
If ndata > data 3
Yes
No
data5 <--- ndata
Shadow registersdata_shadow1 <-- data4
data_shadow2 <--- ndata, same for add
Return state - outpeak
data 1<--- data3
data 2 <---- data 4
data3 <----- ndata, same for add.
Go to read. Return state - main
D
D
E
Outpeak
No
data_shadow1<--- data_shadow2
data_shadow2 <---- ndata
, same for add.
If ndata > data 3
Yes
data1 <--- data_shadow1
data2 <--- data_shadow2
data3 <--- ndata,
data4 and data5 <--zero
same for add
Return state - main
D
D
Hit filter Control Logic
Init
Start
Event start
E
First_load
Wait for the road_write
signal, or the last_road
signal indicating no roads
Last_road
Road_write
Last_road
Next
Yes
Is
Fifo_empty
Wait for road_write to
go low
B
Road_write
Write the road datainto
comparator. Increment
count
Is Road write
and last road
No
Read the centroid.
Hits_busy = 1
Road_event count.
A
Yes
A
C
No
A
B
C
Decide
Data type = 10
What is the data
type
Data type = 11
This is z- axis centroid
This is axial centroid.
Centroid_write
Comp_read
Read the
comparators output
D
Write the centroid in a
the required format into
the z- axis FIFO.
A
Hit filter Control Logic (continued..)
D
Hitreg_read
Read the masked
output
Wait
Wait for the hit
counting formatting
and processing.
G
Yes
Yes
fifo_empty
and
end of event
fifo_empty
and not
end of event
E
F
Is done = 1
Yes
No
Wait in this state
fifo not empty
A
F
Data_wait
Yes
Is fifo_empty
No
A
G
Init
Hit format Logic
Hitreg_valid
Wait for
hitreg_valid
signal.
1.Latch the hitreg.
2. Latch the grouped
signals
Point_select
Select the starting
point to read the hit
register
Ready
Yes
Are
hits_present
Read the hits from
the starting point
D
No
Set the done bit
Read_hits
A
select the bit from
the register the
pointed out by the
counter
Read_bit
Yes
Is bit high
No
Next_hit
Write_hit
B
C
Hit format Logic (continued..)
B
Write_hit
Format the data into
32 bit word
Output_hit
Write the word to L3
buffer and output
FIFO
C
Next_hit
Is counter <
= total count
Yes
No
NOTE: Total count
here is the number of
roads / comparators
loaded. This the
upper limit for the hit
search
Centroid done.
Reset Counter
Increment the
counter.
D
Yes
Trailer
Write the trailer to
L3 buffer and the
output FIFO.
A
Is it end of
event
No
Go to Init and wait
for the hit register
for the next
centroid.
A
Approach 1
The synthesis tool was allowed to fit the design in
minimum number of FPLDs
Number of devices
5
Strip_reader_hitfilter_l3_schematic
EPF10K200EGC599-1
Strip_reader_hitfilter_l3_schematic-1
EPF10K200EGC599-1
Strip_reader_hitfilter_l3_schematic -2
EPF10K30ETC144-1
Strip_reader_hitfilter_l3_schematic-3
EPF10K30EQC208-1
Strip_reader_hitfilter_l3_schematic-4
EPF10K50EQC208-1
The synthesis tool mapped the design in five FPLDs such
that the Embedded Array Blocks (EABs) were uniformly
distributed but the major portion of the memory was set
in the larger FPLDs. The FPLDs holding the memory had
very small percentage of logic cells occupied.
Approach 2
The Hit Filter and L3 buffers are forced in one FPLD
each and the synthesis tool
is allowed to fit Strip Reader and Centroid Finder
Number of devices
3
Hitfilter_schematic
EPF10K100EBC356-1
L3_schematic
EPF10K200EGC599-1
Strip_reader_hitfilter_l3- 1
EPF10K200SFC484-1
The synthesis tool tries to accommodate some of the excess
logic, specially the memory of strip_reader_chip into the
FPLD assigned to L3 buffer and very small fraction of it into
FPLD assigned to Hit Filter and thus overall design fits into
three FPLDs.
Approach 3
The Hit Filter and L3 buffers are forced to fit in one
FPLD each and the Strip Reader with Centroid
Finder is forced to fit in two FPLDs
Number of devices
4
Strip_reader_chip – 1
EPF10K200EGC599-1
Strip_reader_chip -2
EPF10K130EFC484-1
Hitfilter_schematic
EPF10K100EBC356-1
L3_schematic
EPF10K130EFC484-1
The strip reader needed two FPLDs because of the need
of EABs for the memory blocks. Each memory block
regardless of the memory requirement has minimum of
two EABs,this is due to the word length more than 8 bits.
Approach 4 - The Hit Filter, L3 buffers and the Strip
Reader with Centroid Finder are forced to fit in one
FPLD each
Number of devices
3
Hitfilter_schematic
EPF10K200SBC356-1
L3_schematic
EPF10K200EGC599-1
Strip_reader_schematic
EPF10K200SFC484-1
The strip reader design now fits into one chip , because
downloaded parameters do not use EABs
Download