G. Aglieri, P.Jarron, J. Kaplon, A. Kluge, M. Morel, M. Noy, L. Pertktold, K. Poltorak August 27, 2012.

Slides:



Advertisements
Similar presentations
Programmable Keyboard/ Display Interface: 8279
Advertisements

End of Column Circuits Sakari Tiuraniemi - CERN. EOC Architecture 45 9 Ref CLK 40 MHz DLL 32-bit TDC bank address RX 5 TDC bank address RX 5 TDC bank.
A. Kluge January 25, Aug 27, 2012 Outline NA62 NA62 Specifications Specifications Architecture Architecture A. Kluge2.
Serial I/O - Programmable Communication Interface
1 Asynchronous Bit-stream Compression (ABC) IEEE 2006 ABC Asynchronous Bit-stream Compression Arkadiy Morgenshtein, Avinoam Kolodny, Ran Ginosar Technion.
Terra-Pixel APS for CALICE Progress meeting 10 th Nov 2005 Jamie Crooks, Microelectronics/RAL.
TAP (Test Access Port) JTAG course June 2006 Avraham Pinto.
ENGIN112 L26: Shift Registers November 3, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 26 Shift Registers.
David Nelson STAVE Test Electronics July 1, ATLAS STAVE Test Electronics Preliminary V3 Presented by David Nelson.
Registers and Counters
NIKHEF 27 Feb 2007RELAXd Serial Readout Status1 RELAXd Serial Readout - Status Motherboard MASTER RELAXd Chipboard – SLAVE ADCDACsFlashPower FPGA LatticeSC15.
U niversity of S cience and T echnology of C hina Design for Distributed Scheme of WCDA Readout Electronics CAO Zhe University of Science and Technology.
SDR Test bench Architecture WINLAB – Rutgers University Date : October Authors : Prasanthi Maddala,
created by :Gaurav Shrivastava
Readout electronics of the NA62 Gigatracker system G. Dellacasa 1, V.Carassiti 3, A. Ceccucci 2, S. Chiozzi 3, E. Cortina 4, A. Cotta Ramusino 3, M. Fiorini.
Sakari tiuraniemi - CERN Status of the submission – End of Column.
Ultimate Design Review G. Bertolone, C. Colledani, A. Dorokhov, W. Dulinski, G. Dozière, A. Himmi, Ch. Hu-Guo, F. Morel, H. Pham, I. Valin, J. Wang, G.
1 SERIAL PORT INTERFACE FOR MICROCONTROLLER EMBEDDED INTO INTEGRATED POWER METER Mr. Borisav Jovanović, Prof.dr Predrag Petković, Prof.dr. Milunka Damnjanović,
MICROPROCESSOR INPUT/OUTPUT
Universal Synchronous/Asynchronous Receiver/Transmitter (USART)
Leo Greiner IPHC meeting HFT PIXEL DAQ Prototype Testing.
Counter Application (Part B) By : Pn Siti Nor Diana Ismail CHAPTER 3.
Phase-1 Design. i PHC Phase /04/2008 System Overview Clock, JTAG, sync marker and power supply connections Digital output.
8279 KEYBOARD AND DISPLAY INTERFACING
Development of an ASIC for reading out CCDS at the vertex detector of the International Linear Collider Presenter: Peter Murray ASIC Design Group Science.
Specifications & motivation 2  Lowering integration time would significantly reduce background  Lowering power would significantly reduce material budget.
NA62 Trigger Algorithm Trigger and DAQ meeting, 8th September 2011 Cristiano Santoni Mauro Piccini (INFN – Sezione di Perugia) NA62 collaboration meeting,
EoC Status Report Giulio Dellacasa GigaTracker Working Group CERN, December 9th 2008.
Features of the new Alibava firmware: 1. Universal for laboratory use (readout of stand-alone detector via USB interface) and for the telescope readout.
Abdullah Said Alkalbani University of Buraimi
Xiangming Sun1PXL Sensor and RDO review – 06/23/2010 STAR XIANGMING SUN LAWRENCE BERKELEY NATIONAL LAB Firmware and Software Architecture for PIXEL L.
Status of TDCpix full chip assembly Sandro Bonacini NA62 – GTK WG meeting.
FPGA firmware of DC5 FEE. Outline List of issue Data loss issue Command error issue (DCM to FEM) Command lost issue (PC with USB connection to GANDALF)
Pixel Read-Out architectures for the NA62 GigaTracker G. Dellacasa (1), A. Cotta Ramusino(3), M. Fiorini(3), P. Jarron(2) J. Kaplon(2), A. Kluge(2), F.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
Sept. 7, 2004Silicon VTX Workshop - Brookhaven National Laboratory, Long Island, New York Prototype Design of the Front End Module (FEM) for the Silicon.
ClicPix ideas and a first specification draft P. Valerio.
Thanushan Kugathasan, CERN Plans on ALPIDE development 02/12/2014, CERN.
8279 KEYBOARD AND DISPLAY INTERFACING
CERN, 18 december 2003Coincidence Matrix ASIC PRR Coincidence ASIC modifications E.Petrolo, R.Vari, S.Veneziano INFN-Rome.
BTeV in PHENIX: Pixel Readout Chip Basics David Christian Fermilab December 5, 2005.
UPDATE ON CLICPIX2 DESIGN Pierpaolo Valerio Edinei Santin
Terra-Pixel APS for CALICE Progress meeting 10 th Nov 2005 Jamie Crooks, Microelectronics/RAL.
.1PXL READOUT STAR PXL READOUT requirement and one solution Xiangming Sun.
Amsterdam, Oct A. Cotta Ramusino, INFN Ferrara 1 EUDRB: status report and plans for interfacing to the IPHC’s M26 Summary: EUDRB developments.
Software for tests: AMB and LAMB configuration - Available tools FTK Workshop – Pisa 13/03/2013 Daniel Magalotti University of Modena and Reggio Emilia.
KEYBOARD/DISPLAY CONTROLLER - INTEL Features of 8279 The important features of 8279 are, Simultaneous keyboard and display operations. Scanned keyboard.
Design of the 64-channel ASIC: update DEI - Politecnico di Bari and INFN - Sezione di Bari Meeting INSIDE, December 18, 2014, Roma Outline  Proposed solution.
PicoTDC architecture & Readout Jorgen Christiansen, PH-ESE 1.
Status and Plans for Xilinx Development
TDC status and to do 1. Status of TDC design 2. List of future activities.
Top level chip assembly
Unit Microprocessor.
The HCS12 SCI Subsystem A HCS12 device may have one or two serial communication interface. These two SCI interfaces are referred to as SCI0 and SCI1. The.
End OF Column Circuits – Design Review
Department of Computer Science and Engineering
Serial mode of data transfer
COURSE OUTCOMES OF Microprocessor and programming
LHC1 & COOP September 1995 Report
Chapter 11: Inter-Integrated Circuit (I2C) Interface
PID meeting SCATS Status on front end design
TDC per 4 pixels – End of Column Approach
Christophe Beigbeder PID meeting
Bus update after meeting of 11/11
Chapter 4: Digital Transmission
GTK TDC design and characterization notes Gianluca Aglieri Rinella
CPE/EE 428/528 VLSI Design II – Intro to Testing (Part 3)
Instructor: Alexander Stoytchev
1 Gbit/s Serial Link 1 Gbit/s Data Link Using Multi Level Signalling
Serial Communication Interface: Using 8251
Presentation transcript:

