微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 纳闷了,请帮忙看一下这代码怎么会有问题?谢谢!

纳闷了,请帮忙看一下这代码怎么会有问题?谢谢!

时间:10-02 整理:3721RD 点击:
家里刚换了新电脑,下了些新软件,写了个小代码TEST一下,结果郁闷了,一个 verilog module编译老报错,但是我感觉没有错啊,不知道为什么?请帮忙看看原因。谢谢
软件是新下载安装的modelsim 10,
写了个小module,大概这个样子:
module ram #
  (
    parameter DWIDTH    =  32   ,
    parameter AWIDTH    =  8   
  )
  (
  input  wire                 rst   ,
  input  wire                 clk   ,
                                
  input  wire                 wr    ,
  input  wire  [`AWIDTH-1:0]  addr  ,
  input  wire  [`DWIDTH-1:0]  wdata ,
  output reg   [`DWIDTH-1:0]  rdata
  );
endmodule
用modelsim编译这个文件就报错:
# Model Technology ModelSim SE vlog 10.0c Compiler 2011.07 Jul 21 2011
# -- Compiling module ram
# ** Error: ../src/ram.v(12): (vlog-2163) Macro `AWIDTH is undefined.
# ** Error: ../src/ram.v(13): (vlog-2163) Macro `DWIDTH is undefined.
# ** Error: ../src/ram.v(14): (vlog-2163) Macro `DWIDTH is undefined.
# C:/modeltech_10.0c/win32/vlog failed.
为什么呢?这是标准的2001语法啊。

input  wire  [`AWIDTH-1:0]  addr  ,改成input  wire  [AWIDTH-1:0]  addr  ,没有`吧

小编parameter和define的用法没分清啊。再看看书,使用parameter定义的变量时需要`吗?

哦,是这样,我晕!犯了这样的错误。
谢谢 eetpo 和 orlye 两位的指点!  十分感谢!

LZ应该多看看compile log,错误说的很明白的呀。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top