pulp-platform / FlooNoC

A Fast, Low-Overhead On-chip Network
Apache License 2.0
80 stars 10 forks source link

Vivado Simulation #39

Open pkushiwang opened 3 weeks ago

pkushiwang commented 3 weeks ago

I have generated file occamy_mesh_floo_noc.sv successfully and I want to make a Simulation in Vivado. File floo_narrow_wide_chimney.sv is a submodular of occamy_mesh_floo_noc.sv and it includes registers.svh、assertions.svh and assign.svh,but I can't find those files in project. 1 Would you please tell me how to find the missing file?Thank you !

fischeti commented 3 weeks ago

Those are header files of the common_cells and axi dependencies, that are automatically fetched by bender. For vivado you probably want to create a compilation script like this:

bender script vivado -t rtl -t test > compile.vivado.tcl

which will automatically set the correct include directories of the dependencies

pkushiwang commented 3 weeks ago

I have found header files in file Bender.yml. However hw/floo_rob_wrapper.sv still lacks axi_demux_id_counters.sv and hw/floo_rob.sv lacks tc_sram_impl. 1 2 3

fischeti commented 3 weeks ago

I am not quite sure what you mean with you found the header files in the Bender.yml. The include headers are part of the bender dependencies which define the include directory paths that need to be added to the compilation in their respective Bender.yml (see here for example). Bender will automatically handle this for you when you generate a compilation script as I showed before.

axi_demux_id_counters and tc_sram_impl are modules from the bender dependencies axi and tech_cells_generic, so they should be listed as well in the generated compilation script. Maybe you could check the output of the last command that I sent you to check that they are there.

Also, maybe it helps if you have a look at the Bender documentation to understand how dependencies are managed with bender.

pkushiwang commented 3 weeks ago

I have checked bender dependencies axi again and again, but still cannot find axi_demux_id_counters. Are you sure axi contains axi_demux_id_counters? Thank you. 1

fischeti commented 3 weeks ago

They are declared inside the axi_demux_simple (see here)