(0)环境
windows:
vitis_hls: 2023.2
jdk: 17.0.16
sbt: 1.11.7
verilator: 5.040 (通过MSYS2 MINGW64 SHELL安装)
IDEA: 2025.2.4
WSL:
ubuntu: 24.04
jdk: 17.0.16 (apt install)
no sbt
verilator: 5.040(apt install)
修改项目如下:
①修改pre_syn_process.py中的hls路径为vitis_home = os.path.join("E:/ex/setting/Vivado23.02", "Vitis_HLS", version, "bin"),即我本地的路径
②step1_hls_sim.py中改为使用run_instances(INSTANCE_DIR, case_names=case_names, version="2023.2")从而配合① (尽管我注意到了WARNING: DO NOT USE 2023.2, MAIN GEMM WILL FAIL,但是并没有发现关于GEMM使用这个版本的工具会有什么和其他模块不同的问题)
③我将huggingface中提供的ref解压到了项目根目录下
④我的项目路径同样设置为了D:/file/project/git/light-mamba(方便和case的.cpp中的test_layer函数中的file_path对应)
⑤我将ref/weights中形如A_q,conv_bq这类没有后缀的文件复制一份并添加了txt后缀,例如对于CONV来说,注意到conv_step_0.h中有如下代码
constexpr int CONV_BIAS [] = {
#include "../../../ref/weights/conv_bq.txt"
};
可是ref中并没有提供这个文件,我只能猜测就是conv_bq,修改后不会在step1_hls_sim.py的脚本中因为找不到conv_bq.txt而报错
In file included from ../../../../case/CONV.cpp:6:0:
../../../../case/../src/conv_step_0.h:8:48: fatal error: ../../../ref/weights/conv_bq.txt: No such file or directory
#include "../../../ref/weights/conv_bq.txt"
⑥修改各脚本中的case_names中的RMSNORM_QUATNT_1/2为RMSNORM_QUANT_1/2(这里推测应该是写错了,否则和case中的文件名不符)
⑦修改template.tcl中的set part为我自己的板卡"set_part xczu5ev-sfvc784-1-i",同时默认的板卡我没有license导致后面脚本报错
(1)python step1_hls_sim.py
①首先仅对RESIDUAL仿真,报错:Cannot open file: D:/file/project/git/light-mamba/ref/activations/output_layer0.bin
正如上面所说,ref是在根目录下,这个路径是有其他数据的(activations,tables,weights),但是activations中并没有output_layer0.bin
②另外对于case中几乎所有其他的项目,执行时均会因为张量检查的断言而中断:
例如RMSNORM_1:
Assertion failed!
Program: D:\file\project\git\light-mamba\instances\proj_RMSNORM_1\work\solution\csim\build\csim.exe
File: ../../../../case/../src/utils.h, Line 414
Expression: tensor.size() == H_LOAD * T_LOAD * C_LOAD
tensor2array: tensor.size()=256000, H_LOAD=1, T_LOAD=512, C_LOAD=2560 //这是我打印的信息
这样的问题目前对于B_BUFFER,CONV,DTA,GEMM等模块也是类似的,当然我估计其他模块也是一样
所以不确定到底是H_LOAD * T_LOAD * C_LOAD这些参数写错了还是ref提供的文件不对呢?
(2)python step2_hls_syn.py
当然,我觉得仿真不了其实并不影响后续的综合实现导出IP等步骤,如果源代码真的正确。
但是在一个一个模块做综合时也有部分模块报错:
①对于CONV DTA DTADAPT RMSNORM_1 RMSNORM_2 RMSNORM_QUATNT_2 UD(以CONV为例)会出现形如Global/static variable 'conv_inst.conv_bias' with bind_storage implementation 'ram_2p_uram' cannot be initialized. (case/CONV.cpp:28:0)的报错,即.cpp代码中的全局部分CONV <64, T, C, CP > conv_inst(CONV_BIAS,CONV_BIAS_S);中对于conv_bias这种uram类型变量的初始化是HLS不支持的,当然其他的模块和变量同理。我可以通过局部初始化uram(即放入top)或者改为bram(但是有的case例如RMSNORM_2会报错超出资源),但是这样的方式我觉得并不稳妥。所以我想知道作者在执行这部分的Vitis_HLS版本是什么?
②EXP_QUANT GEMM_DEMUX GEMM_MUX HT_ADD(以EXP_QUANT为例)会出现形如
ERROR: [HLS 207-3430] redefinition of 'TEST_L' (case/EXP_QUANT.cpp:15:15)
INFO: [HLS 207-71] previous definition is here (case/EXP_QUANT.cpp:12:15)
的报错,当然这个错误很好解决,删掉重复的部分即可,但是我还是想知道哪个版本的HLS工具在此不会报错?
③最后就是YZ模块的报错:
ERROR: [HLS 207-1199] expected member name or ';' after declaration specifiers (E:/ex/setting/Vivado23.02/Vitis_HLS/2023.2/tps/mingw/8.3.0/win64.o/nt\x86_64-w64-mingw32\include\corecrt_startup.h:11:8)
ERROR: [HLS 207-2788] non-static data member cannot be constexpr; did you intend to make it static? (case/YZ.cpp:14:1)
ERROR: [HLS 207-2788] non-static data member cannot be constexpr; did you intend to make it static? (case/YZ.cpp:17:1)
ERROR: [HLS 207-3606] declaration of 'T' shadows template parameter (case/YZ.cpp:17:15)
INFO: [HLS 207-4531] template parameter is declared here (case/../src/yz.h:25:9)
ERROR: [HLS 207-2788] non-static data member cannot be constexpr; did you intend to make it static? (case/YZ.cpp:19:1)
ERROR: [HLS 207-2788] non-static data member cannot be constexpr; did you intend to make it static? (case/YZ.cpp:22:1)
ERROR: [HLS 207-3606] declaration of 'C' shadows template parameter (case/YZ.cpp:22:15)
INFO: [HLS 207-4531] template parameter is declared here (case/../src/yz.h:26:9)
ERROR: [HLS 207-2788] non-static data member cannot be constexpr; did you intend to make it static? (case/YZ.cpp:24:1)
ERROR: [HLS 207-3606] declaration of 'CP' shadows template parameter (case/YZ.cpp:24:15)
INFO: [HLS 207-4531] template parameter is declared here (case/../src/yz.h:27:9)
ERROR: [HLS 207-2788] non-static data member cannot be constexpr; did you intend to make it static? (case/YZ.cpp:30:1)
ERROR: [HLS 207-2554] duplicate member 'CT' (case/YZ.cpp:30:15)
INFO: [HLS 207-70] previous declaration is here (case/../src/yz.h:32:26)
ERROR: [HLS 207-2807] invalid use of non-static data member 'yz_inst' (case/YZ.cpp:30:20)
ERROR: [HLS 207-7] expected '}' (case/YZ.cpp:147:2)
INFO: [HLS 207-66] to match this '{' (case/../src/yz.h:29:9)
ERROR: [HLS 207-3776] use of undeclared identifier 'TEST_L' (case/YZ.cpp:142:20)
ERROR: [HLS 207-8] expected ';' after class (case/YZ.cpp:147:2)
(3)4.3 SpinalHDL Simulation and Packaging
我有注意到项目的SPINAL中提供了.v文件,所以我觉得这一步也是可以做的,即使前面一个步骤都没成功。
step3的脚本似乎会更新SPINAL的src下各个模块的.v文件,但是既然原来提供了,并且前面也不是所有的项目都能通过step2,所以我觉得可以先不执行step3的脚本,直接在进行sbt run这步
①我首先在WINDOWS中使用IDEA打开SPINAL文件夹,下载scala插件后,在build,sbt的.settings中添加fork := true,并在IDEA终端执行sbt run,如下报错:
PS D:\file\project\git\light-mamba\SPINAL> sbt run
[info] welcome to sbt 1.10.0 (Eclipse Adoptium Java 17.0.16)
[info] loading project definition from D:\file\project\git\light-mamba\SPINAL\project
[info] loading settings for project root from build.sbt ...
[info] set current project to SPINAL (in build file:/D:/file/project/git/light-mamba/SPINAL/)
[info] compiling 40 Scala sources to D:\file\project\git\light-mamba\SPINAL\target\scala-2.11\classes ...
Multiple main classes detected. Select one to run:
[1] accelerator_save_conv_mem
[2] accelerator_save_mem
[3] generate_accelerator
[4] generate_mamba
[5] simulate_B_buffer
[6] simulate_C_buffer
[7] simulate_accelerator
[8] simulate_conv
[9] simulate_conv_state
[10] simulate_dAh
[11] simulate_dBu
[12] simulate_dtA
[13] simulate_dtB_quant
[14] simulate_dtadapt
[15] simulate_exp_quant
[16] simulate_gemm
[17] simulate_gemm_demux
[18] simulate_gemm_mux
[19] simulate_htC_quant
[20] simulate_ht_add_quant
[21] simulate_ht_state
[22] simulate_m_axi
[23] simulate_mamba
[24] simulate_quant_conv
[25] simulate_residual
[26] simulate_rmsnorm_quant_1
[27] simulate_rmsnorm_quant_2
[28] simulate_silu_demux
[29] simulate_silu_mux
[30] simulate_silu_quant
[31] simulate_simple_node
[32] simulate_uD
[33] simulate_yz
[34] utils.genManager
[35] utils.simulate_controller
Enter number: 25
[info] running (fork) simulate_residual
[error] Exception in thread "main" java.lang.AssertionError: assertion failed: Verilator invocation failed
[error] at scala.Predef$.assert(Predef.scala:170)
[error] at spinal.sim.VerilatorBackend$$anonfun$compileVerilator$2.apply$mcV$sp(VerilatorBackend.scala:681)
[error] at spinal.sim.VerilatorBackend.cacheSynchronized(VerilatorBackend.scala:74)
[error] at spinal.sim.VerilatorBackend.compileVerilator(VerilatorBackend.scala:653)
[error] at spinal.sim.VerilatorBackend.(VerilatorBackend.scala:768)
[error] at spinal.core.sim.SpinalVerilatorBackend$.apply(SimBootstraps.scala:145)
[error] at spinal.core.sim.SpinalSimConfig.compile(SimBootstraps.scala:1022)
[error] at spinal.core.sim.SpinalSimConfig.compileCloned(SimBootstraps.scala:949)
[error] at spinal.core.sim.SpinalSimConfig.compile(SimBootstraps.scala:912)
[error] at simulate_residual$.delayedEndpoint$simulate_residual$1(RESIDUAL.scala:95)
[error] at simulate_residual$delayedInit$body.apply(RESIDUAL.scala:75)
[error] at scala.Function0$class.apply$mcV$sp(Function0.scala:34)
[error] at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
[error] at scala.App$$anonfun$main$1.apply(App.scala:76)
[error] at scala.App$$anonfun$main$1.apply(App.scala:76)
[error] at scala.collection.immutable.List.foreach(List.scala:392)
[error] at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
[error] at scala.App$class.main(App.scala:76)
[error] at simulate_residual$.main(RESIDUAL.scala:75)
[error] at simulate_residual.main(RESIDUAL.scala)
[error] Nonzero exit code returned from runner: 1
[error] (Compile / run) Nonzero exit code returned from runner: 1
[error] Total time: 34 s, completed 2025骞?0鏈?9鏃?涓嬪崍8:07:24
[0J
但是这里没给什么具体的信息,查看RESIDUAL.log中找到报错:
%Error: Cannot find verilated_std_waiver.vlt containing built-in lint waivers: '/mingw64/share/verilator\include\verilated_std_waiver.vlt'
... See the manual at https://verilator.org/verilator_doc.html?v=5.040 for more assistance.
... This may be because there's no search path specified with -I
.
... Looked in:
/mingw64/share/verilator\include\verilated_std_waiver.vlt
/mingw64/share/verilator\include\verilated_std_waiver.vlt.v
/mingw64/share/verilator\include\verilated_std_waiver.vlt.sv
verilator/mingw64/share/verilator\include\verilated_std_waiver.vlt
verilator/mingw64/share/verilator\include\verilated_std_waiver.vlt.v
verilator/mingw64/share/verilator\include\verilated_std_waiver.vlt.sv
%Error: Cannot find verilated_std.sv containing built-in std:: definitions: '/mingw64/share/verilator\include\verilated_std.sv'
%Error: Exiting due to 2 error(s)
这个问题和
https://github.com/SpinalHDL/SpinalHDL/issues/1572 中的比较类似,看起来不能使用5.x版本,但是这和README中有关环境的描述不一样。
当然,即使没有这个报错,由于我没有执行step3脚本,缺少.dat文件,所以这里的仿真大概也执行不了。
②当然根据README中的“[info] welcome to sbt 1.10.0 (Ubuntu Java 17.0.15)”可以判断出作者应该使用的不是Windows环境,所以我需要将项目拷贝到虚拟机的Ubuntu中,并安装IDEA Verilator等工具吗?另外似乎step3脚本也要在ubuntu环境下执行?
(0)环境
windows:
vitis_hls: 2023.2
jdk: 17.0.16
sbt: 1.11.7
verilator: 5.040 (通过MSYS2 MINGW64 SHELL安装)
IDEA: 2025.2.4
WSL:
ubuntu: 24.04
jdk: 17.0.16 (apt install)
no sbt
verilator: 5.040(apt install)
修改项目如下:
①修改pre_syn_process.py中的hls路径为vitis_home = os.path.join("E:/ex/setting/Vivado23.02", "Vitis_HLS", version, "bin"),即我本地的路径
②step1_hls_sim.py中改为使用run_instances(INSTANCE_DIR, case_names=case_names, version="2023.2")从而配合① (尽管我注意到了WARNING: DO NOT USE 2023.2, MAIN GEMM WILL FAIL,但是并没有发现关于GEMM使用这个版本的工具会有什么和其他模块不同的问题)
③我将huggingface中提供的ref解压到了项目根目录下
④我的项目路径同样设置为了D:/file/project/git/light-mamba(方便和case的.cpp中的test_layer函数中的file_path对应)
⑤我将ref/weights中形如A_q,conv_bq这类没有后缀的文件复制一份并添加了txt后缀,例如对于CONV来说,注意到conv_step_0.h中有如下代码
constexpr int CONV_BIAS [] = {
#include "../../../ref/weights/conv_bq.txt"
};
可是ref中并没有提供这个文件,我只能猜测就是conv_bq,修改后不会在step1_hls_sim.py的脚本中因为找不到conv_bq.txt而报错
In file included from ../../../../case/CONV.cpp:6:0:
../../../../case/../src/conv_step_0.h:8:48: fatal error: ../../../ref/weights/conv_bq.txt: No such file or directory
#include "../../../ref/weights/conv_bq.txt"
⑥修改各脚本中的case_names中的RMSNORM_QUATNT_1/2为RMSNORM_QUANT_1/2(这里推测应该是写错了,否则和case中的文件名不符)
⑦修改template.tcl中的set part为我自己的板卡"set_part xczu5ev-sfvc784-1-i",同时默认的板卡我没有license导致后面脚本报错
(1)python step1_hls_sim.py
①首先仅对RESIDUAL仿真,报错:Cannot open file: D:/file/project/git/light-mamba/ref/activations/output_layer0.bin
正如上面所说,ref是在根目录下,这个路径是有其他数据的(activations,tables,weights),但是activations中并没有output_layer0.bin
②另外对于case中几乎所有其他的项目,执行时均会因为张量检查的断言而中断:
例如RMSNORM_1:
Assertion failed!
Program: D:\file\project\git\light-mamba\instances\proj_RMSNORM_1\work\solution\csim\build\csim.exe
File: ../../../../case/../src/utils.h, Line 414
Expression: tensor.size() == H_LOAD * T_LOAD * C_LOAD
tensor2array: tensor.size()=256000, H_LOAD=1, T_LOAD=512, C_LOAD=2560 //这是我打印的信息
这样的问题目前对于B_BUFFER,CONV,DTA,GEMM等模块也是类似的,当然我估计其他模块也是一样
所以不确定到底是H_LOAD * T_LOAD * C_LOAD这些参数写错了还是ref提供的文件不对呢?
(2)python step2_hls_syn.py
当然,我觉得仿真不了其实并不影响后续的综合实现导出IP等步骤,如果源代码真的正确。
但是在一个一个模块做综合时也有部分模块报错:
①对于CONV DTA DTADAPT RMSNORM_1 RMSNORM_2 RMSNORM_QUATNT_2 UD(以CONV为例)会出现形如Global/static variable 'conv_inst.conv_bias' with bind_storage implementation 'ram_2p_uram' cannot be initialized. (case/CONV.cpp:28:0)的报错,即.cpp代码中的全局部分CONV <64, T, C, CP > conv_inst(CONV_BIAS,CONV_BIAS_S);中对于conv_bias这种uram类型变量的初始化是HLS不支持的,当然其他的模块和变量同理。我可以通过局部初始化uram(即放入top)或者改为bram(但是有的case例如RMSNORM_2会报错超出资源),但是这样的方式我觉得并不稳妥。所以我想知道作者在执行这部分的Vitis_HLS版本是什么?
②EXP_QUANT GEMM_DEMUX GEMM_MUX HT_ADD(以EXP_QUANT为例)会出现形如
ERROR: [HLS 207-3430] redefinition of 'TEST_L' (case/EXP_QUANT.cpp:15:15)
INFO: [HLS 207-71] previous definition is here (case/EXP_QUANT.cpp:12:15)
的报错,当然这个错误很好解决,删掉重复的部分即可,但是我还是想知道哪个版本的HLS工具在此不会报错?
③最后就是YZ模块的报错:
ERROR: [HLS 207-1199] expected member name or ';' after declaration specifiers (E:/ex/setting/Vivado23.02/Vitis_HLS/2023.2/tps/mingw/8.3.0/win64.o/nt\x86_64-w64-mingw32\include\corecrt_startup.h:11:8)
ERROR: [HLS 207-2788] non-static data member cannot be constexpr; did you intend to make it static? (case/YZ.cpp:14:1)
ERROR: [HLS 207-2788] non-static data member cannot be constexpr; did you intend to make it static? (case/YZ.cpp:17:1)
ERROR: [HLS 207-3606] declaration of 'T' shadows template parameter (case/YZ.cpp:17:15)
INFO: [HLS 207-4531] template parameter is declared here (case/../src/yz.h:25:9)
ERROR: [HLS 207-2788] non-static data member cannot be constexpr; did you intend to make it static? (case/YZ.cpp:19:1)
ERROR: [HLS 207-2788] non-static data member cannot be constexpr; did you intend to make it static? (case/YZ.cpp:22:1)
ERROR: [HLS 207-3606] declaration of 'C' shadows template parameter (case/YZ.cpp:22:15)
INFO: [HLS 207-4531] template parameter is declared here (case/../src/yz.h:26:9)
ERROR: [HLS 207-2788] non-static data member cannot be constexpr; did you intend to make it static? (case/YZ.cpp:24:1)
ERROR: [HLS 207-3606] declaration of 'CP' shadows template parameter (case/YZ.cpp:24:15)
INFO: [HLS 207-4531] template parameter is declared here (case/../src/yz.h:27:9)
ERROR: [HLS 207-2788] non-static data member cannot be constexpr; did you intend to make it static? (case/YZ.cpp:30:1)
ERROR: [HLS 207-2554] duplicate member 'CT' (case/YZ.cpp:30:15)
INFO: [HLS 207-70] previous declaration is here (case/../src/yz.h:32:26)
ERROR: [HLS 207-2807] invalid use of non-static data member 'yz_inst' (case/YZ.cpp:30:20)
ERROR: [HLS 207-7] expected '}' (case/YZ.cpp:147:2)
INFO: [HLS 207-66] to match this '{' (case/../src/yz.h:29:9)
ERROR: [HLS 207-3776] use of undeclared identifier 'TEST_L' (case/YZ.cpp:142:20)
ERROR: [HLS 207-8] expected ';' after class (case/YZ.cpp:147:2)
(3)4.3 SpinalHDL Simulation and Packaging
我有注意到项目的SPINAL中提供了.v文件,所以我觉得这一步也是可以做的,即使前面一个步骤都没成功。
step3的脚本似乎会更新SPINAL的src下各个模块的.v文件,但是既然原来提供了,并且前面也不是所有的项目都能通过step2,所以我觉得可以先不执行step3的脚本,直接在进行sbt run这步
①我首先在WINDOWS中使用IDEA打开SPINAL文件夹,下载scala插件后,在build,sbt的.settings中添加fork := true,并在IDEA终端执行sbt run,如下报错:
PS D:\file\project\git\light-mamba\SPINAL> sbt run
[info] welcome to sbt 1.10.0 (Eclipse Adoptium Java 17.0.16)
[info] loading project definition from D:\file\project\git\light-mamba\SPINAL\project
[info] loading settings for project root from build.sbt ...
[info] set current project to SPINAL (in build file:/D:/file/project/git/light-mamba/SPINAL/)
[info] compiling 40 Scala sources to D:\file\project\git\light-mamba\SPINAL\target\scala-2.11\classes ...
Multiple main classes detected. Select one to run:
[1] accelerator_save_conv_mem
[2] accelerator_save_mem
[3] generate_accelerator
[4] generate_mamba
[5] simulate_B_buffer
[6] simulate_C_buffer
[7] simulate_accelerator
[8] simulate_conv
[9] simulate_conv_state
[10] simulate_dAh
[11] simulate_dBu
[12] simulate_dtA
[13] simulate_dtB_quant
[14] simulate_dtadapt
[15] simulate_exp_quant
[16] simulate_gemm
[17] simulate_gemm_demux
[18] simulate_gemm_mux
[19] simulate_htC_quant
[20] simulate_ht_add_quant
[21] simulate_ht_state
[22] simulate_m_axi
[23] simulate_mamba
[24] simulate_quant_conv
[25] simulate_residual
[26] simulate_rmsnorm_quant_1
[27] simulate_rmsnorm_quant_2
[28] simulate_silu_demux
[29] simulate_silu_mux
[30] simulate_silu_quant
[31] simulate_simple_node
[32] simulate_uD
[33] simulate_yz
[34] utils.genManager
[35] utils.simulate_controller
Enter number: 25
.[info] running (fork) simulate_residual
[error] Exception in thread "main" java.lang.AssertionError: assertion failed: Verilator invocation failed
[error] at scala.Predef$.assert(Predef.scala:170)
[error] at spinal.sim.VerilatorBackend$$anonfun$compileVerilator$2.apply$mcV$sp(VerilatorBackend.scala:681)
[error] at spinal.sim.VerilatorBackend.cacheSynchronized(VerilatorBackend.scala:74)
[error] at spinal.sim.VerilatorBackend.compileVerilator(VerilatorBackend.scala:653)
[error] at spinal.sim.VerilatorBackend.(VerilatorBackend.scala:768)
[error] at spinal.core.sim.SpinalVerilatorBackend$.apply(SimBootstraps.scala:145)
[error] at spinal.core.sim.SpinalSimConfig.compile(SimBootstraps.scala:1022)
[error] at spinal.core.sim.SpinalSimConfig.compileCloned(SimBootstraps.scala:949)
[error] at spinal.core.sim.SpinalSimConfig.compile(SimBootstraps.scala:912)
[error] at simulate_residual$.delayedEndpoint$simulate_residual$1(RESIDUAL.scala:95)
[error] at simulate_residual$delayedInit$body.apply(RESIDUAL.scala:75)
[error] at scala.Function0$class.apply$mcV$sp(Function0.scala:34)
[error] at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
[error] at scala.App$$anonfun$main$1.apply(App.scala:76)
[error] at scala.App$$anonfun$main$1.apply(App.scala:76)
[error] at scala.collection.immutable.List.foreach(List.scala:392)
[error] at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
[error] at scala.App$class.main(App.scala:76)
[error] at simulate_residual$.main(RESIDUAL.scala:75)
[error] at simulate_residual.main(RESIDUAL.scala)
[error] Nonzero exit code returned from runner: 1
[error] (Compile / run) Nonzero exit code returned from runner: 1
[error] Total time: 34 s, completed 2025骞?0鏈?9鏃?涓嬪崍8:07:24
[0J
但是这里没给什么具体的信息,查看RESIDUAL.log中找到报错:
%Error: Cannot find verilated_std_waiver.vlt containing built-in lint waivers: '/mingw64/share/verilator\include\verilated_std_waiver.vlt'
... See the manual at https://verilator.org/verilator_doc.html?v=5.040 for more assistance.
... This may be because there's no search path specified with -I
... Looked in:
/mingw64/share/verilator\include\verilated_std_waiver.vlt
/mingw64/share/verilator\include\verilated_std_waiver.vlt.v
/mingw64/share/verilator\include\verilated_std_waiver.vlt.sv
verilator/mingw64/share/verilator\include\verilated_std_waiver.vlt
verilator/mingw64/share/verilator\include\verilated_std_waiver.vlt.v
verilator/mingw64/share/verilator\include\verilated_std_waiver.vlt.sv
%Error: Cannot find verilated_std.sv containing built-in std:: definitions: '/mingw64/share/verilator\include\verilated_std.sv'
%Error: Exiting due to 2 error(s)
这个问题和 https://github.com/SpinalHDL/SpinalHDL/issues/1572 中的比较类似,看起来不能使用5.x版本,但是这和README中有关环境的描述不一样。
当然,即使没有这个报错,由于我没有执行step3脚本,缺少.dat文件,所以这里的仿真大概也执行不了。
②当然根据README中的“[info] welcome to sbt 1.10.0 (Ubuntu Java 17.0.15)”可以判断出作者应该使用的不是Windows环境,所以我需要将项目拷贝到虚拟机的Ubuntu中,并安装IDEA Verilator等工具吗?另外似乎step3脚本也要在ubuntu环境下执行?