Physical Design Implementation of 32 bit DDR SDRAM Controller

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

How To Design A Chip Layout

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

IL2225 Physical Design

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

Design and Verification of Nine port Network Router

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

TRUE SINGLE PHASE CLOCKING BASED FLIP-FLOP DESIGN

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

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

Digital Systems Design! Lecture 1 - Introduction!!

Engineering Change Order (ECO) Support in Programmable Logic Design

Implementation Details

9/14/ :38

ECE410 Design Project Spring 2008 Design and Characterization of a CMOS 8-bit Microprocessor Data Path

DDR subsystem: Enhancing System Reliability and Yield

Introduction to Digital System Design

Modeling Latches and Flip-flops

Digital IC Design Flow

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

A New Paradigm for Synchronous State Machine Design in Verilog

Testing Low Power Designs with Power-Aware Test Manage Manufacturing Test Power Issues with DFTMAX and TetraMAX

1. Memory technology & Hierarchy

State-of-Art (SoA) System-on-Chip (SoC) Design HPC SoC Workshop

Hardware Implementation of Improved Adaptive NoC Router with Flit Flow History based Load Balancing Selection Strategy

Modeling Sequential Elements with Verilog. Prof. Chien-Nan Liu TEL: ext: Sequential Circuit

Hunting Asynchronous CDC Violations in the Wild

A Verilog HDL Test Bench Primer Application Note

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

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

International Journal of Electronics and Computer Science Engineering 1482

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

Getting the Most Out of Synthesis

Two-Phase Clocking Scheme for Low-Power and High- Speed VLSI

Finite State Machine Design and VHDL Coding Techniques

Power Reduction Techniques in the SoC Clock Network. Clock Power

Lizy Kurian John Electrical and Computer Engineering Department, The University of Texas as Austin

Figure 1 FPGA Growth and Usage Trends

CHAPTER 11: Flip Flops

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

White Paper Utilizing Leveling Techniques in DDR3 SDRAM Memory Interfaces

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

Route Power 10 Connect Powerpin 10.1 Route Special Route 10.2 Net(s): VSS VDD

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

Testing of Digital System-on- Chip (SoC)

LatticeECP3 High-Speed I/O Interface

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

Low Power AMD Athlon 64 and AMD Opteron Processors

Quartus II Introduction for VHDL Users

ARM Cortex-A9 MPCore Multicore Processor Hierarchical Implementation with IC Compiler

CHAPTER 3 Boolean Algebra and Digital Logic

Switch Fabric Implementation Using Shared Memory

路 論 Chapter 15 System-Level Physical Design

Microprocessor & Assembly Language

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

VLSI Design Verification and Testing

Serial port interface for microcontroller embedded into integrated power meter

Experiment # 9. Clock generator circuits & Counters. Eng. Waleed Y. Mousa

CONSTRAINT RANDOM VERIFICATION OF NETWORK ROUTER FOR SYSTEM ON CHIP APPLICATION

Case Study: Improving FPGA Design Speed with Floorplanning

The 104 Duke_ACC Machine

FPGA Implementation of an Advanced Traffic Light Controller using Verilog HDL

SOLVING HIGH-SPEED MEMORY INTERFACE CHALLENGES WITH LOW-COST FPGAS

Memory unit. 2 k words. n bits per word

Efficient Interconnect Design with Novel Repeater Insertion for Low Power Applications

EXPERIMENT 8. Flip-Flops and Sequential Circuits

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

Sequential 4-bit Adder Design Report

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

Lecture 7: Clocking of VLSI Systems

ECE232: Hardware Organization and Design. Part 3: Verilog Tutorial. Basic Verilog

Computer Architecture

Seeking Opportunities for Hardware Acceleration in Big Data Analytics

MSME TOOL ROOM, HYDERABAD CENTRAL INSTITUTE OF TOOL DESIGN

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

Design and Implementation of Vending Machine using Verilog HDL

Chapter 1 Computer System Overview

Space product assurance

Status of the design of the TDC for the GTK TDCpix ASIC

Computer Architecture

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

TIMING DIAGRAM O 8085

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

