Software tools for digital LLRF system integration at CERN 04/11/2015 LLRF15, Software tools2 Andy Butterworth Tom Levens, Andrey Pashnin, Anthony Rey.

Slides:



Advertisements
Similar presentations
Sundanc e High-tech DSP solutions. Giving you the freedom to design Multiprocessor Technology Ltd SOFTWARE UTILITY TOOLS.
Advertisements

University of South Australia Distributed Reconfiguration Avishek Chakraborty, David Kearney, Mark Jasiunas.
Usage of the memoQ web service API by LSP – a case study
Internal Logic Analyzer Final presentation-part B
Software Frame Simulator (SFS) Technion CS Computer Communications Lab (236340) in cooperation with ECI telecom Uri Ferri & Ynon Cohen January 2007.
Edoclite and Managing Client Engagements What is Edoclite? How is it used at IU? Development Process?
LINAC 4 – LLRF ELECTRONICS UPDATE BCC-42 A.K. Bhattacharyya, A. Butterworth, F. Dubouchet, J. Molendijk, T. Mastoridis, J. Noirjean(reporter), D. Stellfeld,
 M.A - BIS Workshop – 4th of February 2015 BIS software layers at CERN Maxime Audrain BIS workshop for CERN and ESS, 3-4 of February 2015 On behalf of.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Overview of Data Management solutions for the Control and Operation of the CERN Accelerators Database Futures Workshop, CERN June 2011 Zory Zaharieva,
Agenda Adaptation of existing open-source control systems from compact accelerators to large scale facilities.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
A Simplified Approach to Web Service Development Peter Kelly Paul Coddington Andrew Wendelborn.
WorkPlace Pro Utilities.
DELTA TAU Data Systems, Inc. 1 UMAC TurboTurbo PMAC PCIGeo Drive Single Source Machine Control motion logic data Power PMAC Project Management November.
W. Sliwinski – eLTC – 7March08 1 LSA & Safety – Integration of RBAC and MCS in the LHC control system.
06/05/2004AB/CO TC RF controls issues Brief overview & status Requested from AB/CO Hardware, Timing, VME/FESA for LEIR, SPS, LHC Controls for LHC RF Power.
Imperial College Tracker Slow Control & Monitoring.
Nightly Releases and Testing Alexander Undrus Atlas SW week, May
Upgrade to Real Time Linux Target: A MATLAB-Based Graphical Control Environment Thesis Defense by Hai Xu CLEMSON U N I V E R S I T Y Department of Electrical.
Section 1: Introducing Group Policy What Is Group Policy? Group Policy Scenarios New Group Policy Features Introduced with Windows Server 2008 and Windows.
Practical Project of the 2006 Joint International Master’s Degree.
14 December 2006 CO3 Data Management section Controls group Accelerator & Beams department Limits of Responsibilities in our Domains of Activities Ronny.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
INTRODUCTION SOFTWARE HARDWARE DIFFERENCE BETWEEN THE S/W AND H/W.
Python – Part 1 Python Programming Language 1. What is Python? High-level language Interpreted – easy to test and use interactively Object-oriented Open-source.
1 3. Computing System Fundamentals 3.1 Language Translators.
ATCA based LLRF system design review DESY Control servers for ATCA based LLRF system Piotr Pucyk - DESY, Warsaw University of Technology Jaroslaw.
Ocean Observatories Initiative OOI Cyberinfrastructure Life Cycle Objectives Review January 8-9, 2013 Tom O’Reilly Monterey Bay Aquarium Research Institute.
1 Fly – A Modifiable Hardware Compiler C. H. Ho 1, P.H.W. Leong 1, K.H. Tsoi 1, R. Ludewig 2, P. Zipf 2, A.G. Oritz 2 and M. Glesner 2 1 Department of.
NIOS II Ethernet Communication Final Presentation
Final Review of ITER PBS 45 CODAC – PART 1 – 14 th, 15 th and 16 th of January CadarachePage 1 FINAL DESIGN REVIEW OF ITER PBS 45 CODAC – PART 1.
REGISTER MANAGEMENT TOOL Preformed by: Liat Honig Nitzan Carmel Supervisor: Moshe Porian Date: 24/11/2011, winter semester 2011 Duration: One semester.
LHC Cryogenics Control: INTEGRATION OF THE INDUSTRIAL CONTROLS (UNICOS) AND FRONT-END SOFTWARE ARCHITECTURE (FESA) APPLICATIONS Enrique BLANCO Controls.
L. Arnaudon BE/RF/CS. Outline  RF systems description  Software environment  RF specialist requirements  RADE tools in use  ACS application  Low.
Petra III Status Teresa Núñez Hasylab-DESY Tango Meeting DESY,
Session 1 Introduction  What is RADE  Technology  Palette  Tools  Template  Combined Example  How to get RADE  Questions? RADE Applications EN-ICE-MTA.
Managed by UT-Battelle for the Department of Energy CSS Update Matthias Clausen, Helge Rickens, Jan Hatje and DESY Delphy Armstrong, Xihui Chen,
Nov, F. Di Maio, M.Vanden Eynden1 CO Proposal concerning AB Front-End Software Responsibilities First detailed proposal based on the global Front-end.
CERN Control Standards Front-End Computer Layer Stéphane Deghaye BE/CO/FE
 Programming - the process of creating computer programs.