G. Aglieri, P.Jarron, J. Kaplon, A. Kluge, M. Morel, M. Noy, L. Pertktold, K. Poltorak August 27, 2012

Aug 27, 2012 Outline Description of base line functionality Description of base line functionality And backup functions And backup functions Data transmission Data transmission Status of individual blocks and assembly Status of individual blocks and assembly A. Kluge2

Aug 27, 2012

simplified TDCpix A. Kluge4

Aug 27, 2012 Main data path, serial read-out A. Kluge5

Aug 27, 2012 Parallel read out A. Kluge6

Aug 27, 2012 TDC serial read-out A. Kluge7

Aug 27, 2012 Bandgap override A. Kluge8

Aug 27, 2012 Components with no backup A. Kluge9

Aug 27, 2012 Clk modes A. Kluge10 serialPLL2.4 lowClkSync serialPLL2.4 highClkSync serialPLL3.2ext320lowCl kSync ext320highC lkSync ext480lowCl kSync ext480highC lkSync pllOverride # code H110H0H100H0H110H1H100H11011H0 clkInDigital clkPLL clkSync clkFIFOread clkMultiSeria l clkConfig

Aug 27, 2012 Serial transmission data rate 20 MHz  2.4 Gbit/s  40 Mwords/s (+21% (132 Mhits/s); + 54% (104 Mhits/s) 20 MHz  2.4 Gbit/s  40 Mwords/s (+21% (132 Mhits/s); + 54% (104 Mhits/s) 27 MHz  3.2 Gbit/s  53 Mwords/s (+60% (132 Mhits/s); + 104% (104 Mhits/s) 27 MHz  3.2 Gbit/s  53 Mwords/s (+60% (132 Mhits/s); + 104% (104 Mhits/s) A. Kluge11 Clock divider 2.4/3.2 GHz 1.2/1.6 GHz serial mux & shift (/2) 40/53 MHz parallel_load (/60) 240/320 MHz (/10) Fifo read clkSync 2.4/3.2 GHz 20 MHz PLL

Aug 27, 2012 Parallel data transmission (multi serial, 48 bits) 48 bits (not 8b10); 4 I/O pairs 48 bits (not 8b10); 4 I/O pairs Input frequency comes from PLL or from outside Input frequency comes from PLL or from outside Several modes: Several modes: mode serialPLL2.4&ext480: clkFIFOread = 40 MHz  clkMultiSerial = 480 MHz mode serialPLL2.4&ext480: clkFIFOread = 40 MHz  clkMultiSerial = 480 MHz 40 Mhits/s  (21 % (132 Mhits/s) +54 % (104 Mhit/s) 40 Mhits/s  (21 % (132 Mhits/s) +54 % (104 Mhit/s) mode serialPLL3.2: clkFIFOread = 53 MHz  clkMultiSerial = 640 MHz mode serialPLL3.2: clkFIFOread = 53 MHz  clkMultiSerial = 640 MHz 53Mhits/s  (+60% (132 Mhits/s); + 104% (104 Mhits/s) 53Mhits/s  (+60% (132 Mhits/s); + 104% (104 Mhits/s) mode ext320: clkFIFOread = 27 MHz  clkMultiSerial = 320 MHz mode ext320: clkFIFOread = 27 MHz  clkMultiSerial = 320 MHz 27 Mhits/s  (-19 % (132 Mhits/s) +3 % (104 Mhit/s)) 27 Mhits/s  (-19 % (132 Mhits/s) +3 % (104 Mhit/s)) mode PLLoverride:clkFIFOread = 5.3 MHz  clkMultiSerial = 64 MHz mode PLLoverride:clkFIFOread = 5.3 MHz  clkMultiSerial = 64 MHz 5.3 Mhits/s  (-96 % (132 Mhits/s) -95 % (104 Mhit/s)) 5.3 Mhits/s  (-96 % (132 Mhits/s) -95 % (104 Mhit/s)) mode serialTDC mode serialTDC A. Kluge12

Aug 27, 2012 Status of blocks and assembly A. Kluge13

Aug 27, 2012 TDCpix digital layout A. Kluge14 Assembly & power distribution & IO ring

Aug 27, 2012 Quarter chip A. Kluge15

Aug 27, 2012 Configuration & dll clk & reset distributor A. Kluge16

Aug 27, 2012 Reference digital A. Kluge17

Aug 27, 2012 Reference analog A. Kluge18

Aug 27, 2012 Temperatur sensor A. Kluge19

Aug 27, 2012 IO pads A. Kluge20

Aug 27, 2012 IO ring & power distribution A. Kluge21

Aug 27, 2012 Data transmission A. Kluge22

Aug 27, 2012 Link synchronisation sequence Initiated upon Initiated upon reset from pin (Sequence of synch words) reset from pin (Sequence of synch words) reset_cmd command (Sequence of synch words) reset_cmd command (Sequence of synch words) send_k_sync_requ command (as long as the command is active) send_k_sync_requ command (as long as the command is active) Each synchronisation word consists of: Each synchronisation word consists of: 6*10 bit characters are sent. 6*10 bit characters are sent. Each 6* 10 bit character is 5* K28.5 symbols followed by one K27.7. Each 6* 10 bit character is 5* K28.5 symbols followed by one K27.7. A. Kluge23

Aug 27, 2012 Data transmission Idle command Idle command If no data is transmitted or no frame word is transmitted If no data is transmitted or no frame word is transmitted the idle command is sent over the link. the idle command is sent over the link. It is identical to the link synchronisation word and consists of 5 K28.5 symbols followed by one K27.7 It is identical to the link synchronisation word and consists of 5 K28.5 symbols followed by one K27.7 A. Kluge24

Aug 27, 2012 Data transmission: frame word Every time coarse counter rolls over after 2048 clk_dll cycles a frame word is sent at the next available word slot. Every time coarse counter rolls over after 2048 clk_dll cycles a frame word is sent at the next available word slot. clk_dll frequency where the coarse counter and the frame counter is advanced can in principle be different from the clk_sync frequency. clk_dll frequency where the coarse counter and the frame counter is advanced can in principle be different from the clk_sync frequency. The time intervall between two frames depends mainly on clk_dll. However, once a frame request is initiated in the clk_dll domain, this request is ported into the clk_sync domain and is executed at the next word transmission cycle which has a period of 6 clk_sync cycles. The time intervall between two frames depends mainly on clk_dll. However, once a frame request is initiated in the clk_dll domain, this request is ported into the clk_sync domain and is executed at the next word transmission cycle which has a period of 6 clk_sync cycles. Thus in nominal conditions (clk_sync & clk_dll = 320 MHz) the frame is sent out in average each (1/320 MHz * 2048 =) 6.4 µs. However as 2048 cycles cannot be divided 6 (number of 8b10b words in each data word) the number of word transmission cycles between two frame words toggles between 341 and 342 (2 * 341 and 1 *342 or 2 * µs and µs). Thus in nominal conditions (clk_sync & clk_dll = 320 MHz) the frame is sent out in average each (1/320 MHz * 2048 =) 6.4 µs. However as 2048 cycles cannot be divided 6 (number of 8b10b words in each data word) the number of word transmission cycles between two frame words toggles between 341 and 342 (2 * 341 and 1 *342 or 2 * µs and µs). The frame word is defined as follows: The frame word is defined as follows: word_frame0(27 downto 0)<= frame_counter; word_frame0(27 downto 0)<= frame_counter; word_frame0(36 downto 28)<= hit_counter; word_frame0(36 downto 28)<= hit_counter; word_frame0(42 downto 37)<= qchip_collision_count; word_frame0(42 downto 37)<= qchip_collision_count; word_frame0(46 downto 43)<= “0000” not used; word_frame0(46 downto 43)<= “0000” not used; word_frame0(47)<= '1';--format bit word_frame0(47)<= '1';--format bit A. Kluge25

Aug 27, 2012 Data transmission: frame word --(47) status bit1 bit --(47) status bit1 bit --(46..43)not used = ‘0‘4 bit --(46..43)not used = ‘0‘4 bit --(42..37) # of collisions in previous frame6 bits --(42..37) # of collisions in previous frame6 bits 2**6=64, 3.3 MHz*10*6.4us=211hits --> count to 64 allows 1/3 of hits to collide 2**6=64, 3.3 MHz*10*6.4us=211hits --> count to 64 allows 1/3 of hits to collide --(36..28) # of hits in previous frame9 bits --(36..28) # of hits in previous frame9 bits hits per qchip and frame= 130 Mhits/s/4*6.4us=208-> hits per qchip and frame= 130 Mhits/s/4*6.4us=208-> max hits in frame: worst case: clk_dll = 240 MHz clk_sync = 320MHz clk serial 3200 MHz-> number of -> 2048 / 240 MHz = 8.53 us frame length -> transmission cycles in one frame : 8.53 us *(3200MHz / 60)= 455 -> 9 bit max hits in frame: worst case: clk_dll = 240 MHz clk_sync = 320MHz clk serial 3200 MHz-> number of -> 2048 / 240 MHz = 8.53 us frame length -> transmission cycles in one frame : 8.53 us *(3200MHz / 60)= 455 -> 9 bit --(27..0) framecounter28 bit --(27..0) framecounter28 bit 2**28*6.4us=1718s 2**28*6.4us=1718s A. Kluge26

Aug 27, 2012 Data transmission: data word The data word is sent whenever a hit is available and no word with higher priority needs to be sent. The data word is sent whenever a hit is available and no word with higher priority needs to be sent. The data word is defined as follows: The data word is defined as follows: (47) Status/data selector1 bit (47) Status/data selector1 bit (46..40) Address7 bit(90 pixel groups) (46..40) Address7 bit(90 pixel groups) (39..35) Address-hit arbiter5 bit (39..35) Address-hit arbiter5 bit (34..30) Address pileup5 bit (34..30) Address pileup5 bit (29) Leading coarse time selector1 bit (29) Leading coarse time selector1 bit (28..17) Leading coarse time12 bit (28..17) Leading coarse time12 bit 1bit rollover indicator+2048(11bit)*3.125 ns=6.4 µs 1bit rollover indicator+2048(11bit)*3.125 ns=6.4 µs (16..12) Leading fine time5 bit98 ps -> ns (16..12) Leading fine time5 bit98 ps -> ns (11) Trailing coarse time selector 1 bit (11) Trailing coarse time selector 1 bit (10..5) Trailing coarse time6 bit64*3.125 ns = 200 ns (10..5) Trailing coarse time6 bit64*3.125 ns = 200 ns (4..0) Trailing fine time5 bit98 ps -> ns (4..0) Trailing fine time5 bit98 ps -> ns A. Kluge27

Aug 27, 2012 Data type The word transmission priority is defined as follows: The word transmission priority is defined as follows: send_k_sync_slot_requ (user request) send_k_sync_slot_requ (user request) send_testpattern_requ (user request) send_testpattern_requ (user request) send_k_word_request (user request) send_k_word_request (user request) send_serial_time_requ (user request) send_serial_time_requ (user request) send_frame_requ send_frame_requ send_data_requ send_data_requ A. Kluge28

Aug 27, 2012 Configuration register Operation modes and Configuration register Operation modes and Configuration register --configuration register --configuration register send_k_sync_requ<= configuration_data_int_in(0); default = ‘0’ send_k_sync_requ<= configuration_data_int_in(0); default = ‘0’ send_k_word_requ<= configuration_data_int_in(1);default = ‘0’ send_k_word_requ<= configuration_data_int_in(1);default = ‘0’ k_word_type<= configuration_data_int_in(5 downto 2); default = “0000” k_word_type<= configuration_data_int_in(5 downto 2); default = “0000” enable_serial_time_int<= configuration_data_int_in(6);default = ‘0’ enable_serial_time_int<= configuration_data_int_in(6);default = ‘0’ enable_test_pattern_int<= configuration_data_int_in(7);default = ‘0’ enable_test_pattern_int<= configuration_data_int_in(7);default = ‘0’ new_data_testpattern<= configuration_data_int_in(8); default = ‘0’ new_data_testpattern<= configuration_data_int_in(8); default = ‘0’ --> new_data_testpattern acts as write command for the data_testpattern fifo, --> new_data_testpattern acts as write command for the data_testpattern fifo, --> each 01 transition is used as write cmd --> each 01 transition is used as write cmd A. Kluge29

Aug 27, 2012 Configuration register (2) data_testpattern<= configuration_data_int_in(62 downto 9); default = “00..00” data_testpattern<= configuration_data_int_in(62 downto 9); default = “00..00” --> Data_testpattern is composed of two words: --> Data_testpattern is composed of two words: --> word_test_pattern_int word_test_pattern_int<= data_testpattern (47 downto 0); --> are 6 times 8 bit characters composing the 48 qchip_word, --> are 6 times 8 bit characters composing the 48 qchip_word, --> K_word is a 6 bit word indicating whether the 6 characters are to be treated as data or k character. --> K_word is a 6 bit word indicating whether the 6 characters are to be treated as data or k character. --> k_word_test_pattern k_word_test_pattern<= data_testpattern (53 downto 48); --54 bit: data_testpattern -> write data into cell 54 of data_testpattern --54 bit: data_testpattern -> write data into cell 54 of data_testpattern --> subsequent writing moves write pointer of FIFO so that all 8 FIFO cells can be written --> subsequent writing moves write pointer of FIFO so that all 8 FIFO cells can be written --> when test pattern is enabled, all 8 FIFO cells are read subsequently and pushed into --> when test pattern is enabled, all 8 FIFO cells are read subsequently and pushed into --> the data stream, thus the data stream consists of a multiple of 8 data words. --> the data stream, thus the data stream consists of a multiple of 8 data words. A. Kluge30

Aug 27, 2012 TDC serial read-out The 32 bit to 5 bit encoder, group and column FIFOs in the TDCs are not used. The 32 bit to 5 bit encoder, group and column FIFOs in the TDCs are not used. Instead the two 32 bit fine registers and the 52 bit coarse register of one TDC channel are chained together. Instead the two 32 bit fine registers and the 52 bit coarse register of one TDC channel are chained together. In each quarter chip there are 90 TDC channels and thus 90 serial TDC chains. Each of these chains indicates a new data set by activating its serial_holding bit. In each quarter chip there are 90 TDC channels and thus 90 serial TDC chains. Each of these chains indicates a new data set by activating its serial_holding bit. Serial chains are multiplexed into serial & parallel read-out Serial chains are multiplexed into serial & parallel read-out A. Kluge31

Aug 27, 2012 ASIC status by Gianluca

Aug 27, 2012 NA62 GTK WG 28/8/ TDCpix status Outline by Gianluca Progress since last status report (17 Jul 2012) Status Road ahead

NA62 GTK WG 28/8/ TDCpix status Analog blocks Implementation of Serializers  Issue with fast load signals skew discovered  Solutions being explored and checked by simulation

NA62 GTK WG 28/8/ TDCpix status Digital blocks Gianluca Aglieri Rinella

NA62 GTK WG 28/8/ TDCpix status Top level Power de-coupling Need of significant on-chip power decoupling capacitance identified Need of significant on-chip power decoupling capacitance identified  Specially relevant for digital power domain  Addition of on-chip capacitor implies re-spin of implementation of some blocks  Analog and DLL power domains already including significant decoupling

NA62 GTK WG 28/8/ TDCpix status Status at a glance on 6 Feb 2012

NA62 GTK WG 28/8/ TDCpix status Status at a glance 22 May 2012

NA62 GTK WG 28/8/ TDCpix status Status at a glance 17 July 2012

NA62 GTK WG 28/8/ TDCpix status Status at a glance 28 Aug 2012

Aug 27, 2012 Status Present work: Present work: Progress on design and implementation of all building block Progress on design and implementation of all building block Stand-alone functional &sign-off verification for all blocks in progress Stand-alone functional &sign-off verification for all blocks in progress Iteration of engineering changes in serializer circuits Iteration of engineering changes in serializer circuits Top level EoC and IO and power pad placement first version completed Top level EoC and IO and power pad placement first version completed Assembly of TDCpix digital & DRC & LVS Assembly of TDCpix digital & DRC & LVS A. Kluge41

Aug 27, 2012 NA62 GTK WG 28/8/ TDCpix statusStatus Future work: Future work: Complete stand-alone sign-off verification for individual blocks Complete stand-alone sign-off verification for individual blocks Re-spin implementation of TDC adding decoupling capacitance Re-spin implementation of TDC adding decoupling capacitance Complete implementation of top level: TDCpix digital & analog  TDCpix_top Complete implementation of top level: TDCpix digital & analog  TDCpix_top I/O and power pad ring refinements I/O and power pad ring refinements Signal routing Signal routing Power distribution Power distribution Sign-off checks Sign-off checks Powering, DRC, LVS, Antenna in TDCpix_top Powering, DRC, LVS, Antenna in TDCpix_top Functional verification of the full chip by simulation on final netlist Functional verification of the full chip by simulation on final netlist functional verification of TDCpix_top_digital & functional verification of TDCpix_top_digital & functional verification of TDCpix_top functional verification of TDCpix_top