IP/SoC integration techniques that work

Slides:



Advertisements
Similar presentations
Getting ready for day 2 Yesterday’s tree was moved to NetFPGA-10G-live-BACKUP-Day1/ IF you edited code cp NetFPGA-10G-live-BACKUP-Day1/projects/crypto_nic/hw/
Advertisements

Autodesk Integrations Overview SmartDesk A seamlessly integrated, affordable, out-of-the-box, Windows based drawing and document management tool for.
Presenter : Shao-Chieh Hou VLSI Design, Automation and Test, VLSI-DAT 2007.
Standard Interfaces for FPGA Components Joshua Noseworthy Mercury Computer Systems Inc.
Copyright  2003 Dan Gajski and Lukai Cai 1 Transaction Level Modeling: An Overview Daniel Gajski Lukai Cai Center for Embedded Computer Systems University.
Computer Science & Engineering
Systematic method for capturing “design intent” of Clock Domain Crossing (CDC) logic in constraints Ramesh Rajagopalan Cisco Systems.
MotoHawk Training Model-Based Design of Embedded Systems.
Component-Level Design
Configurable System-on-Chip: Xilinx EDK
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
© Copyright Eliyahu Brutman Programming Techniques Course.
DITSCAP Phase 2 - Verification Pramod Jampala Christopher Swenson.
Educational Computer Architecture Experimentation Tool Dr. Abdelhafid Bouhraoua.
Storage Networking Technologies and Virtualization Section 2 DAS and Introduction to SCSI1.
Churning the Most Out of IP-XACT for Superior Design Quality Ayon Dey Lead Engineer, TI Anshuman Nayak Senior Product Director, Atrenta Samantak Chakrabarti.
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
Role of Standards in TLM driven D&V Methodology
Effective Methods for Software and Systems Integration
1 Chapter 2. The System-on-a-Chip Design Process Canonical SoC Design System design flow The Specification Problem System design.
OCP: Open Core Protocol Marta Posada ESA/ESTEC June 2006.
WorkPlace Pro Utilities.
SOC Consortium Course Material ASIC Logic National Taiwan University Adopted from National Chiao-Tung University IP Core Design.
Reporter: PCLee. Assertions in silicon help post-silicon debug by providing observability of internal properties within a system which are.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
1 Computer System Overview Chapter 1. 2 n An Operating System makes the computing power available to users by controlling the hardware n Let us review.
An Introduction to Software Architecture
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
CAD Techniques for IP-Based and System-On-Chip Designs Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {
Chapter 5 Section 2 : Storage Networking Technologies and Virtualization.
11 Using SPIRIT for describing systems to debuggers DSDP meeting February 2006 Hobson Bullman – Engineering Manager Anthony Berent – Debugger Architect.
Intelligent Interleaving of Scenarios: A Novel Approach to System Level Test Generation Shady Copty, Itai Jaeger(*), Yoav Katz, Michael Vinov IBM Research.
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.
OOI CI LCA REVIEW August 2010 Ocean Observatories Initiative OOI Cyberinfrastructure Architecture Overview Michael Meisinger Life Cycle Architecture Review.
MERCURY BUSINESS PROCESS TESTING. AGENDA  Objective  What is Business Process Testing  Business Components  Defining Requirements  Creation of Business.
Copyright © Bluespec Inc Bluespec SystemVerilog™ Design Example A DMA Controller with a Socket Interface.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
© 2004 Mercury Computer Systems, Inc. FPGAs & Software Components Graham Bardouleau & Jim Kulp Mercury Computer Systems, Inc. High Performance Embedded.
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.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
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.
- 1 - ©2009 Jasper Design Automation ©2009 Jasper Design Automation JasperGold for Targeted ROI JasperGold solutions portfolio delivers competitive.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Way beyond fast © 2002 Axis Systems, Inc. CONFIDENTIAL Axis Common Transaction Interface (CTI) Architecture Highlights 9/11/2003 Ching-Ping Chou Axis Systems,
EE694v-Verification-Lect7-1- Verification Plan & Levels of Verification The Verification Plan Yesterdays and today’s design environment Design specification.
IT3002 Computer Architecture
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
CS223: Software Engineering Lecture 13: Software Architecture.
Amdahl’s Law & I/O Control Method 1. Amdahl’s Law The overall performance of a system is a result of the interaction of all of its components. System.
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
Aditya Dayal M. Tech, VLSI Design ITM University, Gwalior.
Presented By Aditya Dayal ITM University, Gwalior.
System on a Programmable Chip (System on a Reprogrammable Chip)
April 15, 2013 Atul Kwatra Principal Engineer Intel Corporation Hardware/Software Co-design using SystemC/TLM – Challenges & Opportunities ISCUG ’13.
ASIC Design Methodology
Self Healing and Dynamic Construction Framework:
How to Quick Start Virtual Platform Development
Direct Attached Storage and Introduction to SCSI
IP – Based Design Methodology
CoCentirc System Studio (CCSS) by
Object-Oriented Design
Verification Plan & Levels of Verification
An Introduction to Software Architecture
Transaction Level Modeling: An Overview
Design.
Presentation transcript:

IP/SoC integration techniques that work Lessons from the field IP/SoC integration techniques that work David Murray, CTO, Duolog Focus : is on assembly/connectivity

Acknowledgements Sean Boylan, Duolog Sujatha Sriram, ARM

4 Pictures – 1 Word C O N E T

Challenges for IP-based SoC Integration Overview Challenges for IP-based SoC Integration Integration methodology (Rules-based) Case-Study/Results Future Directions Focus is more on the assembly/

IP Integration d q Out A1 A2 Z d q A B

IP-Based SoC Integration ARM Based system 4 Processor clusters 3 bus Interconnect systems (CCI/NICx2) 4 sub-systems, (DMC, Peripheral, LCD, Interconnect) 35 independent IP’s to be integrated The AMBA® protocols within the system included APB™, AHB™, AHB-Lite™, AXI™, ATP™, LPI™, AXI4™, APB4™, ACE™ and ACE-Lite™ IP IP IP IP IP IP IP IP

Challenge - Complexity Configurability Standardization Quality Collaboration IP IP IP IP IP IP IP IP

Integration Solution

IP-Based SoC Integration Solution IP Interface standardization Efficient SoC Assembly/Connectivity Standard Connectivity Hierarchy Management Configurability Reusability Interoperability Usability! IP IP IP IP IP

Managing Hierarchy Hierarchy Managing Boundaries Collaboration Fluidity Refactoring I wanted a picture of hierarchy to show the complexity of it but sometimes it’s not the technical nature of it but more of the human nature.

IP Interface Standardization Registers Interface Memory Maps MEMORY_MAP TX_STATUS RX_FIFO_CTRL1 DMA_SRC_ADD DMA_DST_ADD DMA_CONFIG DMA_CTRL 4 8 12 16 20 24 28 32 36 44 48 52 40 Executable IP Interface Specification HW Interface Bus Interfaces Ports (Mapping to bus definition signals) SW Interface Memory Maps Registers Bitfields Consumption IP Automation Flows Integration Flows Industry Standardization IP-XACT Common Bus definitions

Rules-Based Integration Methodology Simple but powerful integration instructions that can utilize standardized IP interface metadata The ability to integrate efficiently and concurrently throughout multiple levels of hierarchy quickly and easily review resulting connectivity be able to take into account high levels of IP and system configurability to seamless swap in new variants of an IP and easily create derivate subsystems High levels of integration reuse

Rules-Based Integration Methodology IP Libraries (Standardized Interfaces) IP Select & configure integration-ready IP from libraries Rules-based system integration Text-based Integration instructions Define & refine system hierarchy Integration Specification Rules Synthesis Fully Integrated Sub-system/Chip IP

Integration Instructions Powerful Integration Instructions operate on IP Interface metadata I1 I3 I5 I2 I4 CONNECT EXPORT IMPORT REFLECT I6 * = Created GROUP/ SPLIT CREATE TIEOFF ‘0’ INSERT Component Instances Periphery

Generic Selection Mechanism Powerful selection mechanism selects the elements instances.ports instances(“uart1").ports instances(“uart1").ports{direction :OUT} instances(“uart*").ports(“tx") instances.ports{definition “TX"} instances.ports{definition “CLK"; bus_definition “CLK_OCP_1_0"} instances("uart1").ports(“dma*"){definition “INTR_PEND"} instances(“uart1").ports{definition "port_definition"; direction :OUT} instances(“uart*").interfaces{definition “APB"; role :SLAVE} instances{property “DOMAIN", “i_PERIPH_SS"}.ports{definition “RESETDONE"} instances.ports(exclude(“CLK")) Informal Formal

