An Automatic AMBA Wrapper Generation Tool for Embedded Cores Laboratory for Reliable Computing (LaRC) Electrical Engineering Department National Tsing.

Slides:



Advertisements
Similar presentations
1 IP-Based System-on-Chip Design 2002 IP Reuse Hardening via Embedded Sugar Assertions Erich Marschner 1, Bernard Deadman 2, Grant Martin 1 1 Cadence Design.
Advertisements

Bus arbitration Processor and DMA controllers both need to initiate data transfers on the bus and access main memory. The device that is allowed to initiate.
DATE 2003, Munich, Germany Formal Verification of a System-on-Chip Bus Protocol Abhik Roychoudhury Tulika Mitra S.R. Karri National University of Singapore.
Bus Specification Embedded Systems Design and Implementation Witawas Srisa-an.
IO Interfaces and Bus Standards. Interface circuits Consists of the cktry required to connect an i/o device to a computer. On one side we have data bus.
PRESENTER: PCLee System-on-chip (SoC) designs use bus protocols for high performance data transfer among the Intellectual Property (IP) cores.
3D Graphics Content Over OCP Martti Venell Sr. Verification Engineer Bitboys.
Digital Computer Fundamentals
I/O Organization popo.
Presenter : Cheng-Ta Wu Kenichiro Anjo, Member, IEEE, Atsushi Okamura, and Masato Motomura IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 39,NO. 5, MAY 2004.
I/O Organization popo.
1 System Level Verification of OCP-IP based SoCs using OCP-IP eVC Himanshu Rawal eInfochips, Inc.,4655 Old Ironsides Drive, Suite 385,Santa Clara, CA
Smart Card Reader. Quick Start Training Agenda Smart Card Introduction ISO 7816 Standard Smart Card Operation CoolRunner-II Smart Card Reader CoolRunner-II.
Computer Science & Engineering
1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 5: Memory and Peripheral Busses September 21, 2010.
Pipeline transfer testing. The purpose of pipeline transfer increase the bandwidth for synchronous slave peripherals that require several cycles to return.
6/14/991 Symbolic verification of systems with state machines David L. Dill Jeffrey Su Jens Skakkebaek Computer System Laboratory Stanford University.
Transaction Level Modeling with SystemC Adviser :陳少傑 教授 Member :王啟欣 P Member :陳嘉雄 R Member :林振民 P
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
Evaluation of Redundancy Analysis Algorithms for Repairable Embedded Memories by Simulation Laboratory for Reliable Computing (LaRC) Electrical Engineering.
ABACUS: A Hardware-Based Software Profiler for Modern Processors Eric Matthews Lesley Shannon School of Engineering Science Sergey Blagodurov Sergey Zhuravlev.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
COMP3221 lec31-mem-bus-II.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 32: Memory and Bus Organisation - II
NS Training Hardware. System Controller Module.
SOC Design Lecture 4 Bus and AMBA Introduction.
Computer Architecture Lecture 08 Fasih ur Rehman.
Presenter : Cheng-Ta Wu Vijay D’silva, S. Ramesh Indian Institute of Technology Bombay Arcot Sowmya University of New South Wales, Sydney.
Digital System Bus A bus in a digital system is a collection of (usually unbroken) signal lines that carry module-to-module communications. The signals.
1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 5: Memory and Peripheral Busses September 20, 2011.
SOC Consortium Course Material ASIC Logic National Taiwan University Adopted from National Chiao-Tung University IP Core Design.
The University of New Hampshire InterOperability Laboratory Introduction To PCIe Express © 2011 University of New Hampshire.
1 SERIAL PORT INTERFACE FOR MICROCONTROLLER EMBEDDED INTO INTEGRATED POWER METER Mr. Borisav Jovanović, Prof.dr Predrag Petković, Prof.dr. Milunka Damnjanović,
Spring EE 437 Lillevik 437s06-l8 University of Portland School of Engineering Advanced Computer Architecture Lecture 8 Project 3: memory agent Programmed.
Samsung ARM S3C4510B Product overview System manager
THE COMPUTER SYSTEM. Lecture Objectives Computer functions – Instruction fetch & execute – Interrupt Handling – I/O functions Interconnections Computer.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Top Level View of Computer Function and Interconnection.
HDL Bencher FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe the.
On Chip Bus National Taiwan University
HW/SW Co-design Lecture 4: Lab 2 – Passive HW Accelerator Design Course material designed by Professor Yarsun Hsu, EE Dept, NTHU RA: Yi-Chiun Fang, EE.
COMPUTER ORGANIZATIONS CSNB123. COMPUTER ORGANIZATIONS CSNB123 Expected Course Outcome #Course OutcomeCoverage 1Explain the concepts that underlie modern.
MBG 1 CIS501, Fall 99 Lecture 18: Input/Output (I/O): Buses and Peripherals Michael B. Greenwald Computer Architecture CIS 501 Fall 1999.
EEE440 Computer Architecture
Input-Output Organization
Modes of transfer in computer
SOC Consortium Course Material On Chip Bus National Taiwan University Adopted from National Taiwan University SOC Course Material.
1 EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 12: Memory and Peripheral Busses October 22nd, 2013 Slides.
This material exempt per Department of Commerce license exception TSU Xilinx On-Chip Debug.
EECS 373 Design of Microprocessor-Based Systems Prabal Dutta
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Group 1 chapter 3 Alex Francisco Mario Palomino Mohammed Ur-Rehman Maria Lopez.
Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture – Working with Buses & Interconnects.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
ECE 699: Lecture 6 AXI Interfacing Using DMA & AXI4-Stream.
Aditya Dayal M. Tech, VLSI Design ITM University, Gwalior.
Presented By Aditya Dayal ITM University, Gwalior.
Computer Architecture. Top level of Computer A top level of computer consists of CPU, memory, an I/O components, with one or more modules of each type.
AMBA® 3 AHB-Lite Protocol
Interconnection Structures
ME2100 EMBEDDED SYSTEM DESIGN (ARM9™) [Slide 8] ARM AMBA Bus BY DREAMCATCHER
FPro Bus Protocol and MMIO Slot Specification
Burst read Valid high until ready high
SOC Design Lecture 4 Bus and AMBA Introduction.
Presentation transcript:

