Vhdl 在Modelsim中重置IP核心FIFO

Vhdl 在Modelsim中重置IP核心FIFO,vhdl,fifo,modelsim,Vhdl,Fifo,Modelsim,我正在使用内置FIFO,在FWFT模式下。我尝试将其重置为9个时钟,然后在开始时将重置线保持在低位。在第一次写入启用上升之前,有一个很大的间隙 Modelsim然后抱怨,当写入启用变高时,我没有正确重置FIFO。然而,我看到了正确的数据进出该区块。如果我没有重置它,或者我没有在重置和第一次写入启用之间留下间隙,那么我就无法获得正确的数据。为什么会这样 我唯一的预感是,我正在编译和运行modelsim,并在IP核上使用-nodebug标志,但我目前无法删除它来测试我的理论 在生成的源代码中搜索

我正在使用内置FIFO,在FWFT模式下。我尝试将其重置为9个时钟,然后在开始时将重置线保持在低位。在第一次写入启用上升之前,有一个很大的间隙

Modelsim然后抱怨,当写入启用变高时,我没有正确重置FIFO。然而,我看到了正确的数据进出该区块。如果我没有重置它,或者我没有在重置和第一次写入启用之间留下间隙,那么我就无法获得正确的数据。为什么会这样

我唯一的预感是,我正在编译和运行modelsim,并在IP核上使用
-nodebug
标志,但我目前无法删除它来测试我的理论


在生成的源代码中搜索引发该错误的断言,并从那里进行跟踪。基本sim调试也适用于生成的IP。好的,所以我可以找到大量的assert语句,但我找不到一个生成“必须遵守”文本的语句,即使在快速grep之后,我也只能在日志文件中看到它。不过,我觉得非常奇怪的是,你可以看到所有的输入信号在相当长的一段时间内都保持在低位,而重置则保持在高位。@BrianDrummond实际上,我在其中唯一能找到的就是这样一个警告:
//if(C_EN_SAFET_CKT==1)//断言:重置应该至少有3个周期宽。
$display(“警告:在复位解除断言的7个时钟周期内进行了写入尝试。启用安全电路时,这可能导致数据不一致。”)
这对我来说不算。这是什么//和$display东西?看起来像verilog,对不起,我帮不上忙that@BrianDrummond-IP核的模拟文件现在是用verilog编译的,所以你最好习惯它。我也来自VHDL-但我找不到任何与该字符串相关的本应容易找到的内容。此外阅读此IP核心上的指南,我已根据手册正确地完成了重置中的所有操作。搜索生成的源代码以查找引发该错误的断言,并从那里进行跟踪。基本sim调试也适用于生成的IP。好的,因此我可以找到大量的断言语句,但我找不到生成文本的断言语句。”“必须观察”-即使在快速grep之后,我也只能看到它出现在日志文件中。但我发现非常奇怪的是,您可以看到所有输入信号都保持低电平,而reset保持高电平的时间相当长。@BrianDrummond事实上,我能在其中找到的唯一一个警告是:
//if(C_EN_SAFET_CKT==1)//断言:重置应至少有3个周期宽。
$display(“警告:在重置解除断言的7个时钟周期内进行了写入尝试。启用安全电路时,这可能导致数据不一致。”)
这对我来说不算。这是什么//和$display东西?看起来像verilog,对不起,我帮不上忙that@BrianDrummond-IP核的模拟文件现在是用verilog编译的,所以你最好习惯它。我也来自VHDL-但我找不到任何与该字符串相关的本应容易找到的内容。此外请阅读此IP核上的指南,我已根据手册正确地完成了复位中的所有操作。