Example In the sample SubSystem, bring all instance ports of type [Interrupt] up to the next level of hierarchy and prefix the interface ports with the name of the source instance Integration Specification N_int_l Synthesize [Interrupt] i_ip3 inter-b i_ip2 irq_a i_ip1 SubSystem Inter-b Irq_a IP1 IP2 IP3 i_ip1_irq_a i_ip2_I Inter-b i_ip3_N_int_l

Connection Example ACE Interface has 60+ signals ACADDR ACLK ACLKEN ACPROT ACREADY ACSNOOP ACVALID ARADDR ARBAR ARBURST ARCACHE ARDOMAIN ARESETn ARID ARLEN ARLOCK ARPROT ARQOS ARREADY ARREGION ARSIZE ARSNOOP ARUSER ARVALID AWADDR AWBAR AWBURST AWCACHE AWDOMAIN AWID AWLEN AWLOCK AWPROT AWQOS AWREADY AWREGION AWSIZE AWSNOOP AWUSER AWVALID BID BREADY BRESP BUSER BVALID CDDATA CDLAST CDREADY CDVALID CRREADY CRRESP CRVALID RACK RDATA RID RLAST RREADY RRESP RUSER RVALID WACK WDATA   WLAST WREADY WSTRB WUSER WVALID ACADDR ACLK ACLKEN ACPROT ACREADY ACSNOOP ACVALID ARADDR .. ACE ACADDR ACLK ACLKEN ACPROT ACREADY ACSNOOP ACVALID ARADDR ARBAR ARBURST ARCACHE ARDOMAIN ARESETn ARID ARLEN ARLOCK ARPROT ARQOS ARREADY ARREGION ARSIZE ARSNOOP ARUSER ARVALID AWADDR AWBAR AWBURST AWCACHE AWDOMAIN AWID AWLEN AWLOCK AWPROT AWQOS AWREADY AWREGION AWSIZE AWSNOOP AWUSER AWVALID BID BREADY BRESP BUSER BVALID CDDATA CDLAST CDREADY CDVALID CRREADY CRRESP CRVALID RACK RDATA RID RLAST RREADY RRESP RUSER RVALID WACK WDATA   WLAST WREADY WSTRB WUSER WVALID Connect instances(“uP1").interface(“M1"), instances(“uP1").interface(“S1")

