HW/SW Interface Management thru Automated Register Specification Anupam Bakshi Engineering Director Agnisys Technology Pvt. Ltd.

Slides:



Advertisements
Similar presentations
Issue 1 It can be argued that the complexity problem associated with the current IP control plane has arisen because of ever evolving network service requirements.
Advertisements

IP-XACT and Eclipse DSPD VPP launch meeting
purpose Search : automation methods for device driver development in IP-based embedded systems in order to achieve high reliability, productivity, reusability.
Provenance-Aware Storage Systems Margo Seltzer April 29, 2005.
Presenter : Shao-Chieh Hou VLSI Design, Automation and Test, VLSI-DAT 2007.
Sundanc e High-tech DSP solutions. Giving you the freedom to design Multiprocessor Technology Ltd SOFTWARE UTILITY TOOLS.
Productivity Tools For SAS . SAS ® users today ASAP ™Enhancement complementSoft introduces ASAP ™ an innovative productivity tool for SAS ® Diagramming.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
Evolution and History of Programming Languages Software/Hardware/System.
LOGO HW/SW Co-Verification -- Mentor Graphics® Seamless CVE By: Getao Liang March, 2006.
Thammanoon Kawinfruangfukul CSSE MS, ID:
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Hot Chips 16August 24, 2004 OptimoDE: Programmable Accelerator Engines Through Retargetable Customization Nathan Clark, Hongtao Zhong, Kevin Fan, Scott.
EECS 249 Dec 4, 1999 Extending POLIS with User Defined Data Types Arvind Thirunarayanan Extending POLIS with User Defined Data Types Arvind Thirunarayanan.
PCIe 2.0 Base Specification Protocol And Software Overview
–Streamline / organize Improve readability of code Decrease code volume/line count Simplify mechanisms Improve maintainability & clarity Decrease development.
Churning the Most Out of IP-XACT for Superior Design Quality Ayon Dey Lead Engineer, TI Anshuman Nayak Senior Product Director, Atrenta Samantak Chakrabarti.
Introduction to Android Platform Overview
Curtis H.K. Tsang, Clarence S.W. Lau and Y.K. Leung
Role of Standards in TLM driven D&V Methodology
CYPRESS PNSQC (15-17 Oct. 2001) 1 Testing a Bluetooth Product With Web and Embedded Software Rick Clements cypress.com Cypress Semiconductors 9125.
1 Chapter 2. The System-on-a-Chip Design Process Canonical SoC Design System design flow The Specification Problem System design.
The FIX Protocol as an Effective Solution for Algorithmic Trading Kevin Houstoun, Co-chair FPL Global Technical Committee, Consultant to HSBC.
Workshop - November Toulouse Ronan LUCAS - Magillem Design Services 07/04/2011.
4/22/20031 Data Interchange Initiative Lower the Barrier of Entry to B2B eBusiness Prepared by Bennet Pang
SOC Consortium Course Material ASIC Logic National Taiwan University Adopted from National Chiao-Tung University IP Core Design.
Jozef Stefan Institute Program Generators and Control System Software Development Klemen Žagar Anže.
11 Using SPIRIT for describing systems to debuggers DSDP meeting February 2006 Hobson Bullman – Engineering Manager Anthony Berent – Debugger Architect.
1 Integration Verification: Re-Create or Re-Use? Nick Gatherer Trident Digital Systems.
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
System Design with CoWare N2C - Overview. 2 Agenda q Overview –CoWare background and focus –Understanding current design flows –CoWare technology overview.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
NIOS II Ethernet Communication Final Presentation
Hardware-software Interface Xiaofeng Fan
REGISTER MANAGEMENT TOOL Preformed by: Liat Honig Nitzan Carmel Supervisor: Moshe Porian Date: 24/11/2011, winter semester 2011 Duration: One semester.
Chuck Benz ASIC & FPGA Design csrGen: Automated CSRs for ASIC/FPGA Processor Interfaces Chuck Benz Chuck Benz ASIC & FPGA Design
Formalizing Hardware/Software Interface Specifications
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Describing target hardware in debuggers Aaron Spear DEBUG TECHNOLOGIES ARCHITECT ACCELERATED TECHNOLOGY DIVISION Feb 2006 DSDP Meeting/Toronto.
MODUS Project FP7- SME – , Eclipse Conference Toulouse, May 6 th 2013 Page 1 MODUS Project FP Methodology and Supporting Toolset Advancing.
BridgePoint Integration John Wolfe / Robert Day Accelerated Technology.
UML MARTE Time Model for Spirit IP-XACT Aoste Project INRIA Sophia-Antipolis.
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.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
1 Embedded Computer System Laboratory Systematic Embedded Software Gerneration from SystemC.
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
Final Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
Workshop - November Toulouse Astrium Use Case.
SOC Virtual Prototyping: An Approach towards fast System- On-Chip Solution Date – 09 th April 2012 Mamta CHALANA Tech Leader ST Microelectronics Pvt. Ltd,
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
Reduce Development and Testing Time on Embedded Space Programs With Auto- Generated Code Software Engineer Northrop Grumman Electronic Systems Matthew.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Los Alamos National Laboratory Streams-C Maya Gokhale Los Alamos National Laboratory September, 1999.
ISCUG Keynote May 2008 Acknowledgements to the TI-Nokia ESL forum (held Jan 2007) and to James Aldis, TI and OSCI TLM WG Chair 1 SystemC: Untapped Value.
Design with Vivado IP Integrator
SEPTEMBER 8, 2015 Computer Hardware 1-1. HARDWARE TERMS CPU — Central Processing Unit RAM — Random-Access Memory  “random-access” means the CPU can read.
Software tools for digital LLRF system integration at CERN 04/11/2015 LLRF15, Software tools2 Andy Butterworth Tom Levens, Andrey Pashnin, Anthony Rey.
April 15, 2013 Atul Kwatra Principal Engineer Intel Corporation Hardware/Software Co-design using SystemC/TLM – Challenges & Opportunities ISCUG ’13.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
System-on-Chip Design
Integrating MBSE into a Multi-Disciplinary Engineering Environment A Software Engineering Perspective Mark Hoffman 20 June 2011 Copyright © 2011 by Lockheed.
CMPE419 Mobile Application Development
Matlab as a Development Environment for FPGA Design
CMPE419 Mobile Application Development
Executable Specifications
Presentation transcript:

