Improving Memory Access time by Building an AMBA AHB compliant Memory Controller

Similar documents
BUILDING AN AMBA COMPLIANT MEMORY CONTROLLER

Architecture of An AHB Compliant SDRAM Memory Controller

AMBA 3 AHB Lite Bus Architecture

ISSN Vol.03, Issue.08, October-2015, Pages:

Digital Blocks Semiconductor IP

A NOVEL DESIGN APPROACH TO AN AMBA AHB COMPLIANT MEMORY CONTROLLER

iimplementation of AMBA AHB protocol for high capacity memory management using VHDL

Verilog AHB Testbench User's Guide

Design of an Efficient FSM for an Implementation of AMBA AHB in SD Host Controller

PrimeCell AHB SRAM/NOR Memory Controller (PL241)

Keywords- AMBA, AHB, APB, AHB Master, SOC, Split transaction.

Note: Closed book no notes or other material allowed, no calculators or other electronic devices.

Serial Peripheral Interface Design for Advanced Microcontroller Bus Architecture Based System-on- Chip

PrimeCell AHB SDR and SRAM/NOR Memory Controller (PL243)

VERIFICATION ANALYSIS OF AHB-LITE PROTOCOL WITH COVERAGE

AMBA AHB Bus Protocol Checker

AHB-Lite Multilayer Interconnect IP. AHB-Lite Multilayer Interconnect IP User Guide Roa Logic, All rights reserved

Design and Verification of AMBA AHB- Lite protocol using Verilog HDL

Hardware Implementation of AMBA Processor Interface Using Verilog and FPGA

CoreAHB. Contents. Product Summary. General Description. Intended Use. Key Features. Benefits. Supported Device Families

EECS 373 Design of Microprocessor-Based Systems

Assertion Based Verification of AMBA-AHB Using System Verilog

Pooja Kawale* et al ISSN: [IJESAT] [International Journal of Engineering Science & Advanced Technology] Volume-6, Issue-3,

Design of AMBA Based AHB2APB Bridge

DEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE

World Journal of Engineering Research and Technology WJERT

Bus Interfaces and Standards. Zeljko Zilic

VeriFlow Technologies India (P) Ltd

Design of AHB Arbiter with Effective Arbitration Logic for DMA Controller in AMBA Bus

ISSN: [IDSTM-18] Impact Factor: 5.164

Ref: AMBA Specification Rev. 2.0

INSTITUTE OF AERONAUTICAL ENGINEERING Dundigal, Hyderabad ELECTRONICS AND COMMUNICATIONS ENGINEERING

Buses. Maurizio Palesi. Maurizio Palesi 1

International Journal of Applied Sciences, Engineering and Management ISSN , Vol. 05, No. 02, March 2016, pp

ECE 574: Modeling and Synthesis of Digital Systems using Verilog and VHDL. Fall 2017 Final Exam (6.00 to 8.30pm) Verilog SOLUTIONS

CoreHPDMACtrl v2.1. Handbook

VLSI DESIGN OF AMBA BASED AHB2APB BRIDGE

ARM PrimeCell SDRAM Controller (PL170)

Novel Architecture for Designing Asynchronous First in First out (FIFO)

Part A. Yunfei Gu Washington University in St. Louis

World Class Verilog & SystemVerilog Training

Embedded Busses. Large semiconductor. Core vendors. Interconnect IP vendors. STBUS (STMicroelectronics) Many others!

MLR Institute of Technology

Design of an AMBA AHB Reconfigurable Arbiter for On-chip Bus Architecture

SEMICON Solutions. Bus Structure. Created by: Duong Dang Date: 20 th Oct,2010

5. On-chip Bus

White Paper AHB to Avalon & Avalon to AHB Bridges

The CoreConnect Bus Architecture

ARM Processors for Embedded Applications

DESIGN AND IMPLEMENTATION OF THE ADVANCED MICROCONTROLLER BUS ARCHITECTUREAXI-APB BRIDGE ON FPGA

