如何使用 YOSYS 导入 sv 包
how do I import sv packages using YOSYS
我想知道如何在使用 YOSYS 时导入 sv 包。例如
在文件 my_pkg.sv
我有以下
package my_pkg;
parameter KL=64;
endpackage
现在在文件中 top.sv
我有以下内容
import my_pkg::*;
module top(
input logic i_clk,
output logic o_done
);
endmodule
Yosys 给出以下错误:
top.sv:1: ERROR: syntax error, unexpected TOK_ID
我期待 YOSYS 接受语法,因为我只是将包导入顶级文件。这是在模块中导入包的所有内容的常用方法,因此避免每次在模块中使用包参数时都必须在包名称前加上前缀。这适用于 Modelsim、VCS 以及 DC。有没有办法在 Yosys 中完成此操作?
看起来 Yosys (Yosys 0.9+1706 git sha1 ff4ca9dd, gcc 8.4.0-1ubuntu1~18.04 -fPIC -Os) 不支持顶级导入。一种可能的解决方法是使用工具将 SystemVerilog 代码转换为 verilog,然后将 verilog 代码提供给 Yosys。一个这样的工具是来自 Zach Snow 的 sv2v(提示是 kudo to Zach)在 https://github.com/zachjs/sv2v.
我想知道如何在使用 YOSYS 时导入 sv 包。例如
在文件 my_pkg.sv
我有以下
package my_pkg;
parameter KL=64;
endpackage
现在在文件中 top.sv
我有以下内容
import my_pkg::*;
module top(
input logic i_clk,
output logic o_done
);
endmodule
Yosys 给出以下错误:
top.sv:1: ERROR: syntax error, unexpected TOK_ID
我期待 YOSYS 接受语法,因为我只是将包导入顶级文件。这是在模块中导入包的所有内容的常用方法,因此避免每次在模块中使用包参数时都必须在包名称前加上前缀。这适用于 Modelsim、VCS 以及 DC。有没有办法在 Yosys 中完成此操作?
看起来 Yosys (Yosys 0.9+1706 git sha1 ff4ca9dd, gcc 8.4.0-1ubuntu1~18.04 -fPIC -Os) 不支持顶级导入。一种可能的解决方法是使用工具将 SystemVerilog 代码转换为 verilog,然后将 verilog 代码提供给 Yosys。一个这样的工具是来自 Zach Snow 的 sv2v(提示是 kudo to Zach)在 https://github.com/zachjs/sv2v.