Concurrent Integration Main Rules file External Rules file Rule : Create Instances Rule : PWR/CLK/RESET Include external rules files Connectivity Ownership Merging or Include Autogenerated IP interfaces Rule : BUS (AMBA) Rule : Interrupts Rule : Exports Rule : DFT Rule : IP Specific Rule : IP Specific More users can be added to focus on specific types of connectivity Rule : IP Specific Rule : Tie-Of Synthesis Fully Connected System

Full System Creation Features Bus Definitions Features Synthesis of hierarchical system connectivity Netlist generation Rapid Integration timeframes Integrated with other flows IO, Bus fabric, power, verification Subsystem Rules IP IP Sub System IP Synthesis Subsystem Rules System Rules IP IP Sub System IP Synthesis Synthesis Subsystem Rules IP IP IP Sub System Synthesis

Case-Study ARM IP-Based SoC Integration

ARM IP- Based System ARM Based system 4 Processor clusters 3 bus Interconnect systems (CCI/NICx2) 4 sub-systems, (DMC, Peripheral, LCD, Interconnect) 12,000+ lines of verilog code describing connectivity 6-7 Weeks to develop normally Many connectivity errors

IP Interface Standardization 35 IP leaf components Most IP had IP-XACT descriptions Additional IP packaging The packaging of each IP, with creation of relevant bus interfaces took 1-2 hours per IP. Utilized 109 IP-XACT bus definitions

