-----------2、源程序仿真结果及数据分析(1)仿真结果图4-2仿真结果部分波形图图4-3仿真结果总体波形图(2)数据分析由仿真结果图可以看出:先清零,再置数,置初始值为30,置数后,保持30,直至使能端ENB为高电平,等到上升沿的到来,开始计数,计数器减计数至零时,报警信号WARM变为高电平,发出报警信号。但信号在FPGA器件内部通过连线和逻辑门时,都有一定的延时。延时的大小与连线的长短和门单元的数目有关,同时还受器件的制造工艺、工作电压、温度等的影响。此外,信号的高低电平转换也需要一定的过度时间。由于存在这些因素的影响,多路信号的电平值发生变化时,在信号变化的瞬间,组合逻辑的输出有先后顺序,并不是同时变化,往往会出现一些不正确的“毛刺”,称为“冒险”现象。可以通过改变设计来破坏毛刺的产生的条件,从而减少毛刺的发生。例如,在数字电路设计中,常采用格雷码。还可以利用D触发器消除毛刺。但由于时间和条件的限制没有进行时延现象的消除,在本次设计中没有太大影响,但在以后的工作中是一定要避免的。五、硬件实现1、打开QuartusII软件,建立一个工程,将编写好的源代码加载进去进行仿真。2、代码编译成功之后,进行功能仿真,首先建立波形文件,设置时钟参数;将波形文件保存好,进行软件仿真;3、软仿真实现之后,要进行硬仿,即硬件实现。硬件实现简单明了,可以清楚的看到实验的成功与否,而且真实可靠。为了实现硬仿,我们先进行管脚绑定。CLR,ENB,?PLD分别由键8,键7及键6来执行,S1,S0分别由数码管8和数码管7来显示。绑定情况如图4-4所示:图4-4管脚绑定图4、管脚绑定好之后,进行编译。5、编译无误后,进行下载硬仿。硬件电路选择模式6,数码管8和数码管7分别显示计数值的十位与个位。键8,键7与键6分别代表清零,启动/暂停/连续与复位键。加载结果如图4-5所示:图4-5加载成功图