Architecture optimization and design verification of the Timepix3 and the Velopix pixel ASICs 14.11.2013 Tuomas Poikela (TUCS/CERN) SV/UVM Mini workshop.

Slides:



Advertisements
Similar presentations
Determining Test Quality through Dynamic Runtime Monitoring of SystemVerilog Assertions Kelly D. Larson
Advertisements

© Copyright 2013 Xilinx. How to Kill 4 Birds with 1 Stone: Using Formal Verification to Validate Legal Configurations, Find Design Bugs, and Improve Testbench.
Hub The Only Co-Simulation Tool of Its Kind on the Market The Only Co-Simulation Tool of Its Kind on the Market.
Using emulation for RTL performance verification
by Adiel Khan Staff CAE Synopsys
February 28 – March 3, 2011 Stepwise Refinement and Reuse: The Key to ESL Ashok B. Mehta Senior Manager (DTP/SJDMP) TSMC Technology, Inc. Mark Glasser.
MS-SoC Best Practices – Advanced Modeling & Verification Techniques for first-pass success By Neyaz Khan Greg Glennon Dan Romaine.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
Universal Verification Methodology (UVM) Benefits Mustafa Khairallah Boost Valley Boost Valley Consulting 1.
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
Churning the Most Out of IP-XACT for Superior Design Quality Ayon Dey Lead Engineer, TI Anshuman Nayak Senior Product Director, Atrenta Samantak Chakrabarti.
VerificationTechniques for Macro Blocks (IP) Overview Inspection as Verification Adversarial Testing Testbench Design Timing Verification.
Robust Low Power VLSI R obust L ow P ower VLSI Memory Management Units for Instruction and Data Cache for OR1200 CPU Core Arijit Banerjee ASIC/SOC Class.
Simulation Management. Pass or Fail? Managing Simulations Regression Behavioral Models.
Workshop - November Toulouse Ronan LUCAS - Magillem Design Services 07/04/2011.
RM2D Let’s write our FIRST basic SPIN program!. The Labs that follow in this Module are designed to teach the following; Turn an LED on – assigning I/O.
1 Interconnection Networks and Scalable Crossbars Prof. U. Brüning Computer Architecture Group Institute of Computer Engineering University of Mannheim.
EUDET Report - MICELEC Activities Design Tools Status.
High-Level Interconnect Architectures for FPGAs An investigation into network-based interconnect systems for existing and future FPGA architectures Nick.

