名称:看门狗电路设计Verilog代码Quartus 开发板(文末获取)
软件:Quartus
语言:Verilog
代码功能:
1.看门狗电路时电子系统,是嵌入式系统中常用的抗干扰措施之一,其作用是在程序“跑 飞”后强制系统复位。
2.看门狗实际上是一个计数器,它需要在一定时间内被清零,否则,看门狗将产生一个复位信号使系统重新启动。
3. 系统主要由3个功能模块构成:
1) 计数比较模块;
2) 分频模块;
3) 复位计时模块
4.完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等
本代码已在开发板验证,开发板如下,其他开发板可以修改管脚适配:
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)//数码管段选 );
源代码
扫描文章末尾的公众号二维码