IMPLEMENTATION OF BACKEND SYNTHESIS AND STATIC TIMING ANALYSIS OF PROCESSOR LOCAL BUS(PLB) PERFORMANCE MONITOR



Similar documents
Chapter 2 Logic Gates and Introduction to Computer Architecture

How To Design A Chip Layout

University of Texas at Dallas. Department of Electrical Engineering. EEDG Application Specific Integrated Circuit Design

What is a System on a Chip?

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

International Journal of Electronics and Computer Science Engineering 1482

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

7a. System-on-chip design and prototyping platforms

Operating Systems 4 th Class

Chapter 13: Verification

Introduction to CMOS VLSI Design (E158) Lecture 8: Clocking of VLSI Systems

Lecture 7: Clocking of VLSI Systems

EC313 - VHDL State Machine Example

Sequential Logic. (Materials taken from: Principles of Computer Hardware by Alan Clements )

Digital Systems Design! Lecture 1 - Introduction!!

Design and Verification of Nine port Network Router

PowerPC Microprocessor Clock Modes

Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University

Fault Modeling. Why model faults? Some real defects in VLSI and PCB Common fault models Stuck-at faults. Transistor faults Summary

Operating Systems. Lecture 03. February 11, 2013

find model parameters, to validate models, and to develop inputs for models. c 1994 Raj Jain 7.1

Microtronics technologies Mobile:

Getting the Most Out of Synthesis

Chapter 2 Basic Structure of Computers. Jin-Fu Li Department of Electrical Engineering National Central University Jungli, Taiwan

路 論 Chapter 15 System-Level Physical Design

CSE140 Homework #7 - Solution

DS1104 R&D Controller Board

System on Chip Design. Michael Nydegger

PCB Project (*.PrjPcb)

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation

Implementation Details

CHAPTER 11: Flip Flops

Application Note 132. Introduction. Voice Video and Data Communications using a 2-Port Switch and Generic Bus Interface KSZ MQL/MVL

Design and Analysis of Parallel AES Encryption and Decryption Algorithm for Multi Processor Arrays

ETEC 2301 Programmable Logic Devices. Chapter 10 Counters. Shawnee State University Department of Industrial and Engineering Technologies

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Decimal Number (base 10) Binary Number (base 2)

Design Cycle for Microprocessors

High-Stability Time Adjustment with Real-Time Clock Module

Open Flow Controller and Switch Datasheet

Latch Timing Parameters. Flip-flop Timing Parameters. Typical Clock System. Clocking Overhead

Chapter 1: Introduction. What is an Operating System?

Timing Methodologies (cont d) Registers. Typical timing specifications. Synchronous System Model. Short Paths. System Clock Frequency

System-on. on-chip Design Flow. Prof. Jouni Tomberg Tampere University of Technology Institute of Digital and Computer Systems.

A Verilog HDL Test Bench Primer Application Note

Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip

CHAPTER 4 MARIE: An Introduction to a Simple Computer

DESIGN AND IMPLEMENTATION OF ONLINE PATIENT MONITORING SYSTEM

ARM Microprocessor and ARM-Based Microcontrollers

Topics of Chapter 5 Sequential Machines. Memory elements. Memory element terminology. Clock terminology

Technical Note. Micron NAND Flash Controller via Xilinx Spartan -3 FPGA. Overview. TN-29-06: NAND Flash Controller on Spartan-3 Overview

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

CHAPTER 5 FINITE STATE MACHINE FOR LOOKUP ENGINE

TRUE SINGLE PHASE CLOCKING BASED FLIP-FLOP DESIGN

The 104 Duke_ACC Machine

Quartus II Introduction for VHDL Users

Lesson 7: SYSTEM-ON. SoC) AND USE OF VLSI CIRCUIT DESIGN TECHNOLOGY. Chapter-1L07: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

The implementation and performance/cost/power analysis of the network security accelerator on SoC applications

Machine Architecture and Number Systems. Major Computer Components. Schematic Diagram of a Computer. The CPU. The Bus. Main Memory.

