当整数超出范围时,Vivado Simulator不会给出任何警告或错误消息-Xilinx-AMD社区-FPGA CPLD-ChipDebug

当整数超出范围时,Vivado Simulator不会给出任何警告或错误消息

描述

我在VHDL中有以下代码,包括信号clk_count,其范围定义为整数范围0到4。

仿真时该信号超出范围。但是,Vivado Simulator在仿真阶段不显示任何错误消息。

————————————————–
signal clk_count:INTEGER范围0到4;
clk_gen_adc:进程(clk,reset)
开始
如果(reset =?1?)那么
clk_count< = 0;
elsif rising_edge(clk)开始
如果clk_count = 9那么
clk_count< = 0;
其他
clk_count< = clk_count + 1;
万一;
万一;
结束过程;
————————————————

Vivado Simulator确实有一个rangecheck选项,但默认情况下它被禁用。

您需要在仿真设置中启用rangecheck选项,如下面的屏幕截图所示,以打开错误消息。

图片[1]-当整数超出范围时,Vivado Simulator不会给出任何警告或错误消息-Xilinx-AMD社区-FPGA CPLD-ChipDebug

启用上面突出显示的rangecheck选项后,Vivado仿真器在值达到5时停止,并显示以下错误消息:

错误:运行时范围检查值5超出有效范围0到4。

注意:默认情况下,rangecheck开关被禁用,因为它会导致编译器为范围检查生成额外的代码并减慢仿真速度。

它作为一个选项提供,可以在您希望工具执行范围检查的特定情况下打开。

请登录后发表评论

    没有回复内容