HW/SW Interface Management thru Automated Register Specification Anupam Bakshi Engineering Director Agnisys Technology Pvt. Ltd. Embedded Systems Conference Noida, India. 2008

Agenda Introduction Introduction HW design process HW design process The Problem The Problem Possible Solutions Possible Solutions Q&A Q&A

Introduction

4 SoC/FPGA designs today Ever increasing design complexity Ever increasing design complexity –IP (in-house/3 rd party)  Integration : 30% of total development cycle* –Verification  60% of total development effort* Increased Cost Increased Cost –80% cost is head-count related* TTM pressures TTM pressures –89% of designs go over deadline by avg. 44% Parallel software development Parallel software development *Source: Spirit/NXP Dec 2007

FPGA/SoC System overview Device Driver, OS Kernel Device Driver, OS Kernel Creates Hardware abstraction Creates Hardware abstraction Uses Hardware Protocols Uses Hardware Protocols –AMBA (AHB, APB) –OCP-IP –Proprietary HW/SW Interface Hardware Protocol Software API Software Application Configuration Registers Hardware

System Design Process HW/SW Interface Hardware Protocol Software API Software Application Configuration Registers Hardware Functional specification Partitioning Integration Correction iteration

System Design Process Hardware Design Hardware Verification System Diagnostics/Firmware Application Software Spec VHDL Programming guide or MS excel file C/C++ Header

Canonical Hardware System

Hardware Registers Hardware contains many Registers Hardware contains many Registers –100s : Control applications –1000s : Image Processing applications Registers Used for Registers Used for –Configurations –Control –Status Why focus on Registers? Why focus on Registers? –Ubiquitous and essential –Wide spread impact/ Quick ROI –Low hanging fruit! –Effects not just the hardware but software, firmware, …

