New Base DAQ Firmware for FONT5/FONT5A Glenn Christian 30/08/12.

Slides:



Advertisements
Similar presentations
ATF2: Status Update Glenn Christian (on behalf of FONT group) 10 th ATF Project Meeting.
Advertisements

Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
Internal Logic Analyzer Final presentation-part B
Cluster Processor Module : Status, test progress and plan Joint Meeting, Mainz, March 2003.
IO Controller Module Arbitrates IO from the CCP Physically separable from CCP –Can be used as independent data logger or used in future projects. Implemented.
FONT4 Status Report Glenn Christian John Adams Institute, Oxford for FONT collaboration.
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
Achieving Timing Closure. Objectives After completing this module, you will be able to: Describe a flow for obtaining timing closure Interpret a timing.
3/7/05A. Semenov Batch-by-Batch Intensity Monitor 1 Two-Channel Batch by Batch Intensity Monitor for Main Injector BBI.
© 2003 Xilinx, Inc. All Rights Reserved Reading Reports Xilinx: This module was completely redone. Please translate entire module Some pages are the same.
The GANDALF Multi-Channel Time-to-Digital Converter (TDC)  GANDALF module  TDC concepts  TDC implementation in the FPGA  measurements.
FPGA IRRADIATION and TESTING PLANS (Update) Ray Mountain, Marina Artuso, Bin Gui Syracuse University OUTLINE: 1.Core 2.Peripheral 3.Testing Procedures.
DLS Digital Controller Tony Dobbing Head of Power Supplies Group.
Feedback on Nanosecond Timescales (FONT) - Review of Feedback Prototype Tests at ATF(KEK) Glenn Christian John Adams Institute, Oxford for FONT collaboration.
1 FONT Results 2010 Philip Burrows Robert Apsimon, Doug Bett, Glenn Christian Michael Davis, Colin Perry, Javier Resta Lopez John Adams Institute Oxford.
Gauge Operation and Software by Scott A. Ager. Computer Recommendations 750 MHz Pentium III 64 Meg SRAM 40 Gig Hard Drive 1024 x 768 graphics CD Writer.
Peter-Bernd Otte – Sep CB collaboration meeting, Edinburgh.
Electrocardiogram (ECG) application operation – Part B Performed By: Ran Geler Mor Levy Instructor:Moshe Porian Project Duration: 2 Semesters Spring 2012.
DAQ Link integration update A Navarro Tobar*, JM Cela Ruiz 10/2/2015.
Features of the new Alibava firmware: 1. Universal for laboratory use (readout of stand-alone detector via USB interface) and for the telescope readout.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.
Project Final Semester A Presentation Implementing a compressor in software and decompression in hardware Presents by - Schreiber Beeri Yavich Alon Guided.
This material exempt per Department of Commerce license exception TSU Synchronous Design Techniques.
WP5 – Wirespeed Photonic Firewall Validation Start M27, finish M35 Avanex lead Description of Work –Establish test bed suitable to validated the optical.
1Ben ConstanceFONT Meeting 1st August 2008 ATF2 digital feedback board 9 channel board with replaceable daughter board (RS232 etc.) − Board will log data.
Trigger Meeting: Greg Iles5 March The APV Emulator (APVE) Task 1. –The APV25 has a 10 event buffer in de-convolution mode. –Readout of an event =
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
Sensor testing and validation plans for Phase-1 and Ultimate IPHC_HFT 06/15/ LG1.
JRA-1 Meeting, Jan 25th 2007 A. Cotta Ramusino, INFN Ferrara 1 EUDRB: A VME-64x based DAQ card for MAPS sensors. STATUS REPORT.
Lecture 4 General-Purpose Input/Output NCHUEE 720A Lab Prof. Jichiang Tsai.
DDRIII BASED GENERAL PURPOSE FIFO ON VIRTEX-6 FPGA ML605 BOARD PART B PRESENTATION STUDENTS: OLEG KORENEV EUGENE REZNIK SUPERVISOR: ROLF HILGENDORF 1 Semester:
October Test Beam DAQ. Framework sketch Only DAQs subprograms works during spills Each subprogram produces an output each spill Each dependant subprogram.
Mini scope one semester project Project final Presentation Svetlana Gnatyshchak Lior Haiby Advisor: Moshe Porian Febuary 2014.
General Tracker Meeting: Greg Iles4 December Status of the APV Emulator (APVE) First what whyhow –Reminder of what the APVE is, why we need it and.
ADC 1 Analog to Digital Converter. ADC 2 ADC Features n General Features -Supports 8 or 10-bit resolution Modes, -Track period fully programmable up to.
PC-based L0TP Status Report “on behalf of the Ferrara L0TP Group” Ilaria Neri University of Ferrara and INFN - Italy Ferrara, September 02, 2014.
Firmware and Software for the PPM DU S. Anvar, H. Le Provost, Y.Moudden, F. Louis, E.Zonca – CEA Saclay IRFU – Amsterdam/NIKHEF, 2011 March 30.
FONT4 Status Report Glenn Christian John Adams Institute, Oxford for FONT collaboration.
1 Programming of FPGA in LiCAS ADC for Continuous Data Readout Week 4 Report Tuesday 22 nd July 2008 Jack Hickish.
FONT5 digital feedback boards
GCSE Computing - The CPU
JESD204B High Speed ADC Interface Standard
Application Case Study Security Camera Controller
Lab 1: Using NIOS II processor for code execution on FPGA
Lecture 15 Sequential Circuit Design
ABC130: DAQ Hardware Status Matt Warren et al. Valencia 3 Feb 2014
SLS Timing Master Timo Korhonen, PSI.
COP Interface Requirements
SLP1 design Christos Gentsos 9/4/2014.
Status of the Beam Phase and Intensity Monitor for LHCb
University of California Los Angeles
The 8085 Microprocessor Architecture
Status of the Merlin Readout System
Vertex 2005 November 7-11, 2005 Chuzenji Lake, Nikko, Japan
Avalon Switch Fabric.
System Interconnect Fabric
Introduction to cosynthesis Rabi Mahapatra CSCE617
AT91 Memory Interface This training module describes the External Bus Interface (EBI), which generatesthe signals that control the access to the external.
Timing Analysis 11/21/2018.
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
ChipScope Pro Software
Tests Front-end card Status
SKIROC status CERN – CALICE/EUDET electronic & DAQ meeting – 22/03/2007 Presented by Julien Fleury.
The 8085 Microprocessor Architecture
ChipScope Pro Software
The SDRAM Controller EECS150 Fall Lab Lecture #8 Chen Sun
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
ECE 352 Digital System Fundamentals
GCSE Computing - The CPU
Preliminary design of the behavior level model of the chip
Presentation transcript:

