Physical Design of FabScalar Generated Cores EE6052 Class Project Wei Zhang.

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

ARM Cortex A8 Pipeline EE126 Wei Wang. Cortex A8 is a processor core designed by ARM Holdings. Application: Apple A4, Samsung Exynos What’s the.
06/05/08 Biscotti: a Framework for Token-Flow based Asynchronous Systems Charlie Brej.
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
Robust Low Power VLSI R obust L ow P ower VLSI Synthesizing SRAM timing and Periphery using Synopsis By: Jim Boley.
Ch.3 Overview of Standard Cell Design
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
Timing Analysis Timing Analysis Instructor: Dr. Vishwani D. Agrawal ELEC 7770 Advanced VLSI Design Team Project.
The Design Process Outline Goal Reading Design Domain Design Flow
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Architectural-Level Prediction of Interconnect Wirelength and Fanout Kwangok Jeong, Andrew B. Kahng and Kambiz Samadi UCSD VLSI CAD Laboratory
Joe Gebis Computer Science Division University of California, Berkeley IRAM CAD Status and Plan.
S. Reda EN1600 SP’08 Design and Implementation of VLSI Systems (EN1600) Lecture 24: Computer-Aided Design using Tanner Tools Prof. Sherief Reda Division.
1 Application Specific Integrated Circuits. 2 What is an ASIC? An application-specific integrated circuit (ASIC) is an integrated circuit (IC) customized.
Timing control in verilog Module 3.1 Delays in Verilog.
Design Tools, Flows and Library Aspects during the FE-I4 Implementation on Silicon Vladimir Zivkovic National Institute for Subatomic Physics Amsterdam,
8/16/2015\course\cpeg323-08F\Topics1b.ppt1 A Review of Processor Design Flow.
Supply Voltage Biasing in Synopsys Andy Whetzel University of Virginia 1.
Robust Low Power VLSI R obust L ow P ower VLSI Memory Management Units for Instruction and Data Cache for OR1200 CPU Core Arijit Banerjee ASIC/SOC Class.
Design methodology.
TM Efficient IP Design flow for Low-Power High-Level Synthesis Quick & Accurate Power Analysis and Optimization Flow JAN Asher Berkovitz Yaniv.
COE4OI5 Engineering Design. Copyright S. Shirani 2 Course Outline Design process, design of digital hardware Programmable logic technology Altera’s UP2.
ON LINE TEST GENERATION AND ANALYSIS R. Šeinauskas Kaunas University of Technology LITHUANIA.
CAD for Physical Design of VLSI Circuits
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
ASIC Design Flow – An Overview Ing. Pullini Antonio
A New Method For Developing IBIS-AMI Models
Hardware Design Environment Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
SPREE RTL Generator RTL Simulator RTL CAD Flow 3. Area 4. Frequency 5. Power Correctness1. 2. Cycle count SPREE Benchmarks Verilog Results 3. Architecture.
Lecture 2 1 ECE 412: Microcomputer Laboratory Lecture 2: Design Methodologies.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
Karan Maini and Sriharsha Yerramalla ECE 753 Project #10 May 1, 2014 Tool for Customizing Fault Tolerance in a System.
Physical Design of FabScalar Generated Superscalar Processors EE6052 Class Project Wei Zhang.
ASIC, Customer-Owned Tooling, and Processor Design Nancy Nettleton Manager, VLSI ASIC Device Engineering April 2000 Design Style Myths That Lead EDA Astray.
LOGO A Convolution Accelerator for OR1200 Dawei Fan.
TOPIC : SYNTHESIS INTRODUCTION Module 4.3 : Synthesis.
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
CHAPTER 8 Developing Hard Macros The topics are: Overview Hard macro design issues Hard macro design process Physical design for hard macros Block integration.
Dec 1, 2003 Slide 1 Copyright, © Zenasis Technologies, Inc. Flex-Cell Optimization A Paradigm Shift in High-Performance Cell-Based Design A.
ECE-C662 Lecture 2 Prawat Nagvajara
DEVICES AND DESIGN : ASIC. DEFINITION Any IC other than a general purpose IC which contains the functionality of thousands of gates is usually called.
Tools - LogiBLOX - Chapter 5 slide 1 FPGA Tools Course The LogiBLOX GUI and the Core Generator LogiBLOX L BX.
Enabling System-Level Modeling of Variation-Induced Faults in Networks-on-Chips Konstantinos Aisopos (Princeton, MIT) Chia-Hsin Owen Chen (MIT) Li-Shiuan.
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
REALITY STATISTICAL CHARACTERIZATION OF A HIGH-K METAL GATE 32NM ARM926 CORE UNDER PROCESS VARIABILITY IMPACT Paul Zuber Petr Dobrovolny Miguel Miranda.
Baseband Implementation of an OFDM System for 60GHz Radios: From Concept to Silicon Jing Zhang University of Toronto.
Greg Alkire/Brian Smith 197 MAPLD An Ultra Low Power Reconfigurable Task Processor for Space Brian Smith, Greg Alkire – PicoDyne Inc. Wes Powell.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Evan Vaughan.  No native support for bit-slicing in Cadence Synthesis Tools ◦ Synopsys does provide this  Trick RTL Compiler and Soc Encounter into.
Written by Whitney J. Wadlow
3D Design IPHC Frédéric Morel - Grégory Bertolone - Claude Colledani.
-1- Soft Core Viterbi Decoder EECS 290A Project Dave Chinnery, Rhett Davis, Chris Taylor, Ning Zhang.
1 EE 382M VLSI 1 EE 360R Computer-Aided Integrated Circuit Design Lab 1 Demo Fall 2011 Whitney J. Wadlow.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
A Case for Standard-Cell Based RAMs in Highly-Ported Superscalar Processor Structures Sungkwan Ku, Elliott Forbes, Rangeen Basu Roy Chowdhury, Eric Rotenberg.
Programmable Hardware: Hardware or Software?
ASIC Design Methodology
Physical Design of FabScalar Generated Cores
SoCKs Flow: Here, There, and Back Again
Written by Whitney J. Wadlow
Dr Stephen Bell Rutherford Appleton Laboratory 18/12/2013
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
An Automated Design Flow for 3D Microarchitecture Evaluation
A High Performance SoC: PkunityTM
HIGH LEVEL SYNTHESIS.
DARE180U Platform Improvements in Release 5.6
H a r d w a r e M o d e l i n g O v e r v i e w
Presentation transcript:

Physical Design of FabScalar Generated Cores EE6052 Class Project Wei Zhang

Outline  FabScalar Toolset  Synthesis  Physical design using IC Compiler – Problems and solutions  Things to do next 2Wei

FabScalar Toolset Wei3  FabGen: This tool generates synthesizable RTL of a superscalar core based on user-specified parameters: * Frontend superscalar width * Backend superscalar width * Pipeline depths of canonical pipeline stages * Issue queue size.  FabMem: This tool estimates read/write delays, read/write energies, and area of user-specified multi-ported RAMs/CAMs. It can also generate layouts of desired RAMs/CAMs.

Synthesis Wei4  FebGen-generated RTL is synthesizable.  Before starting synthesis  Comment-out the verification components to remove unsynthesizable verilog needed for simulation only: VPIs (the verilog/C++ co-simulation environment) and performance counters.  Memory handling  Use FabMem to generate custom designs of these critical memory structures, including full layouts, SPICE netlists, and LEFs.  During synthesis, remove the behavioral modules of the memory structures and constrain their input-port and output-port timing paths based on timing numbers from SPICE simulation.  For place-and-route, use the LEFs to represent the memory structures.

Physical Design – Problems Encountered Wei5  ICC reports errors when importing netlist generated from synthesis.  Error message examples from ICC  Error: Can not create instance master 'SRAM_4R8W' in FRAM view. (MWDC-001)  Error: Can not create instance master 'CAM_4R4W' in FRAM view. (MWDC-001)  Warning message examples from synthesis  Warning: Unable to resolve reference 'SRAM_4R8W' in 'InstructionBuffer'. (LINK-5)  Warning: Unable to resolve reference 'CAM_4R4W' in 'IssueQueue'. (LINK-5)  Cause of the errors  No corresponding memory cells in the Milkyway library.  FabMem uses 45nm FreePDK library and our design uses the 90nm EDK library.

Physical Design – Problem Solutions Wei6  Solution – Adapt the memory blocks generated from the FabMem tool to the 90nm technology.  The FabMem tool could generate layouts of memories, from which we can get the GDSII files.  To adapt these layouts to the 90nm technology, we need to modify the GDSII files to 1. Double the size of each physical component in the layout. 2. Map each layer in the FreePDK library to these layers in the 90nm technology library.  Import these memory blocks to the Milkyway Library using the Milkyway Environment tool and the new GDSII memory files.

Physical Design – Library Preparation Wei7  Before using IC Compiler, logical and physical libraries must be created that accurately reflect the characteristics of the available technology and cells that will be used to fabricate the chip.  FabScalar generated cores use a lot of RAM/CAM blocks, most of which are multi-ported.  The standard cells are already provided in the 90nm physical library, but macros like memory blocks are not provided.  The memory blocks must be created in the physical library. This can be done in the Milkyway Environment.  Layout data of these memory blocks are provided by FabMem. (GDS and LEF)

Physical Library Preparation – Memory Wei8 Generate layout of memory blocks (using FabMem tool) Extract GDSII files and double the size of memory blocks Import GDSII files into Milkyway Environment and create CEL view Create FRAM view from the CEL view and get physical library of memory blocks Create Milkyway library in ICC and reference the physical library of memory blocks Layer mapping file

Library Preparation Flow in the Milkyway Environment Wei9

CEL View – SRAM_4R4W Wei10

FRAM View – SRAM_4R4W Wei11

Errors Before Adding Memory Physical Library Wei12

Errors After Adding Memory Physical Library Wei13

New Problems Wei14  Still missing a lot of instances in the physical library  1ICache  PreDecode_PISA_3  Decode_PISA_3  SRAM_4R8W  SRAM_4R1W  Select_3  ForwardCheck_7  The “SRAM_4R8W”and “SRAM_4R1W”could not be generated from FabMem (only able to generate memories with XRXW and 2XRXW ports)  Most of the other instances are very similar to memories, but they are not standard memory blocks and could not be generated from FabMem.

Problems Remaining Wei15  Still could not generate the remaining instances.  Could not move forward without these instances in the physical library.