FESA FRONT-END SOFTWARE ARCHITECTURE [FESA] Michel Arruat, Leandro Fernandez, Stephen Jackson, Frank Locci, Jean-Luc Nougaret, Maciej Peryt, Anastasiya.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Proposal for an Open Source Flash Failure Analysis Platform (FLAP) By Michael Tomer, Cory Shirts, SzeHsiang Harper, Jake Johns
1 FESA architecture v.1.0 Framework Configuration & Data-entry Tool 5 th December 2003.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Chapter 11  Getting ready to program  Hardware Model  Software Model  Programming Languages  Facts about C++  Program Development Process  The Hello-world.
TRIUMF HLA Development High Level Applications Perform tasks of accelerator and beam control at control- room level, directly interfacing with operators.
IBM Express Runtime Quick Start Workshop © 2007 IBM Corporation Deploying a Solution.
Suzanne Gysin 1, Andrey D. Petrov 1, Pierre Charrue 2, Wojciech Gajewski 2, Kris Kostro 2, Maciej Peryt 2 1 Fermi National Accelerator Laboratory, 2 European.
Industrial Control Engineering Session 1 Introduction  What is RADE  Technology  Palette  Tools  Template  Combined Example  How to get RADE 
Wednesday NI Vision Sessions
CS section activities Industrial controls Luca Arnaudon David Glenat David Landre Slawomir Totos Ruben Lorenzo-Ortega Digital hardware John Molendijk.
ATCA based LLRF system design review DESY Control servers for ATCA based LLRF system Piotr Pucyk - DESY, Warsaw University of Technology Jaroslaw.
Maj Jeffrey Falkinburg Room 2E46E
Muen Policy & Toolchain
Athanasios Topaloudis 3rd Forum 15/02/2017
ECE 551: Digital System Design & Synthesis
Me, FESA classes, Testing
FESA evolution and the vision for Front-End Software
M7 controls Cryo, vacuum, ODH information available
Bartosz Bielawski BE-RF-CS Anthony Rey, Tom Levens
CMPE419 Mobile Application Development
TRANSLATORS AND IDEs Key Revision Points.
Topics Introduction Hardware and Software How Computers Store Data
Automation of Control System Configuration TAC 18
CMPE419 Mobile Application Development
Presentation transcript:

Software tools for digital LLRF system integration at CERN 04/11/2015 LLRF15, Software tools2 Andy Butterworth Tom Levens, Andrey Pashnin, Anthony Rey

Outline Digital LLRF and control system overview Consistency between firmware & software Tools for memory map management Extensions to help productivity Future plans & conclusions 04/11/2015 LLRF15, Software tools3

Digital LLRF at CERN LINAC 4 ELENA Digital LLRF systems in 8 machines + more coming soon ~75 types of VME module (distinct firmware)

Seen by the LLRF designer: 04/11/2015 LLRF15, Software tools5

Seen by the LLRF designer: VME bus 04/11/2015 LLRF15, Software tools6 Memory map VHDL memory map

LabVIEW, Python… Linux Front End Computer (FEC) Server task Seen by the software developer: VME board Device driver Device access library Real-time task Data store VME board CMW server API VME bus CMW C++ client API LSA/InCA, MATLAB… CMW Java client API Driver (generated by Encore tool) FESA class (generated + device-specific user code) Controls MiddleWare (CMW) 04/11/2015 LLRF15, Software tools7 Device/property interface

