Giter Site home page Giter Site logo

yippeexu / axi-uvm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from marcoz001/axi-uvm

0.0 1.0 0.0 14.9 MB

yet another AXI testbench repo. ;) This is for my UVM practice. https://marcoz001.github.io/axi-uvm/

Home Page: http://www.edaplayground.com/x/3qTu

License: GNU Lesser General Public License v3.0

SystemVerilog 97.97% Makefile 1.00% Python 1.03%

axi-uvm's Introduction

/*! \mainpage AXI Muckbucket

  • \section intro_sec Introduction
  • This is an AXI testbench. It uses UVM so unfortunately iverilog isn't sufficient. (I hope this changes soon.)
    • Dual-top testbench
    • Slave responder, no BFM (currently)
    • Supports AXI3 and AXI4
    • Supports all AXI data widths (8,16,32,64,128,256,512 and 1024)
    • Supports 32-bit and 64-bit address widths
    • Supports full and partial transfers.
    • Supports aligned and unaligned transfers.
    • Supports Fixed, Incrementing and Wrapped transfers.
    • Supports toggling *ready and *valid. Including AXI-incompatibly mode which randomly asserts and deasserts valid before ready asserts.
    • Fixed burst_type must be aligned. Unaligned Fixed transfers are not supported.
    • Testbench side is event driven. No #'delays, no @clock, etc
    • Emulator friendly (TB side is event driven. no @clock or # delays)
    • Pipelined AXI driver
    • back to back transfers with 0 in-between wait clocks.
    • Polymorphic interface
    • params_pkg.sv contains all dut parameters
    • A master driver - acts as an AXI master
    • A slave driver - acts as an AXI slave
    • Coverage collector
    • Scoreboard (counts address packets and response packets)
  • Good whitepaper on slave sequences:
  • http://www.verilab.com/files/reactive_slaves_presentation.pdf
  • http://www.verilab.com/files/litterick_uvm_slaves2_paper.pdf
  • Parallel/pipelined driver:
  • https://www.quora.com/What-is-the-best-way-to-model-an-out-of-order-transaction-driver-in-UVM
  • Monitors
  • https://verificationacademy.com/verification-horizons/june-2013-volume-9-issue-2/Monitors-Monitors-Everywhere-Who-Is-Monitoring-the-Monitors
  • verification plan (put in seperate doc):
    • For each supported data width:
    • check all 3 burst_types(e_FIXED, e_INCR, e_WRAP)
    • all possible burst_sizes (including invalid, make sure they fail)
    • all possible lens (only have a couple coverbins though,or any cross will be too large.)
    •   min (1),  max, everything in-between ?
      
    • stable *ready
    • toggling *ready
    • stable *valid
    • toggling *valid
    • AXI-incompabible *valid toggling (valid deasserts before ready asserts)
    • back-to-back bursts (aw,w,b,ar,r)
    • one clock delay between bursts (aw,w,b,ar,r)
    • serial mode (aw, then w, then b, repeat) (ar, then r, repeat)
    • pipelined (multiple aw, then multiple w, then multiple b, repeat) (multiple ar,then multiple r,repeat)

*/

axi-uvm's People

Contributors

marcoz001 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.