Automated Generation of the Register Set of a SOC and its Verification Environment K. Poulos, K. Adaos, G.P. Alexiou Dept. of Computer Engineering and.

Slides:



Advertisements
Similar presentations
Presenter : Shao-Chieh Hou VLSI Design, Automation and Test, VLSI-DAT 2007.
Advertisements

Hub The Only Co-Simulation Tool of Its Kind on the Market The Only Co-Simulation Tool of Its Kind on the Market.
COE 405 VHDL Basics Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman H. El-Maleh Computer Engineering.
PROGRAMMABLE PERIPHERAL INTERFACE -8255
Reporter :LYWang We propose a multimedia SoC platform with a crossbar on-chip bus which can reduce the bottleneck of on-chip communication.
Internal Logic Analyzer Final presentation-part B
EEE226 MICROPROCESSORBY DR. ZAINI ABDUL HALIM School of Electrical & Electronic Engineering USM.
HW/SW Interface Management thru Automated Register Specification Anupam Bakshi Engineering Director Agnisys Technology Pvt. Ltd.
Asynchronous Pipelined Ring Interconnection for SoC Final Presentation One semester project, Spring 2005 Supervisor: Nitzan Miron Students: Ziv Zeev Shwaitser.
Configurable System-on-Chip: Xilinx EDK
Computer Architecture: Intro Anatomy of a CPU J. Schmalzel S. Mandayam.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
1 Mid-term Presentation Implementation of generic interface To electronic components via USB2 Connection Supervisor Daniel Alkalay System architectures.
Presented By Chandra Shekar Reddy.Y 11/5/20081Computer Architecture & Design.
Chapter 17 Microprocessor Fundamentals William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper.
Lecture #6 Page 1 Lecture #6 Agenda 1.VHDL - Architecture 2.VHDL - Packages Announcements 1.HW #3 assigned ECE 4110– Sequential Logic Design.
Cortex-M3 Debugging System
1 Presenter: Ming-Shiun Yang Sah, A., Balakrishnan, M., Panda, P.R. Design, Automation & Test in Europe Conference & Exhibition, DATE ‘09. A Generic.
® ChipScope ILA TM Xilinx and Agilent Technologies.
Computer Organization
Intel
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Workshop - November Toulouse Ronan LUCAS - Magillem Design Services 07/04/2011.
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
SOC Consortium Course Material ASIC Logic National Taiwan University Adopted from National Chiao-Tung University IP Core Design.
Presented by : Maya Oren & Chen Feigin Supervisor : Moshe Porian Lab: High Speed Digital System One Semester project – Spring
3-1 Digital I/O A group of I/O pins is called a PORT  A port is where data enters/leaves the system. Digital I/O pins are usually grouped into 8,16 or.
Interrupts and DMA CSCI The Role of the Operating System in Performing I/O Two main jobs of a computer are: –Processing –Performing I/O manage and.
Computer Architecture and Organization Introduction.
Extreme Makeover for EDA Industry

Microprocessor Dr. Rabie A. Ramadan Al-Azhar University Lecture 2.
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
EKT 422 Computer Architecture
SoC Verification HW #2 TA: Wei-Ting Tu Assignment: 04/12/06
Chapter 1 Introduction. Architecture & Organization 1 Architecture is those attributes visible to the programmer —Instruction set, number of bits used.
GRECO - CIn - UFPE1 A Reconfigurable Architecture for Multi-context Application Remy Eskinazi Sant´Anna Federal University of Pernambuco – UFPE GRECO.
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.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Boost Verification Results by Bridging the Hw/Sw Testbench Gap by Matthew Ballance Verification Technologist Mentor Graphics.
Chuck Benz ASIC & FPGA Design csrGen: Automated CSRs for ASIC/FPGA Processor Interfaces Chuck Benz Chuck Benz ASIC & FPGA Design
Computer Organization & Assembly Language © by DR. M. Amer.
NAND Flash Failure Behavior Sponsored By Micron Technology Inc.
Describing target hardware in debuggers Aaron Spear DEBUG TECHNOLOGIES ARCHITECT ACCELERATED TECHNOLOGY DIVISION Feb 2006 DSDP Meeting/Toronto.
Final Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
PROGRAMMABLE PERIPHERAL INTERFACE -8255
Proposal for an Open Source Flash Failure Analysis Platform (FLAP) By Michael Tomer, Cory Shirts, SzeHsiang Harper, Jake Johns
IT3002 Computer Architecture
LAB 3 – Synchronous Serial Port Design Using Verilog
Lecture 4 General-Purpose Input/Output NCHUEE 720A Lab Prof. Jichiang Tsai.
Mini scope one semester project Project final Presentation Svetlana Gnatyshchak Lior Haiby Advisor: Moshe Porian Febuary 2014.
8255:Programmable Peripheral Interface
Aditya Dayal M. Tech, VLSI Design ITM University, Gwalior.
MICROPROCESSOR AMARTYA ROY-72 ANGSHUMAN CHATTERJEE-80 ASHISH LOHIA-70 MOLOY CHAKRABORTY-60.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ read/write and clock inputs Sequence of control signal combinations.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Gopakumar.G Hardware Design Group
Prototyping SoC-based Gate Drive Logic for Power Convertors by Generating code from Simulink models. Researchers Rounak Siddaiah, Graduate Student-University.
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Programming Languages
ECEG-3202 Computer Architecture and Organization
ECEG-3202 Computer Architecture and Organization
Srinivas Aluri Jaimin Mehta
Computer Systems An Introducton.
Executable Specifications
Presentation transcript:

