Code Monkey home page Code Monkey logo

Comments (23)

JEETIITGN avatar JEETIITGN commented on August 16, 2024 1

Thank you very much, Taichi. I appreciate your support. I can simulate your "tnoc" router. Just need to figure out what the used variables do.

from tnoc.

JEETIITGN avatar JEETIITGN commented on August 16, 2024

I am trying to look into your design. How can I simulate your NoC router? Can I do it using Xilinx Vivado?

from tnoc.

taichi-ishitani avatar taichi-ishitani commented on August 16, 2024

Hi @JEETIITGN ,
Thank you for having an interest in my NoC core.
The sample test bench is built on SystemVerilog and UVM.
You need to use one of following simulators If you want to use the sample test bench.

  • Synopsys VCS (confirmed)
  • Cadence Xcelium (confirmed)
  • Mentor Questa (not yet confirmed)
  • Aldec Riviera-PRO (not yet confirmed)

Can I do it using Xilinx Vivado?

I'm not sure Vivado simulator supports UVM but I think Vivado simulator may not support UVM.

from tnoc.

JEETIITGN avatar JEETIITGN commented on August 16, 2024

from tnoc.

taichi-ishitani avatar taichi-ishitani commented on August 16, 2024

Following procedures are how to run simulation.

Preparation

Run command below to clone sub-modules on which the NoC core depends.

$ ./setup_submodules.sh

Run Simulation

I have already prepared Makefile to run simulation. You only have to hit make command on work directories listed below.

  • sim/router_data_width_64_vc_2
    • for router
  • sim/fabric_data_width_64_vc_2
    • for Mesh fabric
  • sim/axi_adapter_data_width_64
    • for fabric + AXI Adapter

Example:

$ cd sim/fabric_data_width_64_vc_2
$ make

Then, work directories for each tests will be created and result files (log, wave dump, etc.) will be output to the work directories.

If you want to dump wave forms you need to add DUMP=vpd or DUMP=fsdb to make command.

VPD Format:

$ make DUMP=vpd

FSDB Format:

$ make DUMP=fsdb

You may need to clean simulation binary before running simulation with wave dump.

$ make clean; make DUMP=fsdb

If you want to know details of simulation command please refer following Makefiles.

If you need more details please let me know.

from tnoc.

JEETIITGN avatar JEETIITGN commented on August 16, 2024

from tnoc.

JEETIITGN avatar JEETIITGN commented on August 16, 2024

from tnoc.

taichi-ishitani avatar taichi-ishitani commented on August 16, 2024

First, the submodule clone is not working because of some public license issue

Could you please tell me more details? I'd like to see the log.

But I am receiving errors which I am unable to rectify. The dump of the error is

Could you send me the log file? The vcs.log is the log of compilation.
In addition, VCS Version J-2014.12 is too old can you use the latest VCS?

from tnoc.

JEETIITGN avatar JEETIITGN commented on August 16, 2024

from tnoc.

taichi-ishitani avatar taichi-ishitani commented on August 16, 2024

Hi @JEETIITGN ,

Could you please use following commands instead of executing setup_submodules.sh script?

$ git clone https://github.com/taichi-ishitani/tbcm.git
$ git clone https://github.com/taichi-ishitani/tue.git
$ git clone https://github.com/taichi-ishitani/tvip-axi.git
$ export TBCM_HOME=`pwd`/tbcm
$ export TUE_HOME=`pwd`/tue
$ export TVIP_AXI_HOME=`pwd`/tvip-axi

from tnoc.

JEETIITGN avatar JEETIITGN commented on August 16, 2024

from tnoc.

taichi-ishitani avatar taichi-ishitani commented on August 16, 2024

Hi @JEETIITGN ,

I attached patch files to execute the sample tests on VCS J-2014.12 version.
patch.zip

Unzip the attached zip then you will get two patch files.

  • tnoc_bfm_configuration.svh.patch
    • Apply to env/bfm/tnoc_bfm_configuration.svh
  • tnoc_bfm_transmit_packet_sequence.svh.patch
    • Apply to env/bfm/tnoc_bfm_transmit_packet_sequence.svh.

Could you please apply the patch files and try to run simulation again?

from tnoc.

JEETIITGN avatar JEETIITGN commented on August 16, 2024

from tnoc.

taichi-ishitani avatar taichi-ishitani commented on August 16, 2024

Hi @JEETIITGN ,
Options to enable FSDB dump were changed and Makefiles do not support the old options.
Could you please use VDP dump instead of FSDB dump or update VCS version?

from tnoc.

taichi-ishitani avatar taichi-ishitani commented on August 16, 2024

My previous answer is wrong.
Can you use Verdi tool for debugging? If no, you have to use VPD format.

from tnoc.

JEETIITGN avatar JEETIITGN commented on August 16, 2024

from tnoc.

taichi-ishitani avatar taichi-ishitani commented on August 16, 2024

Before running simulation, you may need following steps.

  1. Set an environment variable named NOVAS_HOME
    • This variable show the home directory of Verdi tool
  2. Update Makefile to adapt to old VCS version
    • Add -lca to following line on vcs.mk
    • VCS_ARGS += -full64 -sverilog -timescale="1ns/1ps" -l vcs.log
    • The -debug_all option is not needed

Then, I think you can use FSDB dump.

To open FSDB dump file, hit command below on the work directory.

$ verdi -simBin ../simv -ssf dump.fsdb

from tnoc.

JEETIITGN avatar JEETIITGN commented on August 16, 2024

from tnoc.

taichi-ishitani avatar taichi-ishitani commented on August 16, 2024

Hi @JEETIITGN ,

Can you try to use VPD dump instead of FSDB dump?
VPD dump is integrated with VCS natively so I think using VPD dump can reduce debug time.

from tnoc.

taichi-ishitani avatar taichi-ishitani commented on August 16, 2024

Hi @JEETIITGN ,
Do you have any topics for this ticket?
If no, can you close this ticket?
Off cause, you can open a new ticket if you have any questions, problems, etc.

from tnoc.

JEETIITGN avatar JEETIITGN commented on August 16, 2024

Hi Taichi,

I tried to create DUMP.vpd using the command
$make clean; make DUMP=vpd
It successfully builds without any error but does not generate DUMP.vpd file in the /tnoc/sim/router_data_width_64_vc_2 directory. Can you help me regarding it? Also, since I am new to simulation using Verdi, can you please send some commands as well?

from tnoc.

taichi-ishitani avatar taichi-ishitani commented on August 16, 2024

Work directories for each tests will be created during make command execution.
For example:

  • tnoc_router_sample_test
  • tnoc_router_random_test

You can file VPD dump files named dump.vpd from the work directories and use the command below to open the dump file.

$ cd tnoc_router_sample_test
$ dve -full64 -vpd dump.vpd

from tnoc.

taichi-ishitani avatar taichi-ishitani commented on August 16, 2024

Please feel free to open a new ticket if you have any questions, problems, etc. 😄

from tnoc.

Related Issues (20)

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.