2003 IC/CAD Contest Problem 5: Clock Tree Optimization for Useful Skew

Module-I Lecture-I Introduction to Digital VLSI Design Flow

MACHINE ARCHITECTURE & LANGUAGE

Life Cycle of a Memory Request. Ring Example: 2 requests for lock 17

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

Prototyping ARM Cortex -A Processors using FPGA platforms

OpenSoC Fabric: On-Chip Network Generator

DESIGN AND VERIFICATION OF LSR OF THE MPLS NETWORK USING VHDL

OpenSPARC T1 Processor

COMPUTER SCIENCE AND ENGINEERING - Microprocessor Systems - Mitchell Aaron Thornton

PCB Project (*.PrjPcb)

OC By Arsene Fansi T. POLIMI

Architectural Level Power Consumption of Network on Chip. Presenter: YUAN Zheng

Asynchronous & Synchronous Reset Design Techniques - Part Deux

MICROPROCESSOR AND MICROCOMPUTER BASICS

PROGETTO DI SISTEMI ELETTRONICI DIGITALI. Digital Systems Design. Digital Circuits Advanced Topics

Rapid System Prototyping with FPGAs

Transcription:

International Journal of Emerging Engineering Research and Technology Volume 2, Issue 6, September 2014, PP 56-63 ISSN 2349-4395 (Print) & ISSN 2349-4409 (Online) Physical Design Implementation of 32 bit DDR SDRAM Controller Anuraag Marepally PG Scholar, Department of ECE, Aurora s technological and Research Institute, JNTU Hyderabad, Telangana, India marepally.anuraag@gmail.com V.V.N.S. Sudha Assistant Professor, Department of ECE, Aurora s Technological and Research Institute, JNTU Hyderabad, Telangana, India vedantam_sudha@yahoo.com Abstract: Present day SOC s and other high-end applications that don t contain a microprocessor require a dedicated memory controller. Synchronous DRAM is the major off-chip memory module being used presently. A memory controller is required to meet the high speed and high performance requirement of any design. This paper discusses the functional design of a 32-bit DDR SDRAM controller and implementation of the design through the synthesis and physical design flow which form a part of ASIC Design Flow. This block level, semicustom implementation is done using Synopsys Design Compiler and IC Compiler at 90nm technology node. Keywords: DDR SDRAM, Synopsys Design Compiler, IC Compiler, Physical Design, SOC, semi-custom. 1. INTRODUCTION Modern day SOC s and high end systems all demand for memory devices that provide high speed and high performance. The need for controllers comes in when there are many modules that share the memory resource simultaneously and to maintain high throughput and speed. To attain such high speeds the memory controllers should be designed to work at clock rates which lie in megahertz increasing the complexity of the controller. The speed of the design would also depend on the speed of the off-chip memory module. Synchronous DRAM's provide such facility of high data transfer rate and the Double Data Rate (DDR) SDRAM is one such memory module in the family. In this paper the functional design of DDR SDRAM controller is demonstrated and implementation of the design through the synthesis and physical design phase are done. The controller would act as an interface between the bus master and the memory module simplifying the command signals like refresh, read and write operation and initialization of the DDR SDRAM. This would minimize the effort of the bus master to communicate with the memory. Figure 1 demonstrates the block diagram of the DDR SDRAM memory controller that is located between the bus master and the memory. SDRAM s are classified based on their data transfer rates as Single Data Rate(SDR) SDRAM, in which the data transfer takes place on a single clock edge and Double Data Rate(DDR) SDRAM where the transfer takes place on both the clock edges (positive and negative). This property of DDR SDRAM s provides for higher data transfer rate without much increase in clock frequency and bus width [1]. IJEERT www.ijeert.org 56

