3 SAMPA Chip Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1 Architectural Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.1 Analogue Front-End . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.2 Analogue to Digital Converter . . . . . . . . . . . . . . . . . . . . . 43
3.2 Digital Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.1 System Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.2.2 Slow Control and Configuration . . . . . . . . . . . . . . . . . . . . 52
3.2.3 Digital Signal Conditioning . . . . . . . . . . . . . . . . . . . . . . . 54
3.2.4 Data Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.2.5 Event Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.2.6 Readout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.3 Design for Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.3.1 Scan Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.3.2 Memory Built-In Self-Test . . . . . . . . . . . . . . . . . . . . . . . . 78
3.3.3 JTAG Boundary Scan . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.3.4 Ring Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.3.5 Miscellaneous Test Features . . . . . . . . . . . . . . . . . . . . . . . 83
3.4 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.4.1 Single Event Upset Handling . . . . . . . . . . . . . . . . . . . . . . 85
3.4.2 Single Event Transient Handling . . . . . . . . . . . . . . . . . . . 87
3.4.3 Upsets in Data Memory . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.5 Design for Low Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4 Verification and Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.1 Functional Verification of the Digital Design . . . . . . . . . . . . . . . . 93
4.1.1 Tool Based Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.1.2 Module Based Testbenches . . . . . . . . . . . . . . . . . . . . . . . 97
4.1.3 System Level Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.1.4 Test Coverage Improvements . . . . . . . . . . . . . . . . . . . . . . 104
4.2 Hardware Verification of the Digital Design . . . . . . . . . . . . . . . . . 105
4.2.1 FPGA Firmware Design . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.2.2 Data Acquisition and Analysis . . . . . . . . . . . . . . . . . . . . . 110
4.2.3 Design for Test Features . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.2.4 DAQ Verification and FPGA Prototyping . . . . . . . . . . . . . 112
4.3 Validation and Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.3.1 Test Results for SAMPA V1 . . . . . . . . . . . . . . . . . . . . . . 113
4.3.2 Test Results for SAMPA V2 . . . . . . . . . . . . . . . . . . . . . . 114
4.3.3 Test Results for Final SAMPA Production . . . . . . . . . . . . 119
4.3.4 Irradiation Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.3.5 System Integration Tests . . . . . . . . . . . . . . . . . . . . . . . . . 121
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
xii
Contents
3.1 Architectural Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.1 Analogue Front-End . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.2 Analogue to Digital Converter . . . . . . . . . . . . . . . . . . . . . 43
3.2 Digital Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2.1 System Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.2.2 Slow Control and Configuration . . . . . . . . . . . . . . . . . . . . 52
3.2.3 Digital Signal Conditioning . . . . . . . . . . . . . . . . . . . . . . . 54
3.2.4 Data Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.2.5 Event Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.2.6 Readout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.3 Design for Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.3.1 Scan Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.3.2 Memory Built-In Self-Test . . . . . . . . . . . . . . . . . . . . . . . . 78
3.3.3 JTAG Boundary Scan . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.3.4 Ring Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.3.5 Miscellaneous Test Features . . . . . . . . . . . . . . . . . . . . . . . 83
3.4 Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.4.1 Single Event Upset Handling . . . . . . . . . . . . . . . . . . . . . . 85
3.4.2 Single Event Transient Handling . . . . . . . . . . . . . . . . . . . 87
3.4.3 Upsets in Data Memory . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.5 Design for Low Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4 Verification and Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.1 Functional Verification of the Digital Design . . . . . . . . . . . . . . . . 93
4.1.1 Tool Based Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
4.1.2 Module Based Testbenches . . . . . . . . . . . . . . . . . . . . . . . 97
4.1.3 System Level Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.1.4 Test Coverage Improvements . . . . . . . . . . . . . . . . . . . . . . 104
4.2 Hardware Verification of the Digital Design . . . . . . . . . . . . . . . . . 105
4.2.1 FPGA Firmware Design . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.2.2 Data Acquisition and Analysis . . . . . . . . . . . . . . . . . . . . . 110
4.2.3 Design for Test Features . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.2.4 DAQ Verification and FPGA Prototyping . . . . . . . . . . . . . 112
4.3 Validation and Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.3.1 Test Results for SAMPA V1 . . . . . . . . . . . . . . . . . . . . . . 113
4.3.2 Test Results for SAMPA V2 . . . . . . . . . . . . . . . . . . . . . . 114
4.3.3 Test Results for Final SAMPA Production . . . . . . . . . . . . 119
4.3.4 Irradiation Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
4.3.5 System Integration Tests . . . . . . . . . . . . . . . . . . . . . . . . . 121
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
xii
Contents
