【问题标题】:Yosys Can't open include fileYosys 无法打开包含文件
【发布时间】:2015-10-28 21:56:26
【问题描述】:

我收到了 yosys 的 Can't open include file 错误。是否有用于定义包含目录的命令行参数和/或是否存在用于查找包含文件的默认目录?

【问题讨论】:

    标签: verilog yosys


    【解决方案1】:

    包含目录可以作为参数传递给read_verilog

    read_verilog -Ipath/to/includes rtl/main.v
    read_verilog -Ipath/to/includes rtl/stuff.v
    

    或者,命令verilog_defaults 可用于设置所有后续调用read_verilog 的选项。例如:

    verilog_defaults -add -Ipath/to/includes
    read_verilog rtl/main.v
    read_verilog rtl/stuff.v
    

    默认情况下,read_verilog 在当前工作目录和包含带有`include 语句的verilog 文件的目录中查找包含文件。


    编辑重新。 cmets:

    我创建了以下示例:

    $ cat a.v 
    `include "b.v"
    module test;
    initial $display(`message);
    endmodule
    
    $ cat b.v 
    `define message "Hello World!"
    

    我可以使用yosys -p "read_verilog a.v"yosys a.v 成功运行此程序。请编辑问题,使其包含处理包含文件失败的示例。

    【讨论】:

    • 该文件位于运行 yosys 的当前目录中,所有文件都将尝试这些建议,看看效果如何,谢谢!
    • 好吧,我认为在您的 cmets 和具有它的不同命令行示例之间。正在从 hackaday 示例 yosys -p "synth_ice40 -blif out.blif" a.v b.v c.v 中进行操作,并且存在包含问题,但是如果您 yosys -p "read_verilog a.v; read_verilog b.v; read_verilog c.v; synth_ice40 -blif out. blif" 然后它找到包含文件没有问题。
    • hmm,将 always @(stuff) 替换为 always @* 是问题,回到 always @(stuff) 设计完全构建,包含,谢谢!
    • @dwelch 嗯...请在问题中包含一个示例。 always @(stuff)always @* 应该做同样的事情(当东西不包含任何 posedge/negedge 时),它当然不应该干扰包含文件的处理..
    • 一对夫妇有姿势,这很可能是问题所在。正在破解和削减,看看我是否可以弄乱资源使用或玩 opt,我怀疑我只是破坏了设计......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 2016-06-17
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多