Anuraag Marepally & V.V.N.S. Sudha Fig 1. DDR SDRAM controller system [1] 2. IMPLEMENTATION METHODOLOGY The DDR SDRAM Controller architecture is designed using Verilog HDL. The basic steps that an ASIC design must go through are specifications, architectural and behavioural description, simulation, logic synthesis of the RTL code, physical design flow, GDS-II [4]. The implementation of the controller design forms a part of the ASIC Design flow concentrating on Logic Synthesis and Physical Design phases. 3. ARCHITECTURAL DESCRIPTION DDR SDRAM Controller module receives addresses and control signals from the BUS Master. The Controller generates command signals, based on these signals the data is either read or write to a particular memory location. The DDR SDRAM Controller architecture is shown in Figure 2. It consists of three modules: 1) Main control module 2) signal generation module 3) data path module. The main control module has two state machines and a refresh counter. The two state machines are for initialization of the SDRAM and for generating the commands to the SDRAM. The data paths modules can performs the read and write operations between the bus master and DDR [2]. The main control module consists of three sub modules: 1) Initialization FSM module (INIT_FSM). 2) Command FSM module. 3) Counter module. Fig 2. Architecture of the controller [2] International Journal of Emerging Engineering Research and Technology 57

Physical Design Implementation of 32 bit DDR SDRAM Controller The finite state machines that are associated with the design are shown in Figure 3 and Figure 4. 4. IMPLEMENTATION OF THE DESIGN Fig 3. The DDR SDRAM Initialization fsm (INIT_FSM) [2] The implementation of the design is carried out in two phases: A) Logic Synthesis, B) Physical Design flow also known as Place and Route. A) Logic Synthesis: Fig4.The DDR SDRAM Command FSM (CMD_FSM)[2] International Journal of Emerging Engineering Research and Technology 58

Anuraag Marepally & V.V.N.S. Sudha Logic Synthesis is a process in which the verified RTL is converted in to an optimized, technology mapped Gate-Level Netlist. The CAD tool used for Synthesis is Design Compiler from Synopsys. Synthesis is the phase in which the design would be translated and mapped into actual hardware in the form of logic gates interconnected through nets. The mapping of the RTL is done taking the technology libraries as reference. The technology libraries used here are at 90nm node. The libraries along with the verified RTL and a set of constraints would constitute the necessary files required by the Design Compiler to synthesize the design. The tool would generate the Gate-level Netlist, timing and area reports, delay files(.sdf) and constraints(.sdc) files [5]. The top-level schematic of the design after logic synthesis is shown in figure 5. B) Physical Design Flow (Place and Route): The Physical Design Flow also called the Place and Route is a process in which the Gate-Level Netlist generated in the Synthesis phase would be converted into the physical layout of the design. In this phase the standard cells present in the physical libraries would be placed and routing is done accordingly. The CAD tool used for Place and Route is IC Compiler from Synopsys. A typical Place and Route phase would undergo the following hierarchical sequence: i) Floor planning. ii) Placement. iii) Clock Tree Synthesis. iv) Routing. After passing through above sequence of steps, one would have completely routed layout of the design along with the delay information. The tool accepts the Gate-Level Netlist, physical libraries, TLU+ files which contain the electrical characteristics of the interconnect wires and the required constraints file generated from synthesis. Before proceeding to the Floor Plan phase, the Milky-Way library should be setup which serves as the design environment. The physical libraries, technology files, TLU+ files are also defined [6]. i) Floor Planning: Floor panning is the first step in the hierarchy. In this phase the basic skeleton of our block would be established. Floor planning is the process of identifying structures and it should be placed close together. It allocating space for them in such a manner as to meet the sometimes conflicting goals of available space (cost of the chip), required performance, and the desire to have everything close to everything else. Floor planning also decides the IO structure, aspect ratio of the design, utilization of the core area, power and ground rails would be laid and the necessary power straps are laid over running right through the core area. A bad floor plan will lead to wastage of die area and routing congestion. Figure 6 illustrates the Floor planning result of the controller. ii) Placement: Placement is the predominant phase in physical design which would decide the efficiency of the routing process that follows. Both placement and routing go hand-in-hand iteratively. The standard cells required would be placed initially and coarse routing is done. The In-Placement optimization would perform iterations of set-up fixing, incremental timing and congestion driven placement. To fix setup, hold and max transition time Post-placement Optimization (PPO) is done before and after CTS. PPO before CTS would take ideal clocks into consideration whereas PPO after CTS would consider the propagated clock preserving useful skew if presents [3]. Sufficient care would be taken such that cell overlap is avoided and also the empty spaces that result after placement would be filled using filler cells which protect the block during the fabrication process. The placement is carried out using the place_opt command. Figure 7 shows the controller design post placement. International Journal of Emerging Engineering Research and Technology 59