Automated Generation of the Register Set of a SOC and its Verification Environment K. Poulos, K. Adaos, G.P. Alexiou Dept. of Computer Engineering and Informatics Univ. of Patras, Greece 18th Panhellenic Conference on Informatics

Introduction System Environment UVM Register Layer Register Field Template Register File Template Register Generation Procedure Examples Conclusion – Current Work 26-Nov-151Dept. of Computer Engineering and Informatics, Univ. of Patras Agenda

Part of System-on-Chip Platform for Research and Education Result of a graduate thesis in the VLSI Lab of CEID. Target: Develop an automated tool that a)Generates the synthesizabe set of the registers of a SOC b)Generates its verification environment c)Be compliant with design and verification standards Introduction 26-Nov-152Dept. of Computer Engineering and Informatics, Univ. of Patras

System Environment 26-Nov-153Dept. of Computer Engineering and Informatics, Univ. of Patras The register file enables the parts of the system to communicate and control each other.

System Environment 26-Nov-154Dept. of Computer Engineering and Informatics, Univ. of Patras The register file enables the parts of the system to communicate and control each other. – A processor or a HOST system can change the behavior of the SOC

System Environment 26-Nov-155Dept. of Computer Engineering and Informatics, Univ. of Patras The register file enables the parts of the system to communicate and control each other. – A processor or a HOST system can change the behavior of the SOC – Peripherals return data and status

UVM is the industry standard for verification Object Oriented, Based on SystemVerilog Provides a set of predefined agents to control and monitor the bahavior of the DUV Constraint Randomization Techniques UVM Register Layer 26-Nov-156Dept. of Computer Engineering and Informatics, Univ. of Patras

UVM Register Layer is a part of the UVM spec – Models the behavior of the registers of a SOC/HW design based on their properties – Enables frontdoor/backdoor access to the registers during verification – With predefined operations, the user can bypass/omit HW components and focus on the peripheral operation Our tool supports registers named after the UVM register layer => Consistent view of design and verification process. UVM Register Layer 26-Nov-157Dept. of Computer Engineering and Informatics, Univ. of Patras

A generic register template is utilized with an interface that is common in all fields Two access ports: – Bus Port (activated during bus operations) – HW Port (driven by a HW module/state machine). Differentiation is done internally based on the register’s properties Register Field Template 26-Nov-158Dept. of Computer Engineering and Informatics, Univ. of Patras SignalDirectionDescription reset_ninputAsynchronous reset input (active low) clkinputClock input sresetinputSynchronous reset signal (active high) bus_reinputRead enable for the bus bus_weinputWrite enable for the bus bus_dininputData input for the bus hw_weinputWrite enable input for HW blocks hw_dininputData input for the HW blocks qoutputRegister Output bus_doutoutputData output for the bus.

Differentiation is done internally based on the properties of the processor port Register Field Template 26-Nov-159Dept. of Computer Engineering and Informatics, Univ. of Patras Field Typebus we bus din hw we hw din bus re bus dout RO  RW  RC  RS  WRC  WRS  WC   WS   WSRC   WCRS   W1C  W1S  W1T  W0C  W0S  W1SRC  W1CRS  W0SRC  W1CRS  WO  WOC   WOS  