1 Integration Verification: Re-Create or Re-Use? Nick Gatherer Trident Digital Systems.
Test and Verification Solutions121 st April 2010 Integrating Ethernet CMS with Internal Verification Environments Cadence Verification Challenge, Bristol,
Some Course Info Jean-Michel Chabloz. Main idea This is a course on writing efficient testbenches Very lab-centric course: –You are supposed to learn.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
New and active ways to bind to your design by Kaiming Ho Fraunhofer IIS.
CHIPIX65/RD53 collaboration
Copyright © 2002 Qualis Design Corporation Industry and Textbook Overview Qualis Design Corporation PO Box 4444 Beaverton, Oregon USA Phone:
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
SoC Verification HW #2 TA: Wei-Ting Tu Assignment: 04/12/06
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
SystemVerilog. History Enhancement of Verilog Enhancement of Verilog 2002 – accellera publishes SystemVerilog – accellera publishes SystemVerilog.
A Light-Weight C/C++ Based Tool for Hardware Verification Alexander Kamkin CTestBench Institute for System Programming of the Russian.
SystemVerilog and UVM for the ABC system verification Francis Anghinolfi 14 Nov 2013 SystemVerilog MiniWorkshop.
Robust Low Power VLSI ECE 7502 S2015 Evaluation of Coverage-Driven Random Verification ECE 7502 – Project Presentation Qing Qin 04/23/2015.
1 SystemVerilog Enhancement Requests Daniel Schostak Principal Engineer February 26 th 2010.
Language Concepts Ver 1.1, Copyright 1997 TS, Inc. VHDL L a n g u a g e C o n c e p t s Page 1.
The Macro Design Process The Issues 1. Overview of IP Design 2. Key Features 3. Planning and Specification 4. Macro Design and Verification 5. Soft Macro.
Boost Verification Results by Bridging the Hw/Sw Testbench Gap by Matthew Ballance Verification Technologist Mentor Graphics.
CMS Phase 2 Pixel Electronics meeting – 27/01/2015 Status and plans of pixel electronics simulation framework Elia Conti – PH-ESE.
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
© 2005 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU HDL Co-Simulation.
Acquisition Crate Design BI Technical Board 26 August 2011 Beam Loss Monitoring Section William Vigano’ 26 August
Hardware languages "Programming"-language for modelling of (digital) hardware 1 Two main languages: VHDL (Very High Speed Integrated Circuit Hardware Description.
Macro Verification Guidelines Chapter 7.. Chap 7. Macro Verification Guidelines The goal of macro verification The macro is 100 percent correct in its.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
SVA Encapsulation in UVM enabling phase and configuration aware assertions by Mark Litterick Verification Consultant Verilab GmbH, Munich, Germany.
Sensor testing and validation plans for Phase-1 and Ultimate IPHC_HFT 06/15/ LG1.
Non-Determinism In C and RTL Models ICCAD 2006 – Ira Chayut, Verification Architect.
Logic Synthesis assign z=a&b a b z What is Synthesis synthesis /sinth siss/ noun ( pl. syntheses /sinth seez/) 1 the combination of components to form.
Exploiting Architecture For Verification Dave Whipp.
Progress on Pixel Region Optimization and SystemVerilog Simulation Phase 2 Pixel Electronics Meeting – Progress on Pixel Region Optimization and SystemVerilog.
VeloPix: The Pixel ASIC for the LHCb VELO Upgrade Kurt Rinnert (University of Liverpool) On behalf of the LHCb VELO group VERTEX 2015, Santa Fe,
UPDATE ON CLICPIX2 DESIGN Pierpaolo Valerio Edinei Santin
RTL Hardware Design by P. Chu Chapter 9 – ECE420 (CSUN) Mirzaei 1 Sequential Circuit Design: Practice Shahnam Mirzaei, PhD Spring 2016 California State.
Zero–suppressed FIFO architecture: functionality and performance Sara Marconi, Pisana Placidi.
Verification Environment for a Simple Pixel Chip Model Pixel Phase 2 Electronics Meeting during TK Week – E. Conti *, P. Placidi *, S. Marconi.
EE694v - Verification - Lect 12
Gopakumar.G Hardware Design Group
Digital readout architecture for Velopix
Stitching UVM Test benches into Integration-Level
Stitching UVM Test benches into Integration-Level
Verification Reuse Simple (relatively) reuse: Difficult reuse
SystemVerilog for Verification
Srinivas Aluri Jaimin Mehta
Lecture 9: Testbench and Division
SystemVerilog and Verification
Preliminary design of the behavior level model of the chip
Presentation transcript:

Architecture optimization and design verification of the Timepix3 and the Velopix pixel ASICs Tuomas Poikela (TUCS/CERN) SV/UVM Mini workshop

Outline  Introduction (Pixel chip & TLM)  Architecture optimization  Transaction level model (TLM)  Integration with verification environment  Design verification  Reusing modeling framework  Testbench architecture  Assertions SV/UVM workshop T. Poikela2

Introduction  Techniques presented here used in two pixel ASIC projects: Timepix3 and Velopix  256x256 pixel ASICs with 55um x 55um pitch, designed using 130nm CMOS  Timepix3 has been manufactured and tested to work (characterization not fully done yet)  Velopix is still a work in progress, but the design is very well advanced SV/UVM workshop T. Poikela3

Pixel readout chip interfaces Slow control Input interface (sensor/ discriminators) Pixel matrix (active area) Data outputs TFC (reset, sync, etc.) Periphery SV/UVM workshop T. Poikela4

TLM notation Get-interface Put-interface Bit-level interface Analysis- interface Components (agents, scoreboards, BFMs…) Initiator port Target port/export SV/UVM workshop T. Poikela5

ARCHITECTURE OPTIMIZATION SV/UVM workshop T. Poikela6

Testbench for optimization Input agent Input agent Pixel ASIC TLM DUT ( ovm_component ) Pixel ASIC TLM DUT ( ovm_component ) Output agent TLM Scoreboard Test class ( ovm_test ) Sequence library Configuration object SV/UVM workshop T. Poikela7 Discriminator interface Output data interface

Pixel ASIC TLM Pixel ASIC TLM DUT ( ovm_component ) Virtual router Virtual router Column 0 Column 1 Column 1 Column N Periphery Bus Arbiter Not all TLM ports/components shown inside the periphery. FIFO Output block Each port specialized for packet transaction SV/UVM workshop T. Poikela8 All components modelled as ovm_component s. All components modelled as ovm_component s.

Transaction definition Each TLM port in TLM model specialized with TPX2PacketTransaction SV/UVM workshop T. Poikela9

TLM Framework SV/UVM workshop T. Poikela10 Sequence & test libraryComponent library Arbiter base Arbiter base Token Arbiter Token Arbiter Column Base Column Base SuperPixel Column Pixel Column Pixel Column PeripheryBase EoCBase EoC Arbitrated EoC Arbitrated ColumnBus PeripheryBus ChipBase Chip0 Chip1 extends BaseSeq class TestBase; ChipBase chip; BaseSeq seq; Random Seq Monte CarloSeq Class Test0 extends TestBase; Class Test1 extends TestBase; set_type_override( ChipBase, Chip0) set_type_override( ChipBase, Chip1) set_type_override( BaseSeq, RandomSeq)

Different modeling approach (non- TLM/OVM) SV/UVM workshop T. Poikela11 class TopLevelSim; Pixel Matrix Periphery module TopLevel_tb; Packet creator Monte Carlo data Constrained Random Data generator Constrained Random Data generator (Ideally one object at top-level) Packet Pool Packet Pool Scoreboard Result extraction TopLevelSim simulation = new; initial simulation.run(); Chip model List of packets

Simulation main loop SV/UVM workshop T. Poikela12 Completely untimed style  Can use C++ as well  Seems to be 4-8 x faster than TLM model Can add timing by using #25ns; No performance loss.

DESIGN VERIFICATION SV/UVM workshop T. Poikela13

RTL Verification Environment Input agent Input agent Pixel Trans- actor Output agent Slow Control Agent Slow Control Agent TFC Agemt TFC Agemt RTL Scoreboard (hierarchical) Configura tion registers Register updater Register updater Output Trans- actor Pixel ASIC RTL DUT Pixel ASIC RTL DUT Conver ter Test class ( ovm_test ) Configuration Virtual Sequencer Virtual Sequencer SV/UVM workshop T. Poikela14

Test base class SV/UVM workshop T. Poikela15 Test base class Actual, derived test

Scoreboard block diagram RTL Scoreboard (hierarchical) Datapath scoreboard Packet generator Write Implem. Write Implem. Control packet scoreboard Slow control Scoreboard Slow control Scoreboard Configura tion registers SV/UVM workshop T. Poikela16 Black box view White box view ErrorDB PacketDB Checker

Configuration registers  Created in test class  Passed to components inside a config object  Each register is an ovm_object, has a coverage model  Only handful of registers but > 800 LOCs of SV (excluding drivers, macros etc.) SV/UVM workshop T. Poikela17 Configuration registers, ovm_object Pixels PLL General Output block Output block Test pulse Power pulsing Power pulsing Analog config Analog config Register package + register typedefs Typedef struct {… …} PixelReg_t; + register typedefs Typedef struct {… …} PixelReg_t;

Assertions – using macros Source: C. E. Cummings. SystemVerilog Assertions Design Tricks and SVA Bind Files SV/UVM workshop T. Poikela18

Assertions cont’d SV/UVM workshop T. Poikela19 No error. Data stable 1 clock before and after. No error. Data stable 1 clock before and after. ERROR. Data changed 1 clock before req. ERROR. Data changed 1 clock before req. ERROR. Data changed 1 clock after req. ERROR. Data changed 1 clock after req.

Scripting flow Test library + verif. environment Test library + verif. environment Top-level modules Top-level modules IUS simulation scripts -one per module IUS simulation scripts -one per module IUS compilation scripts IUS compilation scripts System Verilog code Simulator Shell PERL script Test list 0 Test list N regress.pl work_dir0 work_dir1 work_dirN./regress.pl -f ius_script.f -t test_list_N.t Sequence library Coverage Master log file Run 0 log file Run N log file Simulations logs Results SV/UVM workshop T. Poikela20

Concluding remarks  Few use cases of SV + OVM have been presented  Modeling of a pixel chip  RTL verification: Testbench structure using OVM  Plan is to move to UVM for Velopix (and maybe change the high-level model from TLM/OVM to pure SV)  Use assertions! SV/UVM workshop T. Poikela21

THANK YOU FOR THE ATTENTION! SV/UVM workshop T. Poikela22