问题描述
在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)
解决方法
我知道了,这是由于使用$ 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中使用。