ES_LPC4357/53/37/33. Errata sheet LPC4357/53/37/33. Document information

Example-driven Interconnect Synthesis for Heterogeneous Coarse-Grain Reconfigurable Logic

WA Manager Alarming System Management Software Windows 98, NT, XP, 2000 User Guide

VHDL GUIDELINES FOR SYNTHESIS

8051 MICROCONTROLLER COURSE

Introducción. Diseño de sistemas digitales.1

Let s put together a Manual Processor

HDL Simulation Framework

Designing Systems-on-Chip Using Cores

Concept Engineering Adds JavaScript-based Web Capabilities to Nlview at DAC 2016

8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA

EXPERIMENT 8. Flip-Flops and Sequential Circuits

Local Area Networks transmission system private speedy and secure kilometres shared transmission medium hardware & software

Debouncing Switches. Mechanical switches are one of the most common interfaces to a uc.

(Refer Slide Time: 00:01:16 min)

Microprocessor & Assembly Language

Attaining EDF Task Scheduling with O(1) Time Complexity

Computer System: User s View. Computer System Components: High Level View. Input. Output. Computer. Computer System: Motherboard Level

RTL Low Power Techniques for System-On-Chip Designs

Types Of Operating Systems

A Practical Approach to Education of Embedded Systems Engineering

The Evolution of CCD Clock Sequencers at MIT: Looking to the Future through History

GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8

A Utility for Leakage Power Recovery within PrimeTime 1 SI

A Smart Telephone Answering Machine with Voice Message Forwarding Capability

Contents. Chapter 1. Introduction

Time Synchronization of Computer in secure manner while using Teleclock & NTP Services

Power Reduction Techniques in the SoC Clock Network. Clock Power

ASYNCHRONOUS COUNTERS

Asynchronous IC Interconnect Network Design and Implementation Using a Standard ASIC Flow

Architectures and Platforms

INTEGRATED CIRCUITS. For a complete data sheet, please also download:

Latches, the D Flip-Flop & Counter Design. ECE 152A Winter 2012

Implementation and Design of AES S-Box on FPGA

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

TIMING-DRIVEN PHYSICAL DESIGN FOR DIGITAL SYNCHRONOUS VLSI CIRCUITS USING RESONANT CLOCKING

Transcription:

International Journal of Engineering & Science Research IMPLEMENTATION OF BACKEND SYNTHESIS AND STATIC TIMING ANALYSIS OF PROCESSOR LOCAL BUS(PLB) PERFORMANCE MONITOR ABSTRACT Pathik Gandhi* 1, Milan Dalwadi 2, Kinjal Upadhyay 3 1 M.Tech Scholar., VLSI, U.V.Patel college of Engineering and Technology, Ahmedabad, India. 2 M.Tech Scholar, VLSI, U.V.Patel college of Engineering and Technology, Ahmedabad, India. 3 Teaching Associate, einfochips Training And Research Academy, Ahmedabad, India. PLB performance monitor(ppm) is a one of the peripheral of the IBM PowerPC 405 core which is 32-bit RISC CPU for use in custom logic applications The PLB performance monitor (PPM) provides hardware for counting certain events associated with PLB bus transactions. In Synthesis there are three steps: Translation, Optimization, Mapping. In STA (Static Timing Analysis), dividing the circuit into timing path and calculates delay of each timing path with the help of Prime Time tool. The PPC405 core demonstrates the scalability of the PowerPC Architecture in its optimal fit for applications such as Consumer video applications including digital cameras, video games and set-top boxes, handheld GPS receivers, routers, LAN switches, ATM switches, high performance modems, and network interface cards, Industrial machine control and robotics. Keywords: Read, Write, Slack, Setup Time, Hold Time 1. INTRODUCTION The PPM can perform both event-occurrence counting and event-duration counting. Occurrence counting is accomplished via a set of counters that increment their value once for each occurrence of a selected event, until a predefined timer has expired. Duration counting is accomplished via separate registers that increment on every clock cycle that a pre-selected event is active. The PPM consists of a set of counters whose contents may be read by software and used to analyze and enhance PLB performance, or used as a software debug mechanism. Each counter can be individually enabled, and is capable of generating an external interrupt once that counter has reached its maximum value. Event selections and counter controls are performed via the control, status, and individual counter selection registers. 2. SYNTHESIS FLOW Fig 1: Synthesis Flow *Corresponding Author www.ijesr.org 3023

