文章 ID: 000078358 内容类型: 错误讯息 上次审核日期: 2021 年 08 月 28 日

错误 (10170):Verilog HDL 语法错误 <design>.v 靠近文本 "localparam"; 期望"结束",或标识符("localparam"是保留的关键字),或顺序声明</design>

环境

BUILT IN - ARTICLE INTRO SECOND COMPONENT
说明

此错误仅在 Quartus® II 软件版本 6.0(包括 6.0 SP1)中发生,如果设计使用生成语句中的 localparam 声明,例如下面的示例,因为该软件比所有其它版本更严格地执行一些 Verilog 语言规则。

generate
    for (i = 0; i < WIDTH; i = i 8)
  begin : my_loop
  localparam j = i 7 > WIDTH-1 ? WIDTH-1 : i 7;
  localparam k = BASE (i>>3); ...
endgenerate

Verilog 语言参考手册 (LRM) 规定以下规则:

生成语句中不允许使用的模块声明和模块项目包括:参数、本地参数、输入声明、输出声明、输出声明和指定模块。1364-2001 LRM 12.1.3

为了避免错误并实施相同的功能,将本地参数语句放在一个始终模块中,如下示例所示:

generate

   for (i = 0; i < WIDTH; i = i 8)

   begin : my_loop

      always @(posedge clk or posedge reset)

         begin : my_params

            localparam j = i 7 > WIDTH-1 ? WIDTH-1 : i 7;

            localparam k = BASE   i>>3);

            ...

endgenerate

相关产品

本文适用于 1 产品

英特尔® 可编程设备

本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。