New Base DAQ Firmware for FONT5/FONT5A Glenn Christian 30/08/12

Motivation Long (and growing) laundry list of preferable additions/corrections to existing FB FW FBFW always teetering on the edge of 2.8ns timing spec –small changes could (randomly) make it fail or meet timing –Most changes not implemented, only if absolutely essential effort made to implement and meet timing (eg internal RC -> MPPR) For CTF3 want to reuse as much as possible of the sampling/DAQ logic, but many changes necessary e.g. different number of samples to be recorded per pulse, no ring clock ala ATF …

Motivation 2 Current FB FW –ATF parameters hard-wired in : ring clock to synchronise the bunches to the trigger, 164 samples (= 1 ring clock cycle - 1 sample) per pulse recorded from all 9 channels –Functions related to FB mixed in with those required for sampling/DAQ Want to –Separate the application level code eg (ATF FB, CTF FF) from the underlying FW for sampling (base FW) –Work with variable fast clock speed, variable number of samples recorded (and channels), with/without ring clock (ext/int) –Base FW not affect the FB latency therefore can Optimise the base to meet timing comfortably, with relaxed tool settings (default settings area/timing optimisation) –Much faster P&R durations for base FW –Give a stable base to build application on –Allow implemention of all features on laundry list etc…

Ultimate goal (but whether it happens or not …) General purpose scope-style DAQ base application –System clock : 200 – 400 MHz (set by ADCs) –Option to use secondary trigger counter (eg RC) – EXT or INT –Variable record length and channels active –Trigger source: EXT, chs 1-9 & level (for trigger on data) – NB: might be useful at CTF –Run/Stop/Single-shot mode Application layer FW or DAQ software can lock down unused functions/variables

