Vhdl Quartus II是否抑制具有相同文本的报告消息?
我正在将Xilinx ISE项目移植到Quartus II。编译该项目时,Quartus崩溃并出现错误: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
***致命错误: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文件。我认为这个问题是一个非常具体的问题