Linux device drivers (the old way) Hardware Database Device driver Device access library Encore Driver generation tool Entered by hand libmy_device.a libmy_device.h Must match driver and HW Compilation of FESA class 04/11/2015 LLRF15, Software tools8 Excel file

FESA class Mismatches possible Device driver Device access library VME board VME bus Mismatch between firmware and driver: Error in Excel file or while manually entering memory map in database Flashed new firmware, forgot to redeliver driver and rebuild software Mismatch between compiled user code and driver: Error in deploying driver Installed new driver, FESA class not correctly redelivered Both cases result in access to wrong registers and unpredictable behaviour 04/11/2015 LLRF15, Software tools9

Solution Master memory map description in XML file Generate driver configuration file and VHDL from same master file 04/11/2015 LLRF15, Software tools10 my_device.xml driver configuration VHDL memory map libmy_device.a libmy_device.h FPGA firmware Keep driver, software and firmware in sync

Memory map editor 04/11/2015 LLRF15, Software tools11 Edit register and memory map Automatic address calculation and alignment Enter attributes: name, size, width, read/write… Validate Generate VHDL Generate driver

Documentation Web pages Web documentation generated from XML via XSLT 04/11/2015 LLRF15, Software tools12

Register block reuse Certain register blocks occur in many designs acquisition memories, function generators… Can be saved as sub-maps in separate XML files and included in memory map C++ libraries written for complex functionalities e.g. acquisition memory buffers 04/11/2015 LLRF15, Software tools13

Sub-maps 04/11/2015 LLRF15, Software tools14 Submap

FESA class generation HW designers: want access to every functionality of the board (whole register map) want it yesterday reserve the right to change the register map whenever they want Lots of tedious coding in FESA C++ We have the memory map description; why not generate the FESA code as well? 04/11/2015 LLRF15, Software tools15

FESA class generation Generate design file and C++ source for FESA class Meant for testing: exposes registers as FESA device properties 04/11/2015 LLRF15, Software tools16 my_device.xml driver configuration libmy_device.a libmy_device.h FESA class design file & C++ source FESA class for testing

FESA class generation Simple access to registers is not enough Need to know the semantics of the register numeric type or bit field composed of sub-registers? conversion factors/algorithms 04/11/2015 LLRF15, Software tools17

Register semantics 04/11/2015 LLRF15, Software tools18 Bit-field Sub-registers

Register semantics 04/11/2015 LLRF15, Software tools19 Code-field (enum)

Other FESA class functionality Many additional features added to support FESA class functionality: Virtual registers: only exist in FESA class Alarm generation for fault bits Multiplexed data store and real-time code for multi-cycling machines … 04/11/2015 LLRF15, Software tools20 Allows to have a fully working FESA class generated automatically (for commissioning purposes). Represents a substantial time saving for SW developers.

Further HDL generation A companion tool (Gena) can be launched to generate the full VHDL register block 04/11/2015 LLRF15, Software tools21 The main tool (Cheburashka) generates only the VHDL memory map

Gena Python script which reads master XML memory map file Produces VHDL code for the entire register control block Supports all standard register types (R/W/RW/RMW). Registers are auto-split into bits/sub-registers if these are defined. Supports multiple memories, each with own data and strobe inputs. Supports multiple “areas” of registers, each gets its own multiplexer set. 04/11/2015 LLRF15, Software tools22 T. Levens Generates large amount of FW previously done by hand. Represents a substantial time saving for FW developers.

Next steps Looking at re-implementation of FESA code generation in Python using Jinja2 template package Cheburashka is currently implemented as a Java application Continual enhancement (feature creep) has caused it to become very large and complex Better encapsulation of functionality (library) Generation of Python package for test scripts Replace GUI with generic XML editor? 04/11/2015 LLRF15, Software tools23

Summary Tools for consistent memory map management developed in the RF group Automated generation of VHDL and C++ code avoids a lot of tedious coding In production since 2013 in the RF and Beam Instrumentation groups Used by all LLRF designers and SW developers for all new developments in the RF group 04/11/2015 LLRF15, Software tools24

Thank you for your attention! 04/11/2015 LLRF15, Software tools25