RO : A read only register can be written by HW blocks (via signals hw_we and hw_din) and can only be read by the Bus of the System (via ports bus_re and bus_dout) Register Field Template 26-Nov-1510Dept. of Computer Engineering and Informatics, Univ. of Patras Field Typebus we bus din hw we hw din bus re bus dout RO  RW  RC  RS  WRC  WRS  WC   WS   WSRC   WCRS   W1C  W1S  W1T  W0C  W0S  W1SRC  W1CRS  W0SRC  W1CRS  WO  WOC   WOS  

Register Field Template 26-Nov-1511Dept. of Computer Engineering and Informatics, Univ. of Patras Field Typebus we bus din hw we hw din bus re bus dout RO  RW  RC  RS  WRC  WRS  WC   WS   WSRC   WCRS   W1C  W1S  W1T  W0C  W0S  W1SRC  W1CRS  W0SRC  W1CRS  WO  WOC   WOS   Other register field types model other common HW operations: – W1C: To clear the register, the processor has to write logic-1 (for example for clearing an interrupt flag).

Register Field Template 26-Nov-1512Dept. of Computer Engineering and Informatics, Univ. of Patras Field Typebus we bus din hw we hw din bus re bus dout RO  RW  RC  RS  WRC  WRS  WC   WS   WSRC   WCRS   W1C  W1S  W1T  W0C  W0S  W1SRC  W1CRS  W0SRC  W1CRS  WO  WOC   WOS   RW : A Read/Write field uses all ports

Register Field Code example 26-Nov-1513Dept. of Computer Engineering and Informatics, Univ. of Patras Field Typebus we bus din hw we hw din bus re bus dout RO  RW  RC  RS  WRC  WRS  WC   WS   WSRC   WCRS   W1C  W1S  W1T  W0C  W0S  W1SRC  W1CRS  W0SRC  W1CRS  WO  WOC   WOS  

AHB Register File Architecture 26-Nov-1514Dept. of Computer Engineering and Informatics, Univ. of Patras A register consists of one or more register fields. The AHB bus interface logic adapts the AHB bus signals to the bus access signals (bus_we, bus_re, bus_din, bus_dout). By changing only the bus interface logic we can support bus standards different than the AHB.

Register File Generation 26-Nov-1515Dept. of Computer Engineering and Informatics, Univ. of Patras Generation is based on three input files Register File Desciption (the only file defined by the user) A predesigned Register Field Template A predesigned Register File Template

Register File Generation 26-Nov-1516Dept. of Computer Engineering and Informatics, Univ. of Patras The generator provides three outputs A synthesizable system verilog file with the register file description A C header file (compatible with GNU compilers) The description of the register file according to UVM register layer to be used for verification

Register File Description File 26-Nov-1517Dept. of Computer Engineering and Informatics, Univ. of Patras Name Position - Width Address Type Reset Value Comment (optional)

Register File Description File 26-Nov-1518Dept. of Computer Engineering and Informatics, Univ. of Patras Text Based: Easily Integrates in a Version Control System (we use git) Available parsers can also support spreadsheet files (Microsoft xls or OpenOffice)

Example 26-Nov-1519Dept. of Computer Engineering and Informatics, Univ. of Patras Simple microcontroller (175 total register bits)

Example 26-Nov-1520Dept. of Computer Engineering and Informatics, Univ. of Patras Simple microcontroller (175 total register bits)

Example 26-Nov-1521Dept. of Computer Engineering and Informatics, Univ. of Patras Simple microcontroller (175 total register bits) AreaSpeed TechnologyXilinx Spartan3A UMC 180nXilinx Spartan3A UMC 180n Total Design Area 5,049 LUTs42 K gates50 MHz142 MHz Register File Area 281 LUTs2.72 K gates122 MHz398 MHz

Support of extra register fields and types Support of additional bus standards (Wishbone, APB, AXI) GUI support Extend automation in other SOC components Current Work 26-Nov-1522Dept. of Computer Engineering and Informatics, Univ. of Patras

26-Nov-1523Dept. of Computer Engineering and Informatics, Univ. of Patras Automated Generation of the Register Set of a SOC and its Verification Environment