IP Integration 3 engineers worked within 3 levels of hierarchy

WEAVER – Concurrent System Creation Main Rules file External Rules file Rule : Create Instances Rule : PWR/CLK/RESET Rule : BUS (AMBA/OCP) Rule : Interrupts Rule : Export Rule : DMC Rule : LCD Rule : APB Rule : DEBUG SS Rule : SMMU/DMA Rule : CTRL_SS Rule : SMC/EBI WEAVER Fully Connected System

Results An 8x schedule improvement over previous methods The integration of 3 sub-systems, 1 major sub-system and a top-level integration was completed within 4 schedule days. This activity could have taken 35+ working days in the past. An 8x schedule improvement over previous methods

Metrics - % Connectivity/Day Merge CLK/RESET Export Connectivity CPU Tieoff Interrupts CPU Packaging Sub Systems Interconnect LCD Interrupt controller Team working concurrently Bus Interconnect Utilities Library TUESDAY (DM) IST WEDNESDAY THU

Metrics Rules Higher level of abstraction High level of reuse The 3 levels of hierarchy were put together using 41 rules, with 372 instructions. These were synthesized and netlisted to 12,045 lines of Verilog code in total Rules Higher level of abstraction High level of reuse Easier to maintain Higher quality WEAVER The average ratio of instructions to lines of Verilog code was 31:1

Considerations Some members of the team were not familiar with the target architecture and needed to understand the connectivity by walking through the legacy Verilog code Some members were not familiar with Weaver and rules-based approach and needed a quick ramp up The rules layout had to be developed throughout this task Some packaging had to be done within the integration activity Rules optimizations were performed within the integration. This included the creation of macros for commonly repeated tasks.

Connect_AMBA function Raising the level of user abstraction for AMBA connectivity ACE can connect to ACELite,AXI4,AXI3 Different tieoffs needed

Productivity Sample

System Configurability User sets specific configuration parameters Any one of thousands of possible configurations can be generated in less than 7 minutes Rules are designed to handle different configurations WEAVER Weaver creates a specific configuration of the system.

30x Schedule Improvement?? Build 1 of 1000s of systems in 7 minutes Interface standardization – Interrupt controller upgrade in 15 minutes

Benefits Schedule: Quality Productivity It is estimated that once the methodology is deployed, it is reasonable to expect a 10x-15x improvement in schedule for new projects and 20x-30x for derivative projects. Quality This netlist was right-first-time as it passed a previous regression test. IP standardization with formal rules eliminates a lot of tedious errors. Productivity Massive improvements in productivity (10x) is expected with this methodology

Future Considerations Interface Standardization Chip-in-a-day Verification Enablement

Conclusion A rules-base methodology with powerful integration instructions and selection mechanism can reduce the overall SoC integration task by a factor of 15x-30x IP Standardization is a key enabler for this flow and IP-XACT provides an interoperable method of formalizing IP interfaces The rules themselves are specified using a very small instruction set (DSL) that can be instantly used by anyone familiar with the integration domain Highly configurable systems can be rendered very quickly with this methodology

Conclusion - 4 Pictures – 1 Word A V To Make .. To Interlace .. To construct ..

Questions??

Thank You Please visit us in Booth 1002