CI for FPGA D&V. Continuous Integration for FPGA Design and Verification Verification Futures 2015-02-05. Alan Fitch, Ericsson TV Ltd



Similar documents
SOFTWARE DEVELOPMENT BASICS SED

Fast Feedback: Jenkins + Functional and Non-Functional Mobile App Testing Without Pulling Your Hair

What s New in WebLOAD 10.1

Mobile App Development: The CD Recipe Jenkins + Functional and Non-functional Testing + Real Devices. Carlo Cadet, Director, Technical Evangelists

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

Unit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects

Delivering Quality Software with Continuous Integration

Continuous Delivery. Alejandro Ruiz

Continuous Integration: Aspects in Automation and Configuration Management

Jenkins Slave Cloud with Apache Mesos. Klaus Azesberger Reinhard Kiesswetter Infonova GmbH

My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Quality Cruising. Making Java Work for Erlang. Erik (Happi) Stenman

Kernel Testing: Tool and Techniques. Matt Porter Texas Instruments 21 February 2013

A GUIDE TO USING CONTINUOUS INTEGRATION WITHIN THE VERIFICATION ENVIRONMENT

Hadoop Setup. 1 Cluster

Software Automated Testing

SOFTWARE TESTING TRAINING COURSES CONTENTS

Hudson Continous Integration Server. Stefan Saasen,

DevOps Course Content

QEx Whitepaper. Automation Testing Pillar: Selenium. Naveen Saxena. AuthOr:

GLOBAL CONSULTING SERVICES TOOLS FOR WEBMETHODS Software AG. All rights reserved. For internal use only

Continuous Integration for XML and RDF Data

DO-254 Requirements Traceability

Build management & Continuous integration. with Maven & Hudson

Maven the Beautiful City. Healthy, Viable, and Productive Build Infrastructures

Automated testing of CS UI using Selenium and Python

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

Flexible Engineering Process Automation Process: Continuous Integration & Test

Continuous integration with Jenkins CI

The Bazaar Version Control System. Michael Hudson, Canonical Ltd

Jenkins: The Definitive Guide

Introduction to Automated Testing

Web UI & Functional Test Automation for Continuous Agile Deliveries

Introduction to Functional Verification. Niels Burkhardt

Building, testing and deploying mobile apps with Jenkins & friends

Automate Your Deployment with Bamboo, Drush and Features DrupalCamp Scotland, 9 th 10 th May 2014

The Test Automation Journey

Version Control Your Jenkins Jobs with Jenkins Job Builder

Bug bites Elephant? Test-driven Quality Assurance in Big Data Application Development. Dr. Dominik Benz, inovex GmbH 2013/06/03, Berlin Buzzwords

Building a Continuous Integration Pipeline with Docker

CycleServer Grid Engine Support Install Guide. version 1.25

Software Configuration Management and Continuous Integration

Accelerate Software Delivery

HDFS. Hadoop Distributed File System

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

Viewpoint. Choosing the right automation tool and framework is critical to project success. - Harsh Bajaj, Technical Test Lead ECSIVS, Infosys

ETICS - A Clean Approach to Open Source Cloud Software

Jenkins and Chef Infrastructure CI and Application Deployment

HDL Simulation Framework

Continuous Integration Sprint 6. Agneta Nilsson, Jan Bosch, & Christian Berger

Accelerate Software Delivery with Continuous Integration and Testing. JaSST 08 Tokyo. Jeffrey Fredrick Agitar Software,

Domain Specific Languages for Selenium tests

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur

More about Continuous Integration:

Continuous Integration in the Cloud with Hudson

Extending the Power of FPGAs. Salil Raje, Xilinx

Using Vivado Design Suite with Version Control Systems Author: Jim Wu

McPerM THE McFarm Performance Monitor

DiskBoss. File & Disk Manager. Version 2.0. Dec Flexense Ltd. info@flexense.com. File Integrity Monitor

OF 1.3 Testing and Challenges

Continuous Integration: A case study

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

GLOBAL JOURNAL OF ENGINEERING SCIENCE AND RESEARCHES

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

Software Engineering I (02161)

Continuous Delivery for Linux/Windows/Hadoop

Eclipse Help

Unit Test Automation with Jenkins-CI tool

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

Electrics & Electronics

NXTware Remote. Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms

Jenkins User Conference Herzelia, July #jenkinsconf. Testing a Large Support Matrix Using Jenkins. Amir Kibbar HP

Leittechnik für Bahnsysteme mit Eclipse

Git Branching for Continuous Delivery

INCREASE YOUR WEBMETHODS ROI WITH AUTOMATED TESTING. Copyright 2015 CloudGen, LLC

Client Overview. Engagement Situation. Key Engagement Challenges :

"Build and Test in the Cloud "

DevOps. Building a Continuous Delivery Pipeline

Continuous Integration for XML and RDF Data

A FULL-STACK SMTP PLATFORM Open & Scriptable, Targeted Specifically at Large-Scale Infrastructures

Continuous Integration

soapui Product Comparison

WebLogic Server Foundation Topology, Configuration and Administration

pure::variants Transformer for Software Configuration Management Manual

@jenkinsconf. Maintaining huge Jenkins clusters - Have we reached the limit of Jenkins?