The Problem

The Domino effect in HW design

The problem Many representations of the same register information Many representations of the same register information –Functional SpecificationMS Word/Frame –HW Design VHDL/Verilog –HW Programming GuideMS Word/Excel –Verification Environment HVL/TCL –FirmwareC/C++ header –DiagnosticsC/C++ header –Application SoftwareC/C++ header

Problem Description (contd.) Problems with Register descriptions in multiple places: Problems with Register descriptions in multiple places: –Time consuming to create –Additions/Changes are problematic –Error prone –Monotonous work Longer debug time Longer debug time Longer Hardware/Software integration times. Longer Hardware/Software integration times.

Problem Description (contd.) 1. Number of register is large 2. Changes are inevitable during design process –Add/remove registers –Register definition/bit fields –Register location –Register type (r, r/w, w1c, …) –Register implementation

Possible Solutions

What if we have … One specification for all registers One specification for all registers All representations generated from the single source All representations generated from the single source

Possible solutions Single description for all registers Single description for all registers –SPIRIT –SystemRDL Implementation Implementation –GUI based tools –Eclipse based tools –Editor based tools

SPIRIT Unified set of specification based on IP meta-data Unified set of specification based on IP meta-data – Called IP-XACT Called IP-XACT –XML Schema –Language neutral Comprehensive data Comprehensive data –Components, Registers, Address spaces, … –Bus definitions, Ports, …

SPIRIT Register description status Status register 0x4 32 true read-only dataReady Indicates that new data is available in the receiver holding register 0 1 read-only

SystemRDL Open specification Open specification – Textual Textual non-XML based non-XML based New language New language Donated to Spirit Donated to Spirit Reg chip1 { name = “some reg”; desc = “some desc”; field { hw = w; sw = r} f1[7:0] = 8’d5; field { hw = r; sw = w} f2[15:8] = 8’d10; … } Addresmap blk1_admap { name = “blk1 address map in chip1”; chip1 }

Automation Automation in System Design Hardware Design Hardware Verification System Diagnostics/Firmware Application Software Register Spec RTL C/C++ Header Documentation Programmer’s guide Memory map

Automation in System Design (contd.) Register Spec Synthesizable RTL Documentation (HTML/Word) C/C++ Header Verification tests C++ Classes Diagnostic tests Mnemonic/hex address mapping Auto Future Generators

Benefits of Auto Register generation Fast Fast Consistent Consistent Correct by construction Correct by construction Standardized VHDL and C++ code Standardized VHDL and C++ code Complete, in-sync documentation Complete, in-sync documentation Automatic register R/W tests Automatic register R/W tests Helps reusability Helps reusability

C/C++ Header file typedef struct { union { union { Newman_ColdfireInterface_s s; Newman_ColdfireInterface_s s; hwi_uint32 filler[0x200]; hwi_uint32 filler[0x200]; } ColdfireInterface; } ColdfireInterface; union { union { reusememblock_s s; reusememblock_s s; hwi_uint32 filler[0x200]; hwi_uint32 filler[0x200]; } reusememblock; } reusememblock; union { union { Newman_FrameBuffers_s s; Newman_FrameBuffers_s s; hwi_uint32 filler[0x200]; hwi_uint32 filler[0x200]; } FrameBuffers; } FrameBuffers; union { union { Newman_genlock_s s; Newman_genlock_s s; hwi_uint32 filler[0x200]; hwi_uint32 filler[0x200]; } genlock; } genlock; union { union { Newman_VideoCapture_s s; Newman_VideoCapture_s s; hwi_uint32 filler[0x200]; hwi_uint32 filler[0x200]; } VideoCapture; } VideoCapture; : :

HTML output

Conclusion Manually creating multiple views of registers is inefficient. Manually creating multiple views of registers is inefficient. Automation enables us to maintain a single source of register specification. Automation enables us to maintain a single source of register specification. Automation streamlines the whole process with better Hardware/Software Integration, Diagnostics and Verification Automation streamlines the whole process with better Hardware/Software Integration, Diagnostics and Verification

Q/A