软件:Quartus
语言:Verilog
代码功能:
1.看门狗电路时电子系统,是嵌入式系统中常用的抗干扰措施之一,其作用是在程序“跑 飞”后强制系统复位。
2.看门狗实际上是一个计数器,它需要在一定时间内被清零,否则,看门狗将产生一个复位信号使系统重新启动。
3. 系统主要由3个功能模块构成:
1) 计数比较模块;
2) 分频模块;
3) 复位计时模块
4.完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在开发板验证,开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1. 硬件操作
温度传感器板J3连接核心板P6;核心板按键S1手动清计数(喂狗),LED8为看门狗输出复位信号指示灯(没有定时喂狗表示系统跑飞,计数器溢出后输出复位指示灯)。
2. 工程文件
3. 程序文件
4. 管脚分配
5. 程序编译
6. RTL图
7. Testbench
8. 仿真图
整体仿真图
计数模块
分频模块
复位模块
显示模块
部分代码展示:
//看门狗 module?watch_dog( input?clk,//50M input?feed_key,//喂狗按键,按下低电平 output?rst_led,//输出复位信号,用led灯表示 output?[2:0]?seg_CBA,//数码管位选 output?[7:0]?seg_LED//数码管段选 ); wire?clk_1Hz;//1Hz计数脉冲 wire?[7:0]?cnt_num;//计数值 //50M分频到1Hz //分频模块 division?i_division( .?clk(clk),//50M .?clk_1Hz(clk_1Hz)//分频到1Hz ); //计数模块 count?i_count( .?clk(clk),//50M .?clk_1Hz(clk_1Hz),//1Hz计数脉冲 .?feed_key(feed_key),//喂狗按键,按下低电平 .?cnt_num(cnt_num)//计数值 ); //复位模块 reset?i_reset( .?clk(clk),//50M .?cnt_num(cnt_num),//计数值 .?rst_led(rst_led)//输出复位信号,用led灯表示 ); //数码管显示模块 display?i_display( .?clk(clk),//时钟 .?cnt_num(cnt_num),//计数值 .?seg_CBA(seg_CBA),//数码管位选 .?seg_LED(seg_LED)//数码管段选 );
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=559
370