Team Name : PRX Team Members : Liang Yu, Parvathy Unnikrishnan Nair, Reto Kleeb, Xinyi Wang

Massively! Continuous Integration! A case study for Jenkins at cloud-scale

Continuous Integration Processes and SCM To Support Test Automation

Automation and Virtualization, the pillars of Continuous Testing

Mastering Continuous Integration with Jenkins

BuildBot. S.Cozzini/A.Messina/G.Giuliani. And Continuous Integration. RegCM4 experiences. Warning: Some slides/ideas.

Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)

SOE. managing change in system development projects: configuration management

Escaping the Works-On-My-Machine badge Continuous Integration with PDE Build and Git

Software infrastructure for Java development projects

Topics in Website Testing. [Reading assignment: Chapter 14, pp ]

A Practical Guide to implementing Agile QA process on Scrum Projects

Mobile Development with Git, Gerrit & Jenkins

Getting off the ground when creating an RVM test-bench

Transcription:

CI for FPGA D&V Continuous Integration for FPGA Design and Verification Verification Futures 2015-02-05 Alan Fitch, Ericsson TV Ltd

Agenda Ericsson TV background Ericsson TV Firmware Group design flow Issues Motivation for continuous integration Continuous Integration to the rescue! Application to FPGA Build Application to FPGA Simulation Conclusions CI Using Jenkins in FPGA D&V Public Ericsson AB 2015 2015-01-14 Page 2

Ericsson tv Market leader in professional video processing solutions for compression Primary site Hedge End, Southampton UK About 200 engineering staff FPGA ( Firmware )group 30 staff Developing FPGAs Largest project 5 x 1M logic elements Many existing designs in maintenance CI Using Jenkins in FPGA D&V Public Ericsson AB 2015 2015-01-14 Page 3

Design flow VHDL Designs Tcl compile/build scripts VHDL testbenches Subversion for revision control Largest projects UVM test environments Standardized base classes for re-use Mixture of roles Some specialized verification engineers CI Using Jenkins in FPGA D&V Public Ericsson AB 2015 2015-01-14 Page 4

Issues FPGA Build Make push-button Schedule builds over the weekend FPGA Simulation Use regression with UVM/SV (non-proprietary) Extend regression to VHDL Make sure existing sims still compile and run ( smoke test ) Avoid software rot Efficient use of licenses (e.g. overnight/weekends) CI Using Jenkins in FPGA D&V Public Ericsson AB 2015 2015-01-14 Page 5

CI to the rescue! We could have extended existing Tcl flow But luckily local software groups had already implemented Jenkins Jenkins was applied to FPGA Build and Simulation Work carried during innovation days, time allocated to process improvement at beginning of Agile Sprints Used for UVM regressions Extended to VHDL testbenches CI Using Jenkins in FPGA D&V Public Ericsson AB 2015 2015-01-14 Page 6

Application TO Build Tcl flow already carries out automated build But still required user checkout of large Subversion database Knowing what directory to use and which script options to supply The Jenkins CI server allows arbitrary commands to be run on a Jenkins slave node The firmware slave node is a Grid Engine Master, which then queues the jobs on to a Linux server client CI Using Jenkins in FPGA D&V Public Ericsson AB 2015 2015-01-14 Page 7

FPGA BUILD MADE EASY Scheduled builds Press button Someone else has done the hard work CI Using Jenkins in FPGA D&V Public Ericsson AB 2015 2015-01-14 Page 8

CI WITH SIMULATION First applied with UVM Jenkins interprets results in XML JUNIT report format function void scoreboard::report_phase(uvm_phase phase); //... // instance the junit class junit_results = new(junit_res_file_name); junit_results.start_tests(); Scoreboard base class XML writer class if (((svr.get_severity_count(uvm_fatal) + svr.get_severity_count(uvm_error)) == 0))) begin junit_results.add_test("uvm_tb", ctrl_knobs.get_str_value("test_name"), `PASS,,, ); end //... endfunction: report_phase <?xml version="1.0" encoding="utf-8"?> <testsuite> <testcase name="test1" classname="uvm_tb" time="35"> </testcase> </testsuite> CI Using Jenkins in FPGA D&V Public Ericsson AB 2015 2015-01-14 Page 9

JENKINS Simulation Python script builds project coverage web-page DSL Plugin CI Using Jenkins in FPGA D&V Public Ericsson AB 2015 2015-01-14 Page 10

ISSUES Jenkins connects to slaves through ssh Loss of ssh connection for any reason stops periodic builds Investigating a slave monitor Jenkins plugin It s better to write XML status from wrapper scripts / log scanners (which we now do) Applies to all languages (VHDL/SV) equally CI Using Jenkins in FPGA D&V Public Ericsson AB 2015 2015-01-14 Page 11

Conclusions Jenkins is a powerful way to do regression and build Unexpected benefit helps engineers keep on top of code changes during rapid development http://jenkins-ci.org Push-button or time-triggered builds/sims Common CI across software/firmware Plans Extend into department to run smoke tests on VHDL sims TV display of Coverage/Build status build radiator CI Using Jenkins in FPGA D&V Public Ericsson AB 2015 2015-01-14 Page 12