ISSN: [Bilani* et al.,7(2): February, 2018] Impact Factor: 5.164

Design and Implementation of AXI to AHB Bridge Based on AMBA 4.0

Lecture 10 Introduction to AMBA AHB

Design and Implementation of AMBA AXI to AHB Bridge K. Lakshmi Shirisha 1 A.Ramkumar 2

Design & Implementation of AHB Interface for SOC Application

AHB Slave Decoder. User Guide. 12/2014 Capital Microelectronics, Inc. China

AXI and OCP protocol Interface for Sytem on Chip

DESIGN A APPLICATION OF NETWORK-ON-CHIP USING 8-PORT ROUTER

CHAPTER - 2 : DESIGN OF ARITHMETIC CIRCUITS

7 Series FPGAs Memory Interface Solutions (v1.9)

Bus AMBA. Advanced Microcontroller Bus Architecture (AMBA)

The Design of MCU's Communication Interface

A Low Power DDR SDRAM Controller Design P.Anup, R.Ramana Reddy

Digital System Design with SystemVerilog

Chapter 5 Internal Memory

Digital Blocks Semiconductor IP

Design And Implementation of Efficient FSM For AHB Master And Arbiter

System Design Kit. Cortex-M. Technical Reference Manual. Revision: r0p0. Copyright 2011 ARM. All rights reserved. ARM DDI 0479B (ID070811)

Design and Implementation of High-Performance Master/Slave Memory Controller with Microcontroller Bus Architecture

FSM & Handshaking Based AHB to APB Bridge for High Speed Systems

Excalibur Solutions Using the Expansion Bus Interface. Introduction. EBI Characteristics

The SOCks Design Platform. Johannes Grad

St.MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad

2. BLOCK DIAGRAM Figure 1 shows the block diagram of an Asynchronous FIFO and the signals associated with it.

Microprocessors and Microcontrollers (EE-231)

Lecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING QUESTION BANK NAME OF THE SUBJECT: EE 2255 DIGITAL LOGIC CIRCUITS

System-On-Chip Design with the Leon CPU The SOCKS Hardware/Software Environment

VERIFICATION OF AMBA AXI BUS PROTOCOL IMPLEMENTING INCR AND WRAP BURST USING SYSTEM VERILOG

Digital Blocks Semiconductor IP

DESIGN OF HIGH SPEED LINK BFFERB FOR HDLC PROCESSOR

VERIFICATION OF AHB PROTOCOL USING SYSTEM VERILOG ASSERTIONS

Actel s SX Family of FPGAs: A New Architecture for High-Performance Designs

1. INTRODUCTION OF AMBA

of Soft Core Processor Clock Synchronization DDR Controller and SDRAM by Using RISC Architecture

CoreAHBtoAPB3 v3.1. Handbook

EECS150 - Digital Design Lecture 17 Memory 2

Excalibur ARM-Based. Embedded Processors PLDs. Hardware Reference Manual January 2001 Version 1.0

Memory-Mapped SHA-1 Coprocessor

AHB2APB Bridge. User Guide. 11/2013 Capital Microelectronics, Inc. China

AMBA Protocol for ALU

Block Diagram. mast_sel. mast_inst. mast_data. mast_val mast_rdy. clk. slv_sel. slv_inst. slv_data. slv_val slv_rdy. rfifo_depth_log2.

EECS 373. Design of Microprocessor-Based Systems. Prabal Dutta University of Michigan. Announcements. Homework #2 Where was I last week?

Computer Organization. 8th Edition. Chapter 5 Internal Memory

Tech Spec for SDXC Host Controller

DATASHEET. Synchronous Serial Interface (SPI)

PINE TRAINING ACADEMY

EECS 373 Practice Midterm / Homework #3 Fall 2014

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

Configurable UART ver 2.10

Transcription:

