首页 > 解决方案 > 在 Yosys 中,我收到一条警告,说 Literal 的宽度为 8 位,任何人都可以详细说明

问题描述

在 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)

标签: warningsfpgaliteralsformal-verificationyosys

解决方案


我想通了,这是由于使用 $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 中使用。


推荐阅读