vlsiguru-logo

AMBA4 APB UVC Development

VIP & UVC development for AMBA Protocols:

  • AMBA : Advanced Microcontroller Bus Architecture
    • AMBA protocols come in various generations, targeted for various data through put requirements.
    • Consists of following protocols (Starting from least complex to most complex)
      • APB : Advanced Peripheral Bus
      • ASB : Advanced System Bus
      • AHB2.0 : Advanced High performance bus
      • AXI3.0 : Advanced xtensible bus
      • AXI4.0
      • ACE : Advanced coherency Extension Bus
      • CHI : Coherency Hub Interface
    • Why Learn AMBA Protocols?
      • Over last 2 decades VLSI Industry has significantly moved towards RISC architecture from CISC architecture
      • ARM processors are synonymous with RISC Architecture
        • RISC architecture gives relatively higher performance with very less power consumption
        • CISC architecture gives higher performance at very high power consumption
        • Since electronics industry is moving to portable devices; lower power, and high performance devices plays significant role. Hence ARM processor plays very important role in any RISC based SOC’s.
        • More than 95% of RISC based SOC’s these days have at least one ARM processor in them.
        • ARM processors in come three variations : A series, M series, R series
        • All these processors are based on only 2 protocols : AXI & AHB
        • ARM recommends implementing peripheral components using APB protocol
        • Any project you work in VLSI industry, so there is more than 95% chance that, you will be working with at least one of above three protocols.
        • Hence it is important to learn AMBA protocols.
      • Protocol?
        • Set of rules on how a master component should communicate with slave component
        • Master is a component that initiates a request, i.e a processor, or a master port of interconnect
        • Slave is a component that responds to request from master, i.e a controller, or a slave port of Interconnect.
        • There is set of rules required for communication between master and slave. These rules collectively are called protocol.
        • Based on how complex we want this communication to be, we have different types of protocols.
        • For Ex, if we want to support basic write, read between master and slave, APB protocol is sufficient.
          • Write : master writing data to slave
          • Read : master reading data from slave
        • If we want some more features as below to be supported, then we need AHB kind of protocol
          • Protection
          • Burst transfers
          • Wrap transfers
        • If we want even more complex features(as below) to be support, then we choose more complex protocol like AXI
          • Out of order transactions
          • Overlapping transactions
          • Cacheble transactions
          • Bufferable transactions
          • Aligned and Unaligned transfers
        • More complex is the protocol, more signals are required to support different features. Hence signals count increases as we move from APB, ASB, AHB, AXI.
        • Similar to AMBA protocols, there are few more protocols like OCP, Wishbone, etc
          • OCP : Open Core Protocol
        • Course structure
          • Course will start with taking quick overview of APB protocol
            • Protocol features
            • Signals
            • Timing diagrams
            • APB based system architecture
            • AMBA3 APB & AMBA4 APB
            • APB UVC Architecture
              • UVC?
              • UVC components?
              • UVC component coding
              • APB Slave model coding
              • UVC & APB slave model integration
            • Developing APB sequences targeting APB features
            • Testcase coding and UVC validation.
          • Time line:
            • 3 to 4 weeks for complete flow starting from reading specification to developing various testcases.
            • 1st week: Understanding APB specification, timing diagrams, features
            • 2nd week: Understanding UVC concepts, components, functionality, coding
            • 3rd week: Coding completion
            • 4th week: Analysing results.
          • 1st week: (ideally should not take more than 3 days)
  • APB UVC Template Coding Video Link
    • https://www.youtube.com/watch?v=CFToCyshwbw
About the Author

Leave a Reply

*

captcha *

Online VLSI Training