Vhdl Quartus II是否抑制具有相同文本的报告消息?

Vhdl Quartus II是否抑制具有相同文本的报告消息?,vhdl,synthesis,quartus,Vhdl,Synthesis,Quartus,我正在将Xilinx ISE项目移植到Quartus II。编译该项目时,Quartus崩溃并出现错误:***致命错误:0X000007FE88160DE1处的访问冲突。因此,我试图将错误缩小到一个最小的示例,这将引导我找到一个隐藏的VHDL错误或一个小示例,我可以将其发送给Altera 该项目使用VHDL数据结构(基本类型向量记录向量记录向量记录)来描述SoC设置。简化的结构如下所示: SoFPGA System o-DeviceInstances | o-Device | o-Regis

我正在将Xilinx ISE项目移植到Quartus II。编译该项目时,Quartus崩溃并出现错误:
***致命错误:0X000007FE88160DE1处的访问冲突
。因此,我试图将错误缩小到一个最小的示例,这将引导我找到一个隐藏的VHDL错误或一个小示例,我可以将其发送给Altera

该项目使用VHDL数据结构(基本类型向量记录向量记录向量记录)来描述SoC设置。简化的结构如下所示:

SoFPGA System
o-DeviceInstances
| o-Device
|   o-Registers
|   | o-Bitfields
|   o-RegisterMappings
o-Busses
我想向合成日志报告完整的结构,但是如果消息文本已经打印到日志中,Quartus II似乎会隐藏消息

示例:

Info (10635): ... at pb.pkg.vhdl(1228): "DeviceInstance 1:" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1229): "  DeviceInstance: Mult32" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1230): "    Device: Mult32" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        0: OperandA0 Reg#=0 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1241): "          0: FieldID=0 (OperandA)" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        1: OperandA1 Reg#=1 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        2: OperandA2 Reg#=2 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        3: OperandA3 Reg#=3 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        4: OperandB0 Reg#=4 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1241): "          0: FieldID=1 (OperandB)" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        5: OperandB1 Reg#=5 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        6: OperandB2 Reg#=6 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        7: OperandB3 Reg#=7 WR" (NOTE)
shared variable salt : NATURAL := 0;

impure function salty return STRING is
begin
  salt := salt + 1;
  return INTEGER'image(salt);
end function;
report salty & "pb_CreateRegisterRO:" severity NOTE;
每个“操作数[A | B]”只打印一次“FieldID”消息。操作数A1、A2、A3和B1、B2、B3之后没有FieldID行

因此,我尝试在每个报告行中添加一个唯一的编号(
salt
)。为此,我定义了一个共享变量,并定义了一个函数
salty
,在每个报表语句中增加salt

变量和函数:

Info (10635): ... at pb.pkg.vhdl(1228): "DeviceInstance 1:" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1229): "  DeviceInstance: Mult32" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1230): "    Device: Mult32" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        0: OperandA0 Reg#=0 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1241): "          0: FieldID=0 (OperandA)" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        1: OperandA1 Reg#=1 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        2: OperandA2 Reg#=2 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        3: OperandA3 Reg#=3 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        4: OperandB0 Reg#=4 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1241): "          0: FieldID=1 (OperandB)" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        5: OperandB1 Reg#=5 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        6: OperandB2 Reg#=6 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        7: OperandB3 Reg#=7 WR" (NOTE)
shared variable salt : NATURAL := 0;

impure function salty return STRING is
begin
  salt := salt + 1;
  return INTEGER'image(salt);
end function;
report salty & "pb_CreateRegisterRO:" severity NOTE;
用法:

Info (10635): ... at pb.pkg.vhdl(1228): "DeviceInstance 1:" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1229): "  DeviceInstance: Mult32" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1230): "    Device: Mult32" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        0: OperandA0 Reg#=0 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1241): "          0: FieldID=0 (OperandA)" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        1: OperandA1 Reg#=1 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        2: OperandA2 Reg#=2 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        3: OperandA3 Reg#=3 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        4: OperandB0 Reg#=4 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1241): "          0: FieldID=1 (OperandB)" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        5: OperandB1 Reg#=5 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        6: OperandB2 Reg#=6 WR" (NOTE)
Info (10635): ... at pb.pkg.vhdl(1234): "        7: OperandB3 Reg#=7 WR" (NOTE)
shared variable salt : NATURAL := 0;

impure function salty return STRING is
begin
  salt := salt + 1;
  return INTEGER'image(salt);
end function;
report salty & "pb_CreateRegisterRO:" severity NOTE;
但不幸的是,salty总是返回“0”。Quartus II支持VHDL'08特性。我应该将共享变量实现为受保护的类型,并在VHDL'08模式下编译它吗

如何将所有报表语句行打印到合成报表?


离题问题:
有人有兴趣帮我找到Quartus崩溃的原因吗?我将项目剥离为6个VHDL文件。我认为这个问题是一个非常具体的问题