Closed Mutinifni closed 5 years ago
Thanks! that works, and I'm able to simulate it in steps (up to simulation breakpoints). However, if I run to finish, vcs always crashes without any output. Do you also encounter this? The simulation data is not generated post crash.
This might simply be because I'm using a free edition of vsim
, but I wanted to make sure.
I am using modelsim instead of vcs, I am afraid I can not help you on this tool issue.
Sorry, I actually meant I am using the free version of Intel / Altera ModelSim (vsim), not vcs.
Edit: note that this is the same one as mentioned on step 5 of the README (https://github.com/IBM/AccDNN#simulation-without-involing-hardware)
I see. By default, the testbench data and output data will be saved to sim/data, do you manually create a directory in sim/data?
Other try is to add fflush after each fdisplay in model_tb.v file to make sure all the output data will be flushed to disk immediately.
Yes, I did create the folder in the previous run. However, I just noticed in the transcript that one of the errors is that it cannot find weights_sim.dat
in that folder. So I copied this from /build/coe/ and it still fails with other errors, a sampling of which are listed below. Thanks!
# ** Warning: (vsim-3015) ../src/controller_v2.v(528): [PCDPC] - Port size (16) does not match connection size (32) for port 'B'. The port definition is at: ../src/mul16_unsigned_funcsim.v(21).
[...]
# **0 Error: (vish-4014) No objects found matching '/model_tb/u0_module/u0_conv2_layer/u_vector_muladd_0_0/gen_adder_8b/a2_tmp_0'.
# Error in macro ./../wave/cifar10.do line 51
# (vish-4014) No objects found matching '/model_tb/u0_module/u0_conv2_layer/u_vector_muladd_0_0/gen_adder_8b/a2_tmp_0'.
# while executing
# "add wave -noupdate -format Literal /model_tb/u0_module/u0_conv2_layer/u_vector_muladd_0_0/gen_adder_8b/a2_tmp_0"
# ** Warning: (vsim-3116) Problem reading symbols from linux-gate.so.1 : can not open ELF file.
# Block Memory Generator module model_tb.u0_module.u0_conv1_layer.u_conv1_rm_ram_0.inst.native_mem_module.blk_mem_gen_v8_4_1_inst is using a behavioral model for simulation which will not precisely model memory collision behavior.
# Block Memory Generator module model_tb.u0_module.u0_conv1_layer.u_conv1_wm_ram.inst.native_mem_module.blk_mem_gen_v8_4_1_inst is using a behavioral model for simulation which will not precisely model memory collision behavior.
[...]
# Block Memory Generator module model_tb.u0_module.u0_ip2_layer.u_ip2_bm_ram.inst.native_mem_module.blk_mem_gen_v8_4_1_inst is using a behavioral model for simulation which will not precisely model memory collision behavior.
# DRC Error : Reset is unsuccessful at time 1237600. RST must be held high for at least five WRCLK clock cycles, and WREN must be low before RST becomes active high, and WREN remains low during this reset cycle.
It seems some signals are not found in the this case, these signals are used to observe the wave only, and may be different according to you model. You can remove or add any signals according to your debug purpose. I merged a pull request that removes all the unnecessary signals for avoiding any error and confuse.
Environment
OS: Ubuntu 16.04 Kernel: 4.15.0-47-generic Caffe version: https://github.com/BVLC/caffe rc3 Python version: 2.7.11+ AccDNN version: git commit with 8f0ec8e Vivado version: 2018.2
Problem
I am attempting to run the simulation framework (SIMULATION_ONLY=True in settings.py) for CIFAR-10, as described in the README. I with a different Xilinx device part, specifically
xc7z010iclg225-1L
instead of the defaultxc7vx690tffg1157-2
; however this compiles just fine with around 88% utilization.I proceeded to the
vsim
infrastructure and have compiled the model usingcomp_model
after sourcingsim_model.tcl
. However, when I attempt tosim
, I face the following error:Am I missing something?