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.

Slides:



Advertisements
Similar presentations
Robust Low Power VLSI R obust L ow P ower VLSI Synthesizing SRAM timing and Periphery using Synopsis By: Jim Boley.
Advertisements

Lecture 34: Chapter 5 Today’s topic –Virtual Memories 1.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
Caching IV Andreas Klappenecker CPSC321 Computer Architecture.
MICROELETTRONICA Design methodologies Lection 8. Design methodologies (general) Three domains –Behavior –Structural –physic Three levels inside –Architectural.
The Design Process Outline Goal Reading Design Domain Design Flow
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
Joe Gebis Computer Science Division University of California, Berkeley IRAM CAD Status and Plan.
Memory Management 2010.
9 th Sept, VLSI Design & Test seminar series, Fall 2009, Auburn University, Auburn, AL Low Power Implementation of ARM1176JZF-S by Manish Kulkarni.
ABACUS: A Hardware-Based Software Profiler for Modern Processors Eric Matthews Lesley Shannon School of Engineering Science Sergey Blagodurov Sergey Zhuravlev.
VIRTUAL MEMORY. Virtual memory technique is used to extents the size of physical memory When a program does not completely fit into the main memory, it.
Design Tools, Flows and Library Aspects during the FE-I4 Implementation on Silicon Vladimir Zivkovic National Institute for Subatomic Physics Amsterdam,
Programmable Logic- How do they do that? 1/16/2015 Warren Miller Class 5: Software Tools and More 1.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Computer Architecture Lecture 28 Fasih ur Rehman.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
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.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
IT253: Computer Organization
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
Robust Low Power VLSI R obust L ow P ower VLSI Tutorial to Correct Unwanted Silk Screen Overlaps in the Final PCB Arijit Banerjee.
Synopsys Custom Designer Tutorial for a chip integration using the University of Utah Standard Cell Libraries In ON Semiconductor 0.5u C5 CMOS Version.
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.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
LOGO A Convolution Accelerator for OR1200 Dawei Fan.
Chapter 8 CPU and Memory: Design, Implementation, and Enhancement The Architecture of Computer Hardware and Systems Software: An Information Technology.
DFT Compiler Synopsys Customer Education Services
Memory Management Fundamentals Virtual Memory. Outline Introduction Motivation for virtual memory Paging – general concepts –Principle of locality, demand.
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.
1 Virtual Memory Main memory can act as a cache for the secondary storage (disk) Advantages: –illusion of having more physical memory –program relocation.
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.
University of Amsterdam Computer Systems – virtual memory Arnoud Visser 1 Computer Systems Virtual Memory.
Introduction to Virtual Memory and Memory Management
Operating Systems Unit 7: – Virtual Memory organization Operating Systems.
Update on the Design Implementation Methodology for the 130nm process Microelecronics User Group meeting TWEPP 2010 – Aachen Sandro Bonacini CERN PH/ESE.
4.3 Virtual Memory. Virtual memory  Want to run programs (code+stack+data) larger than available memory.  Overlays programmer divides program into pieces.
EFLAG Register of The The only new flag bit is the AC alignment check, used to indicate that the microprocessor has accessed a word at an odd.
LAB 3 – Synchronous Serial Port Design Using Verilog
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.
Teaching Digital Logic courses with Altera Technology
Synthesizing a Bitcoin Miner for the OR1200 Tom Tracy II ECE 6502 – ASIC/SOC Spring 2014.
COMPUTER SYSTEMS ARCHITECTURE A NETWORKING APPROACH CHAPTER 12 INTRODUCTION THE MEMORY HIERARCHY CS 147 Nathaniel Gilbert 1.
Written by Whitney J. Wadlow
ECE 2110: Introduction to Digital Systems Introduction (Contd.)
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Maj Jeffrey Falkinburg Room 2E46E
ASIC Design Methodology
ECE232: Hardware Organization and Design
Memory COMPUTER ARCHITECTURE
Section 9: Virtual Memory (VM)
SoCKs Flow: Here, There, and Back Again
Synopsys PrimeTime.
Topics HDL coding for synthesis. Verilog. VHDL..
Page Replacement.
Week 5, Verilog & Full Adder
Morgan Kaufmann Publishers Memory Hierarchy: Virtual Memory
CSC3050 – Computer Architecture
THE ECE 554 XILINX DESIGN PROCESS
Measuring the Gap between FPGAs and ASICs
Translation Lookaside Buffers
CS703 - Advanced Operating Systems
THE ECE 554 XILINX DESIGN PROCESS
4.3 Virtual Memory.
Presentation transcript:

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 2014 Dated 05/09/2014

