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....
    The main page of this work is accessed with the following link.
    This page describes how APB transaction are done.

  2. This page shows a simple scoreboard implementation. I2C items are inserted to the scoreboard each time it sent to the DUT. Each time a data item arrives from the DUT output it checked with first item in the scoreboard.

  3. As in example the scoreboard is implemented in c++ using queues and rest of the code is implemented in c. The usage makes the scoreboard implementation simple.

    ...
    extern "C" int scbd_add(t_mem_init item)
    {
      std::cout << "scbd: ad=" << (unsigned)item.addr << " d=" << (unsigned)item.data << " ctrl=" << (int)item.ctrl << " dir=" << (int)item.dir << " \n";
      if(item.dir == t_in) { //add item
        scbd_q.push (item);
      }
      else { //compare
        if( scbd_q.empty() ) {
          std::cout << "scbd: error queue empty " << "\n";
          return -1;
        } else {
          t_mem_init scbd=scbd_q.front();
          scbd_q.pop();
          //compare
          unsigned char flg=0;
          if(item.addr != scbd.addr) {
    ...

  4. The code can be downloaded from: C++ scoreboard code .

  ...


Search This Site


Feedback This Site




new pages on this site