An Automatic AMBA Wrapper Generation Tool for Embedded Cores Laboratory for Reliable Computing (LaRC) Electrical Engineering Department National Tsing Hua University

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 2 OutlineOutline  Introduction  Template and Configuration  Verification and Simulation Result  Conclusion

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 3 OutlineOutline  Introduction  AMBA System  AMBA Wrapper Generation Tool  Template and Configuration  Verification and Simulation Result  Conclusion

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 4 AMBA System  Advanced Microcontroller Bus Architecture  Distinct Buses Defined within AMBA  Advanced High-performance Bus (AHB)  Advanced System Bus (ASB)  Advanced Peripheral Bus (APB)

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 5 AMBA System

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 6 AHB Model Diagram

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 7 AHB Multiplexer Scheme

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 8 AHB Basic Transfer Cycles

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 9 Overview of AHB Wrapper Generation Tool

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 10 The Flow to Use Tool

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 11 Software System

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 12 OutlineOutline  Introduction  Template and Configuration  AHB Slave  AHB Master  Verification and Simulation Result  Conclusion

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 13 AHB Slave Template Interface  Define some established signals for user to choose.

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 14 AHB Slave Template  WR_valid: this is a signal from Wrapper to slave IP core. Its function is to indicate that write data is valid or not.  WR_valid: connected_port_name,, time_offset  WR_valid: wr_valid, high, 1 Without WR_ready With WR_ready

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 15 AHB Slave Template  RD_valid: this is a signal from Wrapper to slave IP core. Its function is to indicate that Wrapper will read data from slave, that is, Wrapper is ready to be transferred data from slave.  RD_valid: connected_port_name,, time_offset  RD_valid: rd_valid, high, 1 Wrapper Without RD_ready Wrapper With RD_ready

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 16 AHB Slave Template  Range[N-1:0]: this is a signal from Wrapper to slave IP core. Its function is to decode address and activate some signal high or low. And ‘ N ’ is an arbitrarily positive integer.  Range: [, range_number, {connected_port_name, address_mask_pattern,, delay}]  Range: Yes, 2, dec_out1, 8000_xxxx, high, 0, dec_out2, 8100_xxxx, low, 1

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 17 AHB Slave Template  Start_WR: Its function is to indicate that an AHB master writes the first transfer of a burst.  End_WR: Its function is to indicate that an AHB master writes the last transfer of a burst.  Start_WR: [, connected_port_name, start_address,, time_offset]  Start_WR: Yes, init, 0, high, 0  End_WR: [, connected_port_name, start_address,, time_offset]  End_WR: Yes, last, 0, high, 0

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 18 AHB Slave Template  Chip_select: this is a signal from Wrapper to slave IP core. Its function is to enable the slave core. It ’ s timing can be specified by time offset with respect to the reference cycle.  Chip_select: [, connected_port_name,, time_offset]  Chip_select: yes, cen, low, 1

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 19 AHB Slave Template  WR_Addr: this is a signal from Wrapper to slave IP core. Its function is to translate AHB address to IP core or to translate IP address to AHB.  WR_Addr: connected_port_name, bit_width, mask_pattern, time_offset  WR_Addr: waddr_porta, 16, 0000_ffff, 1  WR_Data: this is a signal from Wrapper to slave IP core. It carries write data from Wrapper to IP core. It is allowed that there are several write data ports.  WR_data: connected_port_name, bit_width, time_offset, address_mask_pattern  WR_data: wdata_porta, 32, 1, 6000_xxxx  RD_Data: this is a signal from slave IP core to Wrapper. It carries read data from IP core to Wrapper. It is allowed that there are several read data ports.  RD_data: connected_port_name, bit_width, address_mask_pattern  RD_data: rdata_porta, 32, 6100_xxxx

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 20 AHB Slave Template Example Range: Yes, 2, dec_out1, 8000_xxxx, high, 0, dec_out2, 8100_xxxx, low, 1 WR_valid: wr_valid, high, 1 RD_valid: rd_valid, high, 1 WR_Addr: address, 16, 0000_ffff, 1 WR_data: data_a, 32, 1, 6000_xxx WR_data: data_b, 16, 1, 6001_xxx RD_data: status, 32, 6100_xxx Range: Yes, 2, dec_out1, 8000_xxxx, high, 0, dec_out2, 8100_xxxx, low, 1 WR_valid: wr_valid, high, 1 RD_valid: rd_valid, high, 1 WR_Addr: address, 16, 0000_ffff, 1 WR_data: data_a, 32, 1, 6000_xxx WR_data: data_b, 16, 1, 6001_xxx RD_data: status, 32, 6100_xxx

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 21 AHB Master Template

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 22 Write Transactions of AHB Master Wrapper

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 23 Read Transactions of AHB Master Wrapper

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 24 OutlineOutline  Introduction  Template and Configuration  Verification and Simulation Result  AHB Slave Wrapper  For Template Protocol  For AMBA Compliance  AHB Master Wrapper  For Template Protocol  For AMBA Compliance  Conclusion

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 25 EASY (Example AMBA SYstem)

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 26 Verification of WR_valid, RD_valid, Chip_select, WR_data, RD_data and WR_addr  32 sequence address (HADDR)  0xE  0xE  0xE  0xE000027C  5 wrapper type  5 types of timing-shift … …

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 27 Verification of AHB Slave Wrapper  Simulation with a counter and a SRAM

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 28 Verification of Range Signal  Range  0xE , 0xE , 0xE , 0xE100000C, 0xE  5 wrapper type: total pattern number is 25

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 29 Verification of Start_WR and End_WR Signals  Start_WR  0xE  HBURST[2:0] = 3’b001 (Incrementing Burst)  5 wrapper type: total pattern number is 5  End_WR  0xE  HBURST[2:0] = 3’b001 (Incrementing Burst)  5 wrapper type: total pattern number is 5

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 30 AMBA-Compliant Verification for AHB Slave

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 31  Basic transfers  Transfers to Other Slaves  0, 1 and greater than 1 wait state  An ERROR response  A RETRY response  Basic Read transfer with Wait States  Read transfers with IDLE cycles  Read transfers with BUSY cycles  Basic Write transfer with Wait States  Write transfers with IDLE cycles  Write transfers with BUSY cycles Testbench Requirements for a Slave Interface

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 32 Testbench Requirements for a Slave Interface  Basic Burst transfers  Error response

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 33 Verification Architecture of AHB Master Wrapper

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 34 Testbench to Verify AHB Master Wrapper  For write/read data  cmd_valid = 1  command: ADDRESS = 0x0~0x1F  (cmd_latched)  wdata_valid = 1  (wdata_latched)  cmd_valid = 1  command: ADDRESS = 0x0~0x1F  (cmd_latched)  rdata_valid = 1  (rwdata_latched)

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 35 Testbench to Verify AHB Master Wrapper  For response  cmd_valid = 1  command: ADDRESS = 0xA0~0xA2  (resp_valid)  resp_latched = 1  Check response  Also check the operation of MERROR, MREADY and MRETRY  Drive MADDR, MWRITE, MTRANS, MBUSREQ and MBURST respectively and then check the behavior of AHB

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 36 AMBA-Compliant Verification for AHB Master

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 37 Testbench Requirements for a Master Interface  First Transfer Responses  Ensure that all types of response are seen to the first transfer of burst.  Middle Transfer Responses  Last Transfer Responses  Losing Bus Ownership  Grant Response Combinations  Retry Responses  Multi-cycle Responses  ERROR, RETRY and SPLIT with more than two cycles  Busy Transfers  Generate a BUSY transfer for all responses to the previous transfer

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 38 Experiment for IPs  Compare the time of the two flow to produce AHB wrapper

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 39 Experiment Results AESRSA1RSA2HMAC Total Time (Manual) 3-day3~4 days7-day Total Time (Generator) 12 min.23 min.9 min.20 min. Manual Area (gates) Generator’s Area (gates) Area Overhead 16.29%28.53%24.91%16.40%

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 40 OutlineOutline  Introduction  Definition of Template Signals  Definition of Configuration  Simulation and Result  Conclusion

Laboratory for Reliable Computing (LaRC)May-2004 Ming-Shen Liu & Cheng-Wen Wu 41 ConclusionConclusion  The method provides a simple and direct way that designers’ IP core can be attached onto the AHB.  Advantage of using Wrapper Generator:  Reducing time of producing wrapper:  Producing manually: hours  Producing by Generator: minutes  Reducing the opportunity of wrapper’s error:  Disadvantage of using Wrapper Generator:  Area overhead  Can’t support every design type