funningboy / uvm_axi Goto Github PK
View Code? Open in Web Editor NEWuvm AXI BFM(bus functional model)
uvm AXI BFM(bus functional model)
/*/////////////////////////////////////////////////////////////////// //// //// //// Author: Sean Chen //// //// [email protected] //// //// //// //// //// ///////////////////////////////////////////////////////////////////// //// //// //// Copyright (C) 2013 //// //// //// //// This source file may be used and distributed without //// //// restriction provided that this copyright statement is not //// //// removed from the file and that any derivative work contains //// //// the original copyright notice and the associated disclaimer.//// //// //// //// This source file is free software; you can redistribute it //// //// and/or modify it under the terms of the GNU Lesser General //// //// Public License as published by the Free Software Foundation.//// //// //// //// This source is distributed in the hope that it will be //// //// useful, but WITHOUT ANY WARRANTY; without even the implied //// //// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR //// //// PURPOSE. See the GNU Lesser General Public License for more//// //// details. http://www.gnu.org/licenses/lgpl.html //// //// //// ///////////////////////////////////////////////////////////////////*/ AXI BFM standard protocol checker supported read/write phase check normal protocol check (valid/ready) id tag mapping check (addr/data/resp) has the same id transfer read/write check, (only for slave side) like bist check TLM analysis port, user can use it to hook their third part golden design. like SystemC TLM 2.0 port or DPI interface ..., unsupported Qos(priority) region user info cache protect ... atomic check folder ./dpi : SystemVerilog DPI interface ./examples : example ./pli : Verilig PLI interface ./v : Design under test (DUT) ./sv : SystemVerilog UVM class ./log : simulation results ./rpt : simulation rpt How to run the example (1 virtual master to 1 DUT slave) 1. set up your test env 1.1 prepare your DUT and link it to our test env, for example we use 1 Virtual Master to 1 DUT slave check ./v/axi_slave.v # dut slave check ./example/virtual_master_to_dut_slave/dut_dummy.v # link dut to test env check ./example/virtual_master_to_dut_slave/demo_top.sv # top module contains DUT and Tester 1.2 Memory map table, how many Masters/Slaves, Master/Slave connection .... check ./examples/virtual_master_to_dut_slave/demo_conf.sv 1.3 define your test suites in this example, we use 1 read after 1 write to check the memory can read/write supported check ./examples/virtual_master_to_dut_slave/demo_axi_master_seq_lib.sv check ./examples/virtual_master_to_dut_slave/demo_lib.sv check ./examples/virtual_master_to_dut_slave/demo_tb.sv 2. how to run it tools requirement irun > Version 10 python > Version 2.7 python ./run.py
Hi Sean,
Please can you add python script for VCS too
It appears the file demo.bin is missing from the branch.
Hi,
I am trying to get your code work with my VHDL project (AXI MASTER), but I'm not familiar with Verilog.
I'm working in Vivado on school project and I need validate that my IP core works before I am testing it on HW.
I need one AXI slave (with memory if its possible) and test write read with my core.
If I understand it, I need to generate BFM with Phyton and then declare+instantiate it in my vhdl. But which files I need to generate ?
Thanks, Josef
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.