【问题标题】:In Yosys I am getting a Warning saying Literal has a width of 8 bit, can anyone elaborate on it [closed]在 Yosys 中,我收到一条警告,说 Literal 的宽度为 8 位,任何人都可以详细说明它 [关闭]
【发布时间】:2020-10-04 05:26:27
【问题描述】:

在 Yosys 中,我收到一条警告,说 Literal 的宽度为 8 位,任何人都可以详细说明它,因为我是 yosys 的新手,我找不到任何资源来理解警告的原因。

以下是来自 yosys 的警告:

警告:文字的宽度为 8 位,但值需要 16 位。 (../FPGA_memory/ROM_FPGA.v:1)

警告:文字的宽度为 8 位,但值需要 12 位。 (../FPGA_memory/ROM_FPGA.v:1)

警告:文字的宽度为 8 位,但值需要 12 位。 (../FPGA_memory/ROM_FPGA.v:1)

警告:文字的宽度为 8 位,但值需要 20 位。 (../FPGA_memory/ROM_FPGA.v:1)

警告:文字的宽度为 8 位,但值需要 16 位。 (../FPGA_memory/ROM_FPGA.v:1)

【问题讨论】:

  • 请提供导致问题的文件,或者最好提供 MCVE(最小完整可验证示例)
  • 我想通了,这是由于使用 $readmemh("box.mif",mem,0,255); 注册“mem”初始化。然后我用 $readmemh("box.mem",mem); 替换它。此行解决了警告。如projectf.io/posts/initialize-memory-in-verilog/… 中所述创建“box.mem”文件。我从 altera quartus IDE 创建了这个 .mif,但不知道它不能在 $readmemh 中使用。

标签: warnings fpga literals formal-verification yosys


【解决方案1】:

我想通了,这是由于使用 $readmemh("box.mif",mem,0,255); 注册“mem”初始化。然后我用 $readmemh("box.mem",mem); 替换它。此行解决了警告。

"box.mem" 文件已按照中的说明创建 https://projectf.io/posts/initialize-memory-in-verilog/#:~:text=Verilog%20Syntax,%24readmemb(%22bin_memory_file.

我从 altera quartus IDE 创建了这个 .mif 文件,但不知道它不能在 $readmemh 中使用。

【讨论】:

  • 是的,$readmemh 使用与英特尔专有的 .mif 格式不同的格式
猜你喜欢
  • 1970-01-01
  • 2013-07-06
  • 2020-08-25
  • 1970-01-01
  • 2019-02-20
  • 2016-04-12
  • 2020-05-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多