1. Translation: The process which converts RTL level code into gate level design with the help of Design Complier tool. In this step, the cells come from the GTECH Library that is technology independent library. 2. Optimization: In this step first to define technology library and target library[1]. The design is optimized according to different constraints[1] with the help of Synopsys Design Compiler tool. Optimization is done in terms of Timing, Area, and Power. 3. Mapping: Design is mapped with the target technology[1] such as 90 nm, 65 nm. 3. BACKEND SYNTHESIS IMPLEMENTATION OF PROCESSOR LOCAL BUS (PLB) PERFORMANCE MONITOR 3.1 Tools and Technology This design is implemented on 90 nm technology. The tool which is used for backend synthesis is Design Compiler and for Static Timing Analysis (STA) is Prime Time. 3.2 Implementation [Synthesis] First verilog code of this design is read[1] in Design Compiler using read command. This design is optimized according to constraints such as input delay[2], output delay[2], Clock frequency after setting technology library [1], link library [1]. by using compile command. Different techniques are used to optimize timing[3] 3.2.1 Timing Results [After giving compile command] of PLB Performance Monitor Compile command executes all constraints and optimizes design in terms of timing, area, power. This timing result is generated by using report_timing[1] command. Slack =Required Time[4] Arrival Time[4] Fig 2: Timing Result [slack violation] If slack is negative value so it means it is violated so it needs to be zero or positive. If slack is 0 or positive then design is working correctly. Copyright 2013 Published by IJESR. All rights reserved 3024

This design is again optimized by using compile_ultra [advanced optimization] [1] command. 3.2.2 Timing Result [After compile_ultra command] Fig 3: Timing Result [slack improved] After giving compile_ultra, for this design slack is improved [figure 3 shows slack is zero] 3.2.3 Quality of Report [After compile_ultra command]report_qor[1] Fig 4: Quality Of Report Figure 4 highlights Total Negative Slack is zero., No of Violating paths are zero. It also reports cell count, combinational area, non combinational area. It means this design is working fine. 3.2.4 Schematic [one of the path in which violation has come] Copyright 2013 Published by IJESR. All rights reserved 3025

Fig 5: (After Compile) (After Compile_ultra) After compile the design has different violations. One of the path that is DCM1/max_held_reg[16] has a violation which is shown in figure 5(after compile).technique used to solve this violation is restructuring. In this technique tool rearranges gates according to gates s internal delay in such a manner that overall functionality remains same as shown in Figure 5 (After compile_ultra). With comparison between compile and compile_ultra second input of NAND gate which is connected to a register is different. In compile_ultra second input of NAND gate is a single unit of block means there is no net delay for the same. And tool replaces the gate with small amount of delay. So overall timing would be minimized. In this manner, overall timing is minimized and slack has become zero. After checking these results netlist is generated by using write[1] command. 3.2.5 Power Result [After compile_ultra command] [report_power][1] 4. STATIC TIMING ANALYSIS Fig 6: Power Report STA is a method of validating the timing performance of a design by checking all possible paths for timing violations. To check violation for each path, Prime Time tool calculates the signal propagation delay along each path. 4.1 Main steps of STA Break the design into sets of timing paths Calculate the delay of each path Check all path delays to see if the given timing constraints are met. Copyright 2013 Published by IJESR. All rights reserved 3026

