DATE 2003, Munich, Germany Formal Verification of a System-on-Chip Bus Protocol Abhik Roychoudhury Tulika Mitra S.R. Karri National University of Singapore.

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

Copyright 2000 Cadence Design Systems. Permission is granted to reproduce without modification. Introduction An overview of formal methods for hardware.
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.
1 Dynamic Interconnection Networks Buses CEG 4131 Computer Architecture III Miodrag Bolic.
Bus Specification Embedded Systems Design and Implementation Witawas Srisa-an.
Homework Reading Machine Projects Labs
The Bus Architecture of Embedded System ESE 566 Report 1 LeTian Gu.
Evaluation of On-Chip Interconnect Architectures for Multi-Core DSP Students : Haim Assor, Horesh Ben Shitrit 2. Shared Bus 3. Fabric 4. Network on Chip.
1 SoC (DSP+ARM) Platform SungKyunKwan University VADA Lab. ( )
ARM Based microcontrollers Asst. Prof. Dr. Alper ŞİŞMAN.
Cortex-M3 Implementation Overview. Chapter 6 in the reference book.
PRESENTER: PCLee System-on-chip (SoC) designs use bus protocols for high performance data transfer among the Intellectual Property (IP) cores.
Computer Architecture
3D Graphics Content Over OCP Martti Venell Sr. Verification Engineer Bitboys.
COMP375 Computer Architecture and Organization Senior Review.
Algorithmic Software Verification VII. Computation tree logic and bisimulations.
Dr. Rabie A. Ramadan Al-Azhar University Lecture 3
Computer Science & Engineering
Interrupts, Timer, and Interrupt Controller
Presenter: PCLee VLSI Design, Automatic and Test, (VLSI-TSA-DAT).
Reporter :LYWang We propose a multimedia SoC platform with a crossbar on-chip bus which can reduce the bottleneck of on-chip communication.
Datorteknik BusInterfacing bild 1 Bus Interfacing Processor-Memory Bus –High speed memory bus Backplane Bus –Processor-Interface bus –This is what we usually.
Avalon Switch Fabric. 2 Proprietary interconnect specification used with Nios II Principal design goals – Low resource utilization for bus logic – Simplicity.
PradeepKumar S K Asst. Professor Dept. of ECE, KIT, TIPTUR. PradeepKumar S K, Asst.
SOC Design Lecture 6 HREQ and HGRANT. Kyungoh Park & Youpyo Hong, DGU Multi Master & Single Slave(MM & SS) Multiple masters cannot access the same slave.
Reporter:PCLee With a significant increase in the design complexity of cores and associated communication among them, post-silicon validation.
Puneet Arora ESCUG, 09 Abstraction Levels in SoC Modelling.
Teaching MC to Undergrads. Abhik Roychoudhury National University of Singapore.
Transaction Level Modeling with SystemC Adviser :陳少傑 教授 Member :王啟欣 P Member :陳嘉雄 R Member :林振民 P
COMP3221 lec31-mem-bus-I.1 Saeid Nooshabadi COMP 3221 Microprocessors and Embedded Systems Lectures 31: Memory and Bus Organisation - I
Reliable Data Storage using Reed Solomon Code Supervised by: Isaschar (Zigi) Walter Performed by: Ilan Rosenfeld, Moshe Karl Spring 2004 Midterm Presentation.
1 COMP541 Interrupts, DMA, Serial I/O Montek Singh April 24, 2007.
An Automatic AMBA Wrapper Generation Tool for Embedded Cores Laboratory for Reliable Computing (LaRC) Electrical Engineering Department National Tsing.
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
Hardware Overview Net+ARM – Well Suited for Embedded Ethernet
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.
Secure Embedded Processing through Hardware-assisted Run-time Monitoring Zubin Kumar.
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.
Meier208/MAPLD DMA Controller for a Credit-Card Size Satellite Onboard Computer Michael Meier, Tanya Vladimirova*, Tim Plant and Alex da Silva Curiel.
Basic Microcomputer Design. Inside the CPU Registers – storage locations Control Unit (CU) – coordinates the sequencing of steps involved in executing.
1 CS503: Operating Systems Spring 2014 Dongyan Xu Department of Computer Science Purdue University.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Reliable Design of Safety Critical Systems Dr. Abhik Roychoudhury School of Computing
On Chip Bus National Taiwan University
COMPUTER ORGANIZATIONS CSNB123. COMPUTER ORGANIZATIONS CSNB123 Expected Course Outcome #Course OutcomeCoverage 1Explain the concepts that underlie modern.
Memory Subsystem verification – Can it be taken for granted ?
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.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 16: Introduction to Buses and Interfaces.
Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture – Working with Buses & Interconnects.
Recen progress R93088 李清新. Recent status – about hardware design Finishing the EPXA10 JPEG2000 project. Due to the DPRAM problem can’t be solved by me,
SOC Design Lecture 5 AMBA Signals. Youpyo DGU AMBA Bus Types.
Aditya Dayal M. Tech, VLSI Design ITM University, Gwalior.
Presented By Aditya Dayal ITM University, Gwalior.
System on a Programmable Chip (System on a Reprogrammable Chip)
VIRTUAL NETWORK COMPUTING SUBMITTED BY:- Ankur Yadav Ashish Solanki Charu Swaroop Harsha Jain.
1 load [2], [9] Transfer contents of memory location 9 to memory location 2. Illegal instruction.
Chapter 6 Input/Output Organization
ARM Embedded Systems
System-on-Chip Design On-Chip Buses
Yogesh Mahajan, Sharad Malik Princeton University
Avalon Switch Fabric.
ME2100 EMBEDDED SYSTEM DESIGN (ARM9™) [Slide 8] ARM AMBA Bus BY DREAMCATCHER
System Interconnect Fabric
Burst read Valid high until ready high
SOC Design Lecture 4 Bus and AMBA Introduction.
Modified from notes by Saeid Nooshabadi
Advanced Computer Architecture Lecture 3
Presentation transcript:

DATE 2003, Munich, Germany Formal Verification of a System-on-Chip Bus Protocol Abhik Roychoudhury Tulika Mitra S.R. Karri National University of Singapore

DATE 2003, Munich, Germany Organization Bus based SoC designs Features of AMBA bus protocol Model Checking of No-starvation Results and Conclusion

DATE 2003, Munich, Germany Bus-based SoC design Timer Keypad ARM Processor On-chip RAM DMA bus master Mem. Interf. AHBAPB BRIDGEBRIDGE

DATE 2003, Munich, Germany Bus Protocols Popularity of bus-based SoC designs necessitate the verification of bus protocols. Different from testing/validating the cores. SoC Bus Protocols often involve advanced features for high speed data transfer, leading to corner cases Pipelining Wait Cycles Split Transfers Case study: AMBA AHB protocol from ARM.

DATE 2003, Munich, Germany Bus architecture Several masters and slaves are connected to AHB. An arbiter decides which master will transfer data. Data is transferred from a master to a slave in bursts. Any burst involves read/write of a sequence of addresses. The slave to service a burst is chosen depending on the addresses (decided by a decoder). AHB is connected to APB via a bus bridge. Let us study the transfer features of AHB protocol

DATE 2003, Munich, Germany Pipelining within a burst Address and data of consecutive transfers are transmitted in same clock cycle,

DATE 2003, Munich, Germany Wait cycles Slave may not be ready to service request. Inserts Wait cycle(s) by de-asserting HREADY

DATE 2003, Munich, Germany Transfer Cancellation

DATE 2003, Munich, Germany Split response Cycle i Master M drives address A on bus Cycle i+1 Slave S thinks it can take too long to service A, issues SPLIT response Arbiter snoops on SPLIT response, records current master. Issued in (i+1, i+2) to kill already initiated transfers Cycle i+2 Arbiter disables bus access to current master. Others can now access the bus.

DATE 2003, Munich, Germany Model Checking Developed a formal specification of the protocol. Various kinds of components > 1 Masters Slave(s) Arbiter Bus interface of each component modeled as a finite state machine. Protocol = Synchronous composition of these FSMs Model check temporal properties (e.g. non-starvation) using Cadence SMV tool.

DATE 2003, Munich, Germany Checking for no-starvation Property in Temporal Logic CTL AG ( HBUSREQ m AF HGRANT m ) HBUSREQ m : Master m requests bus access HGRANT m : Master m granted access by arbiter Do not consider starvation introduced by incorrect implementation of the cores, e.g. The arbiter is unfair. A slave is not guaranteed to service every split transfer eventually.

DATE 2003, Munich, Germany Checking for no-starvation Check for starvation introduced by corner cases of the protocol However, do not fix any implementation of the cores Do not code up a fair arbiter. Do not code up a slave which is guaranteed to eventually service split responses. Use assertions to denote these features using fair, slave_live prove no_starve; assume fair, slave_live; Restrict model checking to executions satisfying these assertions (possible in Cadence SMV).

DATE 2003, Munich, Germany Counter-example

DATE 2003, Munich, Germany Conclusion Case study in model checking of a bus protocol with non-trivial data transfer features Interaction of these features (Pipelining + Splits) leads to a corner case starvation scenario. Source of starvation was suspected via human understanding of the protocol. Model checking effort was taken up to: verify our suspicion. Find a detailed counter-example trace.