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.

Slides:



Advertisements
Similar presentations
Presentation by Prabhjot Singh
Advertisements

Software Quality Assurance Plan
PradeepKumar S K Asst. Professor Dept. of ECE, KIT, TIPTUR. PradeepKumar S K, Asst.
Design For Verification Synopsys Inc, April 2003.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
1 Chapter 13 Cores and Intellectual Property. 2 Overview FPGA intellectual property (IP) can be defined as a reusable design block (Hard, Firm or soft)
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
SiliconAid Solutions, Inc. Confidential SAJE SiliconAid JTAG Environment Overview – Very Short.
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
Foundation and XACTstepTM Software
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
Configuration Management
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
System Design/Implementation and Support for Build 2 PDS Management Council Face-to-Face Mountain View, CA Nov 30 - Dec 1, 2011 Sean Hardman.
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
VerificationTechniques for Macro Blocks (IP) Overview Inspection as Verification Adversarial Testing Testbench Design Timing Verification.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
1 Chapter 2. The System-on-a-Chip Design Process Canonical SoC Design System design flow The Specification Problem System design.
Simulation Management. Pass or Fail? Managing Simulations Regression Behavioral Models.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n.
RUP Implementation and Testing
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
ECE 545 Project 1 Part IV Key Scheduling Final Integration List of Deliverables.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
MAPLDDesign Integrity Concepts You Mean We’re Still Working On It? Sustaining a Design.
Software Requirements Engineering CSE 305 Lecture-2.
Lecture 17 Lecture 17: Platform-Based Design and IP ECE 412: Microcomputer Laboratory.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Product Development Chapter 6. Definitions needed: Verification: The process of evaluating compliance to regulations, standards, or specifications.
Configuration Management (CM)
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
Xilinx Programmable Logic Design Solutions Version 2.1i Designing the Industry’s First 2 Million Gate FPGA Drop-In 64 Bit / 66 MHz PCI Design.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
Verification Plan & Levels of Verification
Chapter 9 Testing the System Shari L. Pfleeger Joann M. Atlee
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
Developing software and hardware in parallel Vladimir Rubanov ISP RAS.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Business Trends and Design Methodologies for IP Reuse Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {
ECE 545 Project 2 Specification. Schedule of Projects (1) Project 1 RTL design for FPGAs (20 points) Due date: Tuesday, November 22, midnight (firm) Checkpoints:
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
CHAPTER 8 Developing Hard Macros The topics are: Overview Hard macro design issues Hard macro design process Physical design for hard macros Block integration.
DEVICES AND DESIGN : ASIC. DEFINITION Any IC other than a general purpose IC which contains the functionality of thousands of gates is usually called.
Macro Verification Guidelines Chapter 7.. Chap 7. Macro Verification Guidelines The goal of macro verification The macro is 100 percent correct in its.
EE694v-Verification-Lect7-1- Verification Plan & Levels of Verification The Verification Plan Yesterdays and today’s design environment Design specification.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
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.
Chapter 11 System-Level Verification Issues. The Importance of Verification Verifying at the system level is the last opportunity to find errors before.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Design with Vivado IP Integrator
Chapter 9 Testing the System 9.1 Principles of System Testing Focus A: The objective of unit and integration ensure the code implemented the design.
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Software Testing Strategies for building test group
ASIC Design Methodology
Software Engineering (CSI 321)
Applied Software Implementation & Testing
Verification Plan & Levels of Verification
THE ECE 554 XILINX DESIGN PROCESS
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

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 Productization CHAPTER 4

The Issues An Overview of the macro design Contents of a design specification Top-level macro design and partitioning into subblocks Designing subblocks Integrating subblocks and macro verfication Productization and prototyping issues

4.1 Overview of IP Design 1.Characteristics of Good IP 2.Implementation and Verification IP 3.Overview of Design Process The process of designing reusable components or IP

4.1.1 Characteristics of Good IP Configurability Standard Interfaces Compliance to Defensive Design Practices Complete Set of Deliverables SynThesizable RTL (encrypted or unencrypted) Verification IP for verifying the core stand-alone and for chip-level verification Synthesis scripts Documentaton

4.1.2 Implementation and Verification IP VIP such as Bus Functional Models(BFMs), monitors, and test suites have become more important Figure 4-1 shows how a USB BFM and bus monitor can be used to facilitate verification of an SoC(the Implementation IP, IIP) Figure 4-2 shows how the same USB BFM and monitor can be used in a verification testbench by the macro design team to verify the USB macrocell.

4.1.2 Implementation and Verification IP VIP - A high-level mechanism for generating transactions on the interface of the IIP - is useful to Do initial verification of the RTL Allow rapid configuration of the test bench for testing different configurations of the IP Ship with the IP to allow the integrator to test his configuration of the IIP Integrate into the chip-level test bench

USB 2.0 BFM USB Monitor USB 2.0 Macrocell MEMORYMICROPROCESSOR VIDEO DECODER MEMORY CTRL HS/LS BUS BRIDGE UART INTR CTRL GPIOTIMER DRAM Model High-speed bus Low-speed bus Figure 4-1 SoC verification scheme

USB 2.0 BFM USB Monitor USB 2.0 Macrocell High Speed Bus BFM High-speed bus Figure 4-2 USB macro testbench (portion of Figure 4-1

4.1.3 Overview of Design Process Figure 4-3 summarizes the first major phases of IP design DEFINE key features PLANNING and SPECIFICATION DESIGN and VERIFY IIP and VIP PRODUCTIZATION ALPHA TESTING and RELEASE Figure 4-3 Phases of IP design Basic functionality. The configuration parameters. A detailed specification. A detailed plan. The specification and plan. The detailed design and verification. Additional testing. The final deliverables. Complete and ready to be used By the SoC designer.

4.2 Key Features The key features for an IP are basically an initial specification. The key features are should define the configuration parameters for the IP. The key features are typically captured in a brief document or a set of slides.

4.3 Planning and Specification 1.Functional Specification 2.Verification Specification 3.Packaging Specification 4.Development Plan 5.High-Level Models as Executable Specifications Key documents developed during the planning and specification phase typically include:

4.3.1 Functional Specification - A functional specification would include : Pin definitions Parameter definitions Register definitions Additional information to explain how the pins, parameters, and registers work Performance and physical implementation requirements

4.3.2 Verification Specification - A verification specification : Defines the test environment Describes the approach to verifying the IP: - What will be tested by directed test - What random testing will be done - What matrics will be used to determine that it is ready to ship.

4.3.3 Packaging Specification - The packaging specification defines any special scripts that are provided as part of the final deliverables. - These scripts typically include installation scripts, configuration scripts, and synthesis scripts. - For hardened IP, this specification also lists additional views that must be created.

4.3.4 Development Plan - The development plan includes : Deliverables -> what files and documents Schedule -> key milestones and dates Resource Plan -> people, tools, software, computer, networks requirements Exceptions to Coding and Design Guidelines Supported Environments -> what versions of what tools and libraries, what languages, what simulators, what standard cell libraries.

4.3.4 Development Plan - The development plan includes : Support Plan -> who will support the product, what application notes will be developed Documentation Plan -> what user document will be developed, by whom, and when. Licensing Plan -> Will the macro be licensed. Release Plan -> This includes some form of alpha testing before release, and then some form of beta or limited production period before final release.

4.3.5 High-Level Models as Excutable Specification Developing a high-level midel also allows the development of testbenches and test suites early in the project High-level models are developed as part of the functional specification phase of the project High-level models can be written at the algorithmic or transaction level -> particularly useful for designs in multimedia or wireless

4.4 Macro Design and Verification - The major steps is : (Macrocell) Technical Specification (Subblock) Technical Specifications (Subblock) RTL (Subblock) Functional Verification (Subblock) Implementation Verification (Macrocell) RTL (Macrocell) Functional Verification (Macrocell) Implementation Verification - Develop synthesis scripts - Run synthesis - Perform scan insertion - Perform power analysis

FUNCTIONAL SPECIFICATION PARTITION design into subblocks WRITE technical specification WRITE RTL RUN design checking tool DEVELOP ad-hoc Tests and SIMULATE TRIAL SYNTHESIS PASSES – READY FOR INTEGRATION Figure 4-4 Subblock development process Perform these Steps for each subblock

Figure 4-5 Subblock integration process Subblock 1 Subblock 2Subblock 3 CREATE configurable top-level HDL RUN design checking tool FUNCTIONAL VERIFICATION With reference simulator DEVELOP and RUN Multiple configuration tests MEASURE Test coverage GENERATE Synthesis scripts Scan insertion, ATPG Fault simulation SYNTHESIZE With reference library PERFORM final timing and power analysis READY FOR PRODUCTIZATION/PACKAGING Implementation Verification Functional Verification

Figure 4-6 Parallel activities in macro development TEST TEAM DESIGN TEAM SYNTHESIS TEAM SPECIFY and DOCUMENT Functional requirements, I/O, timing, performance, Area, goals, and test strategy CREATE high-level model and test cases DEVELOP Macro testbench and Test cases SPECIFY Block function, I/O, Timing, test strategy COORDINATE Timing specs Between blocks CODE and TESTSYNTHESIS TESTSYNTHESIS CHECK AGAINST EXIT CRITERIA As defined in the specification and test Macro specifications, behavioral model Macro partitions, and block specifications Block design Block integration Summar y

4.5 Soft Macro Productization The final phase of macro design consists of productizing the macro, which means creating the remaining deliverables. 1.Productization Process 2.Activities and Tools

4.5.1 Productization Process Versions of the code, testbenches, and tests that work in both Verilog and VHDL environments Supportion scripts for the design This includes the installation scripts and synthesis scripts required to build the different configurations of the macro. Documentation This includes updating all functional specifications and generating the final user documentation from them. Final version locked in a version control system All deliverables must be in a revision control system to allow future maintenance.

4.5.2 Activities and Tools 1. Develop a prototype chip : A prototype chip is esential for verifying both the robustness of the design and the correctness of the original specification Verify that the design is functionally correct. Verify that the design complies with the appropriate standards (for instance, we can take a PCI test chip to the PCI SIG for compliance testing). Verify that the design is compatible with the kind of hardware/software environment that other integrators are likely to use

Figure 4-7 Productizing soft macros From block integration DEVELOP specification for prototype chip TRANSLATE Verilog VHDL SYNTHESIZE to multiple technologies CREATE user docs (Databook) DESIGN chip SYNTHESIZE chip Scan insertion, ATPG and coverage analysis FLOORPLAN PLACE and ROUTE VERIFY timing FABRICATE TEST chip in demo board REGRESSION TEST translated code RUN gate-level simulation on one technology RUN TESTS on multiple simulators FORMAL VERIFICATION RTL vs. gates RELEASE

Productizing soft macros 2. Provide macro and testbench in both Verilog and VHDL 3. Test on several simulators 4. Synthesize on multiple technologies 5. Perform gate-level simulation 6. Formal verification 7. Create/update user documentation 8. Alpha testing and release

Productizing soft macros 8. Alpha testing and release - Once productization is complete, the macro is ready for alph testing - This testing is typically done by someone outside the design team. - Purpose of alpha testing is to test the usability of the final deliverables, especially the documentation. - Alpha testing involves designing the macro into a small kit, thus using the macro deliverables exactly as an integrator would.