Physical Design Implementation of 32 bit DDR SDRAM Controller Fig 5. Top level schematic of the Controller iii) Clock Tree Synthesis (CTS): Fig 6. Post Floorplan schematic of the controller Until now in the design the clocks that were used were ideal clock sources defined during the synthesis phase. CTS is the phase during which the clock would be actually propagated through the design. The main reason to perform CTS is to reduce clock skew and insertion delays. As the name suggests the clock would be synthesized as a H-tree and is fed to all the sequential elements present in the design. This tree is synthesized using buffer cells called clock buffers and placed at appropriate positions to reduce the skew and insertion delay. Hold slack if any is improved after CTS. clock_opt is the command that would perform CTS. Figure 8 shows the controller design post CTS. iv) Routing: Fig 7. Post placement schematic of the controller Routing is the final phase in the place and route of the controller design. All the placed standard cells would receive actual physical interconnections between them depending on the netlist. Routing is done in two steps which are Global routing and detailed routing. Global routing would provide International Journal of Emerging Engineering Research and Technology 60

Anuraag Marepally & V.V.N.S. Sudha routing resources that provide the connections. Specific metal layers and routing tracks within the global routing resources for detailed routing assigns routes. Cross talk reduction is also process during this. The routing is done using the route_opt command. Figure 9 shows a sample routed area of the controller design. 5. RESULTS Fig 8. Post CTS structure of the controller The design is simulated using Synopsys VCS to verify the functionality. Logic synthesis of the verified RTL was performed using Synopsys Design Compiler and the Place and Route was performed using Synopsys IC Compiler. Figures 10 and 11 shows the internal schematic of the DDR SDRAM controller showing all the modules after synthesis and the completely routed controller post routing. The reports related to synthesis and the physical design phase are generated and tabulated in Table 1 and Table 2 respectively. Fig 9. Sample routed area of the DDR SDRAM controller Fig 10. Internal schematic of the DDR SDRAM controller International Journal of Emerging Engineering Research and Technology 61

Physical Design Implementation of 32 bit DDR SDRAM Controller Table 1. Synthesis results of the controller Design Area (nm 2 ) 7611.81 Cell count 356 Dynamic power (µw) 101.36 Leakage power (µw) 28.66 Clock period (ns) 1.20 Table 2. Physical design results of the DDR SDRAM memory Controller Design Area (nm 2 ) 7081.13 Dynamic power (mw) 5.9898 Leakage power (µw) 28.82 Net Length(nm) 12879 6. CONCLUSION Fig 11. Completely routed DDR SDRAM Memory Controller Logic Synthesis and Physical Design Implementation of 32-bit DDR SDRAM Memory Controller is done which forms a part of the ASIC Design Flow at 90 nm technology node. The CAD tools used for Synthesis were Synopsys Design Compiler and Synopsys IC Compiler for Physical Design Flow. Future work may include performing the same for a smaller technology node. REFERENCES [1] DDR SDRAM Controller white paper, Lattice Semiconductor Corporation, Reference Design: RD1020, April 2004. [2] Amit Bakshi, SudhanshuShekhar Pandey, Tribikram Pradhan Ratnadip Dey, ASIC Implementation of DDR SDRAM Memory Controller,2013 IEEE International Conference on Emerging Trends in Computing, Communication and Nanotechnology (ICECCN 2013). [3] http://www.freescale.com/files/32bit/doc/app_note/an2910.pdf International Journal of Emerging Engineering Research and Technology 62

Anuraag Marepally & V.V.N.S. Sudha [4] http://userwww.sfsu.edu/necrc/files/synopsys%20tutorials/asic%20design%20flow%20tutori al.pdf. [5] Synopsys Design Compiler User Guide Version D-2010.03-SP2, June 2010. [6] Synopsys IC Compiler User Guide Version B-2008-09, 2008. International Journal of Emerging Engineering Research and Technology 63