4.2 STA Flow 4.2.1 STA Inputs and Outputs For STA, Synopsys Prime Time tool is used. Fig 7: STA Flow Inputs: Netlist (generated in DC tool), Constraints, Libraries Outputs: High Quality Netlist,.sdf (Standard Delay Format)[5],.sdc(Synopsys Design Constraints) 4.3 Implementation Of Static Timing Analysis Of Processor Local Bus (PLB) Performance Monitor After giving all the inputs to Static Timing Analysis Tool, Bottleneck Report has to be generated to check number of violating paths through different cells. 4.3.1 Bottleneck Report of PLB Performance Monitor Fig 8: Bottleneck Report End Slack Result Copyright 2013 Published by IJESR. All rights reserved 3027

Figure 8 shows number of violating paths through different cells and End Slack result shows negative slack values at different paths. Total number of Negative Slack is 5. 4.3.2 Solution To Remove Timing Violations For PLB Performance Monitor Figure 8 shows one cell that is U11155 (NAND2X0). To get alternate cell from the Prime Time Tool, get_alternative_lib_cells command is used. After getting alternate cell, that cell is replaced with the appropriate cell. With this technique, cell is replaced with a high driving strength so overall timing would be minimized. get_alternative_lib_cells U11155 [6] swap_cell U11155 saed90nm_typ_ht_pg/nand2x1 [6] Bottleneck Report after swapping U11155 with saed90nm_typ_ht_pg/nand2x1 Fig: 9 Bottleneck Report [after swapping U11155] End Slack Result Figure 9 shows U11135 is replaced with saed90nm_typ_ht_pg/nand2x1which has a higher driving strength. Tool replaces cells with a less internal delay. It shows Bottleneck cost is reduced as before. Total number of Negative Slack is 4. Similarly, all cells which are shown in Bottleneck Report are replaced with different cells which have a higher driving strength. Fig 10: Final Bottleneck Report End Slack Result Copyright 2013 Published by IJESR. All rights reserved 3028

Figure 10 shows final Bottleneck Report which has zero Bottleneck Cost. It means there are no violations. End Slack report shows all slack are with positive values. 4.3.3 Timing Result After Removing All Bottleneck Fig 11: Setup Time Path Type is max then report is for Setup Path Type is min then report is for Hold Figure 11 shows that slack for Setup Time[3]= Required Time[3]-Arrival Time[3] This shows this design is working fine. 5. CONCLUSION =1.91 ns 1.91 ns = 0 ns slack for Hold Time[3]= Arrival Time[3]-Required Time[3] = 0.24 ns Hold Time In this paper we have implemented Backend Synthesis and Static Timing Analysis Of Processor Local Bus (PLB) Performance Monitor by using Synopsys Tools. From this paper, one can have a brief idea of how to do synthesis, Static Timing Analysis of Processor Local Bus (PLB) Performance Monitorby using synopsys tools. REFERENCES [1] Design Compiler User Guide Version F-2011.09-SP2, December 2011 [2] http://asic-soc.blogspot.in/2007/12/what-are-different-types-of-delays in.html[information about different delays] [Date: 25 th March,2013] [3] http://asicpd.blogspot.in/2012/08/timing-optimization-techniques_18.html[regarding different timing optimization techniques] [Date: 2 nd April,2013] Copyright 2013 Published by IJESR. All rights reserved 3029

[4] http://asicpd.blogspot.in/2012/08/static-timing-analysis.html[information of Static Timing Analysis] [Date: 10 th April,2013] [5] Prime Time Fundamentals User Guide Version F-2011.12, December 2011 [6] Prime Time Suite Tool Commands Version H-2012.12, December 2012 [7] http://www.vlsi-expert.com/2011/05/example-of-setup-and-hold-time-static.html [calculation of Setup Time and Hold Time][Date: 14 th April, 2013] [8] http://www.vlsi-expert.com/2011/02/synopsys-design-constraints-sdc-basics.html [information about constraints file] [Date:5 th April, 2013] [9] PLB Performance Monitor User s Manual[Date: 26 th March, 2013] Copyright 2013 Published by IJESR. All rights reserved 3030