Email: bknpk@hotmail.com Phone: +972-54-7649119


V

 

An I2C verification environment, which uses memories and VPI (c code) to drive and monitor data to/from DUT, will be described in this work.

  1. In this site many verification environments have been presented, using, specman , VHDL etc....
    This work is different. The test-bench has a few memory arrays, which are used by the c code to transfer data to be injected to the DUT, via c code and vise versa: A BFM, which is implemented in the test-bench collects data and stores it in another memory array. This memory is than read by the c code, which implements a reference model (scoreboard to check that DUT functions okay).
    The usage of memory arrays, makes it perfect to use the test-bench with an hardware emulator.
    The usage of memory arrays, allows the c code only to work on an entire transaction. The switching between verilog and c code has a performance penalty. This way verilog to c code switching is reduced to the necessary minimum.

  2. This project is under development and only part of it can be currently presented.

  3. The DUT is an I2C from the open core site. The CPU interface was modified, from wishbone to APB.
    The test-bench instantiates the DUT, and some memory arrays for data drive. This includes three arrays (icarus simulator does not support arrays, which use vectors of greater than 32 bits) for APB address, data write and control.
    The c code needs to put data in each of this arrays. The test-bench, sets a value in the first element of the array and than requests the c code to fill the array. This value goes to a dispatcher block in the c code, which decides if it needs to prepare an address, data write or control array.

  4. A script to compile both verilog and c, using the free verilog simulator, icarus, is available too. Follow the next link to see a description of the compilation and simulation script.
    For a detailed description on the test-bench, its BFM and c code invocation please see the following link. The c code, presently, takes care on preparing APB transaction, which the test-bench uses to the drive into the DUT.

  5. In the following page a to do list describes what is missing to complete this self study project.

  6. The code can be downloaded from:
    The code was last updated on 120830_125121.

  ...


Search This Site


Feedback This Site




new pages on this site