Improving Memory Access time by Building an AMBA AHB compliant Memory Controller Arun G M.Tech(Student),VLSI SJBIT, Bangalore-60 Vijaykumar T Associate Lecturer, Dept. of ECE SJBIT, Bangalore-60 Abstract Memory access time has been a bottleneck in many microprocessor applications which limits the system performance. Memory controller (MC) is designed and built to attacking this problem. The memory controller is the part of the system that, well, controls the memory. The memory controller is normally integrated into the system chipset. This paper shows how to build an Advanced Microcontroller Bus Architecture (AMBA) compliant MC as an Advanced High-performance Bus (AHB) slave. The MC is designed for system memory control with the main memory consisting of SRAM and ROM. Additionally, the problems met in the design process are discussed and the solutions are given in the paper. Keywords-.ARM; AMBA; Memory Controller; AHB bus I. INTRODUCTION Memory access time has been a bottleneck in many microprocessor applications which limits the system performance. Memory controller (MC) is designed and built to attacking this problem. Memory controller (MC) is designed and built to attacking this problem. The memory controller is the part of the system that, well, controls the memory. It generates the necessary signals to control the reading and writing of information from and to the memory, and interfaces the memory with the other major parts of the system. The memory controller is normally integrated into the system chipset. In this paper, an Advanced Microcontroller Bus Architecture (AMBA) compliant memory controller is designed for system memory control with the main memory consisting of SRAM and ROM. The memory controller is compatible with Advanced High-performance Bus (AHB) which is a new generation of AMBA bus, so we call it AHB-MC. The AHB-MC has several features which are shown as flows: Designed with synthesizable HDL for Application Specific Integrated Circuit (ASIC) synthesis Supports multiple memory devices including static random access memory (SRAM), read-only memory (ROM) Complies with AMBA AHB protocol Supports one to four memory banks for SRAM and ROM Programmable memory timing register and configuration registers Shared data path between memory devices to reduce pin count This paper describes how to build the AHB-MC. And combining the problem met in the process of designing, the corresponding solutions are presented. Finally, the simulation results are presented. II. ARCHITECTURE OF AHB-MC. The AHB-MC mainly consists of three modules: AHB slave interface, configuration interface, and external memory interface. Figure 1 shows the architecture of AHB-MC. Figure 1. Architecture of AHB-MC 203

A. AHB slave interface The AHB slave interface converts the incoming AHB transfers to the protocol used internally by the AHB-MC. The state machine is shown in Figure 2. Figure 4. Memory read with two wait states Figure 2. AHB slave interface state machine B. External memory interface The external memory issues commands to the memory from the command FIFO, and controls the cycle timings of these commands. The state machine is shown in Figure3. Figure 5. Memory write with two wait states 1) Memory bank select Because system will change the memory map after system boot, AHB-MC is designed to support a remap signal which is used to provide a different memory map. AHB-MC has four memory banks, which are selected by XCSN signal. The XCSN signal is controlled by the address of a valid transfer, and the system memory map mode. So before the system memory is remapped, the boot ROM at 0x3000 0000 is also mapped to the base address of 0x0000 0000 as shown in Table 1. Figure 3. External memory interface state machine Figure 4 and Figure 5 show the timing of a read from memory and a write to memory with two wait states 204

