From Concept to Silicon

Similar documents
ASIC, Customer-Owned Tooling, and Processor Design

Digital System Design Lecture 2: Design. Amir Masoud Gharehbaghi

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Digital Design Methodology

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Chapter 5: ASICs Vs. PLDs

Choosing an Intellectual Property Core

ENHANCED TOOLS FOR RISC-V PROCESSOR DEVELOPMENT

Unit 2: High-Level Synthesis

Overview of Digital Design with Verilog HDL 1

Characterization and Reliability of custom digital ASIC designs using a 0.8µm bulk CMOS process for high temperature applications

Evolution of CAD Tools & Verilog HDL Definition

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

COE 561 Digital System Design & Synthesis Introduction

01 1 Electronic Design Automation (EDA) the correctness, testability, and compliance of a design is checked by software

EE 4755 Digital Design Using Hardware Description Languages

Overview. Technology Details. D/AVE NX Preliminary Product Brief

DESIGN STRATEGIES & TOOLS UTILIZED

Cadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015

Configurable and Extensible Processors Change System Design. Ricardo E. Gonzalez Tensilica, Inc.

EE 4755 Digital Design Using Hardware Description Languages

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

Programmable Logic Devices HDL-Based Design Flows CMPE 415

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers

100M Gate Designs in FPGAs

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

EE434 ASIC & Digital Systems Testing

EE 466/586 VLSI Design. Partha Pande School of EECS Washington State University

Accelerating CDC Verification Closure on Gate-Level Designs

RTL Coding General Concepts

Bibliography. Measuring Software Reuse, Jeffrey S. Poulin, Addison-Wesley, Practical Software Reuse, Donald J. Reifer, Wiley, 1997.

Design Space Exploration Using Parameterized Cores

Veloce2 the Enterprise Verification Platform. Simon Chen Emulation Business Development Director Mentor Graphics

ECE 353 Lab 3. MIDI Note Number Display. Lab Info. Electrical and Computer Engineering

Benefits of Network on Chip Fabrics

Altera SDK for OpenCL

Overview of Digital Design Methodologies

Ten Reasons to Optimize a Processor

Today s Agenda. DirectX 9 Features Sim Dietrich, nvidia - Multisample antialising Jason Mitchell, ATI - Shader models and coding tips

ENG04057 Teste de Sistema Integrados. Prof. Eric Ericson Fabris (Marcelo Lubaszewski)

Agenda. How can we improve productivity? C++ Bit-accurate datatypes and modeling Using C++ for hardware design

Chapter 9: Integration of Full ASIP and its FPGA Implementation

Overview. CSE372 Digital Systems Organization and Design Lab. Hardware CAD. Two Types of Chips

Compiler User Guide. Intel Quartus Prime Pro Edition. Updated for Intel Quartus Prime Design Suite: Subscribe Send Feedback

Combinational hazards

PowerVR Hardware. Architecture Overview for Developers

RISC-V CUSTOMIZATION WITH STUDIO 8

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

High Quality, Low Cost Test

Squeezing Performance out of your Game with ATI Developer Performance Tools and Optimization Techniques

Dr. Ajoy Bose. SoC Realization Building a Bridge to New Markets and Renewed Growth. Chairman, President & CEO Atrenta Inc.

Implementing Tile-based Chip Multiprocessors with GALS Clocking Styles

System Level Design with IBM PowerPC Models

Mali-400 MP: A Scalable GPU for Mobile Devices Tom Olson

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series

Custom Design Formal Equivalence Checking Based on Symbolic Simulation. Overview. Verification Scope. Create Verilog model. Behavioral Verilog

Part B. Dengxue Yan Washington University in St. Louis

outline Reliable State Machines MER Mission example

ECEN 449 Microprocessor System Design. FPGAs and Reconfigurable Computing

FPGA Design Flow 1. All About FPGA

SystemC Synthesis Standard: Which Topics for Next Round? Frederic Doucet Qualcomm Atheros, Inc

Digital Systems Laboratory

01-1 Electronic Design Automation (EDA) The use of software to automate electronic (digital and analog) design.

Synthesis at different abstraction levels

ECOM 4311 Digital Systems Design

Introduction to VHDL. Module #5 Digilent Inc. Course

Lecture 11 Logic Synthesis, Part 2

Definitions. Key Objectives

EDA: Electronic Design Automation

SP3Q.3. What makes it a good idea to put CRC computation and error-correcting code computation into custom hardware?

Design Compiler Graphical Create a Better Starting Point for Faster Physical Implementation

HES-7 ASIC Prototyping

CS250 DISCUSSION #2. Colin Schmidt 9/18/2014 Std. Cell Slides adapted from Ben Keller

CONSOLE ARCHITECTURE

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis

Standard Graphics Pipeline

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes

EE595. Part VIII Overall Concept on VHDL. EE 595 EDA / ASIC Design Lab

ESE Back End 2.0. D. Gajski, S. Abdi. (with contributions from H. Cho, D. Shin, A. Gerstlauer)

Spring 2010 Prof. Hyesoon Kim. AMD presentations from Richard Huddy and Michael Doggett

EEL 4783: HDL in Digital System Design

Optimizing DirectX Graphics. Richard Huddy European Developer Relations Manager

EEL 4783: HDL in Digital System Design

Announcements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project

