使用 yosys 在 ice40_synth 中进行条件编译?

Conditional compilation in ice40_synth using yosys?

我目前正在 Makefile 中为我的项目编译比特流。

对于构建的非调试版本,我使用以下命令:

yosys -p "synth_ice40 -blif $@ -top system" $^

对于我使用的调试版本:

yosys -p "verilog_defaults -add -DDEBUG; synth_ice40 -blif $@ -top system" $^

在调试构建的情况下,命令完成,但当 verilog 为 read/parsed 时,`DEBUG 未定义。

verilog_defaults 是否适用于 ice40_synth?如果没有,有没有办法在不在脚本中复制 ice40_synth 的情况下实现这一目标?

在执行 -p 中的命令之前读取指定为命令行参数的源文件。因此,verilog_defaults -add$^.

的解析没有影响

做你想做的事情的一种方法是手动设置前端+选项用于命令行参数 -f:

yosys -f "verilog -DDEBUG" -p "synth_ice40 -blif $@ -top system" $^