2) Memory write control To support for writing in word (32-bits), half-word (16-bits) and byte (8-bits), the XWEN signal is used in the AHB-MC. Table 2 shows the relationship between XCSN and the inputs from AHB bus. finish on the bus and therefore allows a higher-priority master to get access to the bus. The state machine is showed in Figure 6. Figure 6. Sequential-access state machine III. BURST TRANSFER SUPPORT With the increasing system frequency, it s hard to accomplish the address decoding and memory access operations in one clock cycle. Therefore, wait states are inserted into the data cycle to ensure there is enough time for address decoding and memory accessing. But the method that inserting wait state will cause system performance drop dramatically. Therefore, a sequential-access (burst) method is presented to resolve this problem in this paper. In this method, all AHB fixed length burst types are directly translated to fixed length bursts, and all undefined length INCR bursts are converted to INCR4 bursts. Burst operation has performance benefits because when the first beat of a burst is accepted, it contains data about the remaining beats. For example, when AHB-MC got the first beat of a read burst, all the data required to complete the transfer can be read from memory and restored in the read data FIFO. SO this first transfer has some delay before data is returned. But subsequent beats of the burst can have less delay because the data they require might have already been prepared in the FIFO. To further improve the system performance, a RETRY response is used that AHB-MC can release the bus when it is preparing the data. This mechanism allows the transfer to IV. MEMORY SYSTEM In the arm architecture, instructions are all 32-bits, while instructions are 8-bits in the external ROM and SRAM. Therefore the lowest two addresses of ROM and SRAM are not connected to the external address bus. Additionally, to support byte writing, SRAM needs to be separated as four independent banks or has a byte-write enable signal. The basic memory system architecture is shown in Figure 7. Figure 7. Memory system architecture V. ASYNCHRONOUS CLOCK The AHB-MC has two clock domains: AHB clock domain and external memory clock domain as shown in Figure 8. Asynchronous FIFO is used between two clock domains as a data buffer. 205

Figure 8. Clock domains Figure 10. Two-flip-flop synchronizer The main benefit of asynchronous clocking is that you can maximize the system performance, while running the memory interface at a fixed system frequency. Additionally, in sleep-mode situations when the system is not required to do much work, you can lower the frequency to reduce power consumption. However, asynchronous clock will cause the flip-flop going metastable state and not converging to a legal stable state by the time the output must be sampled again as shown in Figure 9. To resolve this problem, the most common way is inserting a two-flip-flop synchronizer as shown in Figure 10. VI. VERIFICATION AND SIMULATION RESULTS The verification method used in this paper, is to put the AHB-MC into a minimum system which consists of ARM core, AHB bus, and AHB-MC as shown in Figure 11. Figure 11. Minimum system for test Figure 9. Asynchronous clocks and synchronization failure The code used for testing is put in ROM, if the system can work correctly, then we know the testcase past. The simulation waveforms of a simple test code are shown. Figure 12 shows read with zero wait states form the external ROM. The address is registered at rising edge of hclk (AHB bus clock), after which ex_oen (external memory read enable) signal goes high, then read data reach hrdata (AHB read data bus) at falling edge of hclk. 206

[5] Clifford E. Cummings, Synthesis and scripting Techniques for Designing Multi-Asynchronous Clock Designs, Sunburst Design, Inc Figure 12. Read with zero wait state from ROM Write with zero states to the external RAM is shown in Figure 13. A write operation is initiated by hwrite going high. Then the address is send to external memory address bus and ex_wen (external memory write enalbe) signal goes low to enable the data from hwdata (AHB write data bus) stored in the RAM Author: Arun G Mobile: 7204386009 Figure 13. Write with zero wait state to RAM REFERENCES [1]http://en.wikipedia.org/wiki/Programmable_Interrupt_Con troller [2] http://en.wikipedia.org/wiki/intel_8259 [3]http://infocenter.arm.com/help/index.jsp?topic=/com.arm. doc.ihi0024b/index.html [4] Nazeih M.Batros, HDL Programming VHDL and Verilog, Dreamtech Press 2008 Reprint. [5] http://porta/.acm.org/citation.cfm [6] http://www.thesatya.com/8259.html [7]http://bochs.sourceforge.net/techspec/intel-8259A pic.pdf.gz [8] http://infocenter.arm.com/help/topic/com.arm.doc [9] AMBA Specification (Rev2.0), ARM Inc. [10] PrimeCell AHB SRAM/NOR Memory Controller, Technical Reference Manual, ARM Inc. [11] AHB Example AMBA System, Technical Reference Manual, ARM Inc. [12] Carter, J.; Hsieh,W., Impulse: building a smarter memory controller, High-Performance Computer Architecture, Dept. of Comput. Sci., Utah Univ., Salt Lake City, UT. 207