文章 ID: 000087716 内容类型: 故障排除 上次审核日期: 2021 年 10 月 26 日

为什么我的 Verilog HDL 结构信号的合成结果不正确?

环境

    英特尔® Quartus® Prime Pro Edition
BUILT IN - ARTICLE INTRO SECOND COMPONENT
说明

由于英特尔® Quartus® Prime 专业版软件 v21.1 及更早版本出现问题,如果结构实例可变名称与其成员之一相同,则您可能会发现合成结果不正确。

例如,在下面的结构定义中,当设计 在.data 中使用时,将其合成为 in.data.data,后者是结构的元素。这意味着位宽度为 256 位,即 258 位,即 1 位 sop、1 位 eop 和 256 位数据。

接口测试 #(参数宽度=256)();
typedef 结构封装 {
逻辑哎呀;
逻辑 eop;
逻辑 [宽度-1:0] 数据;
} data_t;
data_t数据;
结束对比

......

测试 #(。宽度 (256)英寸();

分配 dout = in.data;

......

解决方法

要解决此问题,如果是成员,不要将同一个结构名称作为同一个名称。

这个问题从英特尔® Quartus® Prime 专业版软件 v21.2 开始得到了修复。

相关产品

本文适用于 1 产品

英特尔® 可编程设备

1

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