Summary of changes (so far) Simulate changes at module level as much as possible Adhere to FPGA design guidelines and verilog-2001 rules as much as possible (Timing) –Verilog keywords as signal names –Avoiding numbering in signal names for duplicate registers (routed as bus by router) –Undefined states in FSMs, tidied up FSM implementations –Global/Async Resets Current FW most FFs have async reset even though most resets unnecessary and the global reset was already synced to the 40 MHz Async resets use LUT resources in the CLBs – stop the design from working at full speed (eg 550 MHz Virtex 5) Not needed anyhow as GSR can be relied upon, provided have access to the JTAG config NO global resets on the fast (eg 357 MHz) clock domain except specific primitives (eg DDR registers) with async reset pin Reset remains on 40 MHz domain but implemented as synchronous not async Other changes to DCM resets and reset sequencing etc

Summary of changes (so far) 2 Alignment monitors –Lots of cross clock domains –Current module specifically assumes 357 MHz system clock (relies on 9 periods of 40 Mhz in one 357) Introduced handshaking signals Reduced the number of iterations in the averaging from 127 to 32 so that align-monitoring will still complete within ~260 us ADC on-time at 200 MHz, cf 357 MHz Needs to be tested in lab –Is 32 iterations enough? –Did they ever work properly anyway/ were they ever tested?

Summary of changes (so far) 3 Timing Synchronisation module –FB version runs all timing related signals off one large counter, including FB specific signals (bunch strobes, amplifier triggers etc) –Removed all signals specific to application and re- coded as an FSM STATE = WAIT -> WARM_UP -> SAMPLE -> ALIGN; Only care about bunch timing wrt trigger, eg align monitor duration tied to 40 MHz –Previously for ATF 12’ counter gave 2 ms range – 1 ms trigger to bunch, 10 us warm up, 1 us sampling, 250 us align_mon Interface to timing signals eg bunch strobe etc via the STATE variable which is brought out

Current Status Above changes allowed timing bottlenecks to be clearly identified and fixed –Main problem in align_monitors (already suspected) : large fanout to DDR registers Register duplication cf pipelining (ie parallising pipelining rather than serialising) brought timing down to 2.71 ns (best ever seen) –P&R times now few minutes cf ~10-20 mins Next worst nets at endpoints of Control register fanout – not looked at for now. –Modules simulate okay, but need to be checked in lab before proceeding (several new warning messages – lost track of!)

Problems with testing So far, have only made changes that should still work with current labview DAQ –Eg by locking variables to ATF values in FW, can check that FW still works as it would at ATF Will need to also make significant changes to the DAQ –Problem with debugging hardware and software simultaneously! –With greater timing slack can probably insert CSP cores to test basic functionality but not full operation of UART (NB can’t run CSP in ISE10 – will need to migrate to newer version but I suspect timing issues in later versions now resolved) –Also suspect I will have to re-learn Labview to be able to efficiently debug system –Mikey python scripts? Also, issue with testing board 1 at 200 MHz (357 MHz filter), board 2 programmable?

Next steps Re-implement DAQ RAMs UART Control registers –Many new control registers needed –Currently two sets of CRs are synced onto appropriate clock domain (357, 40 MHz) Running out of space on 357 domain Actually all signals from UART already synchronous on 40 MHz domain – plan to leave all on that and synchronise 357 registers locally where used. Would like to keep current mapping of addresses for compatability. Will require changes to DAQ software

Other things to consider ISE versioning?? Testing at 200 MHz –Need to check integrity of ADC clocks at this speed Actually two 40 MHz clock domains in logic [1 not through DCM (always runs, drives uart rx, reset), other from DCM0 output (stopped when ADCs running, drives uart tx)] –Worry about synchronisation between the two?