Robust Low Power VLSI Motivation 2  ASICs/SoCs have billions of transistors  Impossible to design everything manually  Cad tools to the rescue  To learn the basic full cad flow for ASIC/SoC design  MMU hard IP design as part of full processor design project

Robust Low Power VLSI Overview of Memory Management Unit  Memory Management Unit (MMU) an essential module in modern processors  Manages translation of virtual (logical) memory address space to physical address space  Provides memory protection for software programs 3 Source :

Robust Low Power VLSI Introduction to OR1200 and Its MMUs  Two MMUs defined  Instruction MMU  Controls I cache  Data MMU  Controls D cache  Interfacing with wishbone bus interface 4 Source: OR1200 Specification

Robust Low Power VLSI MMU Address translation Mechanism in OR1200 MMUs  MMU divides the virtual address space into pages  It uses an in-memory table of items called “page table” that contains a “page table entry” (PTE) per page, to map the virtual page numbers to physical memory  PTE has an associative cache called translation lookaside buffer (TLB) to avoid accessing main memory per address translation 5 Source: OR1200 Specification

Robust Low Power VLSI Basic Cad Flow for MMU Hard IP Design  Source HDL Modification  Synthesis of individual blocks  Formal Verification  Place and Route 6

Robust Low Power VLSI Simulation  Tool used  Synopsys VCS  Issues  Functionality of the MMU was not documented explicitly  Hard to interpret functionality using the lengthy modular Verilog code  Simulated using random inputs 7

Robust Low Power VLSI Design Synthesis  Tool Used  Design Compiler  Synthesized IMMU and DMMU separately  Clock and Reset pins had slow timing constraints of 50ns  Default Input/output pin-load constraints  Actual SRAM memory Verilog was integrated as black box for synthesis 8

Robust Low Power VLSI Synthesis Result Snaps 9  IMMU Synthesis snapshot

Robust Low Power VLSI Formal Verification  Tool used  Formality  SRAMs were treated as black boxes in the verification  SRAM Verilog was ports only for comparison  Successfully verified both IMMU and DMMU 10

Robust Low Power VLSI Milkyway Database Preparation for SRAM Hard Macros  Created the Tutorial for SRAM hard macro data base preparation  Method  Create the library and attach the technology file  Import the DEF there after  Issues  Directly DEF imports fails due as the DEF does not have technology file information  Verilog and DEF has port mismatch due to SRAM compiler bug for Verilog generation 11

Robust Low Power VLSI Place and Route  Tools use  IC Compiler (ICC)  Used the SRAM hard macro Milkyway databases  64X14, 64X22 and 64x24 macros  IMMU need manual floor planning as SRAM macros were overlapping on top of each other  Placement of Hard macros were fixed  Placement blockage was placed over the SRAM macros  DMMU uses normal scripted flow 12

Robust Low Power VLSI ICC Result Snapshots  Before fixing the aspect ratio DMMU and IMMU  246 X246 square microns 13

Robust Low Power VLSI ICC Result Snapshots  After fixing the aspect ratio at for DMMU and IMMU  289X220 square microns 14

Robust Low Power VLSI Deliverables  Wiki updated with all the deliverable materials including the Milkyway database creation with SRAM DEFs tutorial  Scripts uploaded in wiki  DVE  DC  Formality  ICC  SRAM Milkyway databases for macros 64x14, 64x22 and 64x24 uploaded in wiki and collab  Full placed and routed macro uploaded in collab dropbox 15

Robust Low Power VLSI Issues Faced  Had less time to learn the full flow  Skipped the Hercules DRC and LVS for the design  Also skipped Primetime signoff  Place and route using ICC showed following issues those are yet to be resolved  Floating net issues flags errors  VDD and VSS disconnection errors  In some cases, for unknown causes the ICC takes infinitely long time to check “Notch DRCs” 16

Robust Low Power VLSI Conclusion  We learned a great deal of information about the full cad flow for ASIC/SoC design  Also learned about the OR1200 and its DMMUs and in general MMU’s internal working mechanism  Had hands on tools and its flows like VCS, DC, Formality, ICC etc.  Delivered the final Milkyway database for the DMMU and IMMU within the course time  However, had issues with ICC about net connection errors those are yet to debug 17

Robust Low Power VLSI Future Possibility  To start the project earlier after two to three weeks from starting  Collect more information about the ICC flow and Develop a concrete ICC flow that works  Include EMIR in the ICC flow (already made the tutorial )  Include Hercules DRC and LVS verification for the final layouts  Signoff timing checks using prime time  (Integrate a full project and tapeout) 18

Robust Low Power VLSI Questions 19

Robust Low Power VLSI Overview contd.  TLB is not mandatory; however it improves address translation speed  A PTE can include information about  If the page is written  When it was last used  What process has the PTE associated with  Weather or not it should be cached etc. 20