Electronic Design Automation Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller

PowerVR Series5. Architecture Guide for Developers

Mixed Signal Verification Transistor to SoC

DE2 Board & Quartus II Software

Advanced FPGA Design Methodologies with Xilinx Vivado

EECS 627, Lab Assignment 2

Employing Multi-FPGA Debug Techniques

Evolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic

Configurable Processors for SOC Design. Contents crafted by Technology Evangelist Steve Leibson Tensilica, Inc.

Design Process. Design : specify and enter the design intent. Verify: Implement: verify the correctness of design and implementation

Digital Systems Testing

For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were

AMD E M PCIEx16 GFX-AE6460F16-5C

Glossary. ATPG -Automatic Test Pattern Generation. BIST- Built-In Self Test CBA- Cell Based Array

Spiral 2-8. Cell Layout

Transcription:

From Concept to Silicon How an idea becomes a part of a new chip at ATI Richard Huddy ATI Research

From Concept to Silicon Creating a new Visual Processing Unit (VPU) is a complex task involving many people and processes at ATI. The major tasks are: Architectural Definition Block Level Specification Logic Design and Synthesis Design Verification Physical Design Driver Development and Debug Silicon Debug Product Release Let s follow how Multisample Antialiasing (MSAA) became a part of the Radeon 9700.

Architectural Definition Determine the Features, Performance and Cost of a new architecture through an iterative process. Set ambitious Feature, Cost (primarily chip area) and Performance goals based on market requirements. Develop an architecture to meet the goals. Evaluate the architecture in detail: Run high level performance and image quality simulations. Revise the architecture to meet goals. Calculate cost based on area estimates from: On chip memory area Datapath prototype area Control logic in previous similar designs Cut features and performance in areas that are lower priority to meet area goals and re-evaluate.

Architectural Definition (MSAA) For MSAA we needed to do the following: Run MSAA algorithmic simulations to evaluate the image quality results. Added per sample gamma correction. Added centre vs. centroid control. Calculate MSAA memory bandwidth requirements and compare it to the available memory bandwidth. Lossless compression was added to reduce memory bandwidth. Evaluate how many samples and which sample placements give good quality images at a reasonable cost. 2, 4, & 6 sample options with programmable sample locations was selected to provide the best results.

Block Level Specification The architecture is broken down into separate blocks and the details of the design of each block are specified. Detailed area and performance estimates are generated and further feature and performance changes are made. For MSAA the following was considered: Which blocks are involved in MSAA and what do they do? The rasterizer must generate the subpixel information and the Z and Color processing blocks must process pixels at the subpixel level. What control information does the hardware need? A register is needed to select the number of subsamples: 1 (no MSAA), 2, 4, or 6 Determine the true cost of MSAA in terms of silicon area, design complexity, and verification effort.

Logic Design and Synthesis The logic is designed in a Hardware Description Language (HDL) and compiled (synthesized) into a gate level netlist. The synthesizer provides a pre-layout area estimate and a pre-layout timing report of the logic paths that do not meet the clock speed objective. The design is reworked until it meets the speed and area objectives. Some features may be cut due to area or schedule considerations. For MSAA: We found that the compression algorithm logic was too complex to meet the clock speed objective. We needed to find ways to break the function into multiple pipeline stages that met timing.

Design Verification Verify that the hardware provides the specified functions at the required performance level. Tests are run on three different versions of the design and the results compared to make sure that everything in the final design works as expected.

Design Verification (Cont.) This is a critical stage of the design process. Bugs in the final silicon are usually due to operations that were not fully covered in the tests or features which could not be properly cross compared. The functional API level tests must cover all of the features of MSAA: 2, 4, or 6 samples All compression states. Resolving the multisample image to a displayable image. These tests drive the functional debug of the RTL code. The API level and game trace performance tests characterize the MSAA performance so that performance problems can be addressed.

Physical Design Convert the gate level netlist into a transistor level silicon design. Place and Route : Place the logic gates and route the connecting wires. Extract the post layout timing results Improve the gate placement, the wire routing and the logical netlist to meet timing and area goals. After all design rule checks are complete release the design database for fabrication. This is Tape Out. Need to place the MSAA logic near the on chip memories and the other logic that it needs to be connected to. Pipelined the compression logic again to improve timing results caused by placement and routing issues.

Driver Development and Debug Write DirectX and OpenGL Drivers to control the operations of the chip. Debug functional issues on the software emulator and crosscheck on the HDL Simulator. Debug functional and performance issues on the Gate level simulation (accelerated by a hardware simulator box). Provide MSAA by setting up the sample select register in the hardware under application or user control.

Silicon Debug The fabricated silicon chip must be: q Tested before packaging q Packaged q Tested after packaging q Assembled into a board Then the board is powered up and tested. Production Drivers are debugged and performance tuned. The chip is tested across frequency and temperature ranges to assure its reliable operation. Any problems in the chip are fixed and a final version is created. No MSAA bugs!!

Product Release Production chip quantities are delivered from the silicon foundry. Chip yield and speed results are tracked in the production silicon. The final chip silicon is provided to board manufacturers and PC vendors for their qualification testing. Boards are provided to the media and to software developers. Product is announced and available for purchase. 9700 MSAA performance and image quality set new standards in the industry.

Questions? Richard Huddy RHuddy@ati.com