集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1014|回复: 2

浅谈复位

[复制链接]
d643189658 发表于 2017-8-9 19:49:21 | 显示全部楼层 |阅读模式
浅谈复位

例1:
clk和rst_n信号连接到FPGA,FPGA将复位信号直接给MCU,时钟信号经二分频提供给MCU,非常简单吧,分频程序如下:
assign rst_mcu_n=rst_n;
always @ (posedge clk or negedge rst_n)
       if(rst_n==1'b0)
              clk_mcu<=1'b0;
      else
              clk_mcu<=!clk_mcu;
这样的程序在MCU在执行过程中就会出问题,原因是大部分MCU要求时钟在复位信号无效前必须维持多个周期,而显然上述程序做不到这一点,复位信号变无效后,才开始输出时钟信号的。
例2:
外部输入的硬复位做全局复位信号?大家似乎对这点从未怀疑过,是啊,硬复位内部所有的触发器还有各种IP核等,似乎是无可争议的事情?但是你想过么:
电源加电后,FPGA上电配置时间有的超过几百ms(不同存储容量的FLASH,加载时间不一样),我们常用的看门狗信号max706,复位有效时间是200ms,所以如果上电加载配置时间大于200ms的话..........呵呵,你懂得,内部触发器不能保证复位到默认值。
所以我的设计方案是:
assign rst_cnt_n=(count==16'hDCBA)?1:0;
assign rst_syn=rst_n & rst_cnt_n;//rst_syn用作全局复位信号
always @ (posedge clk or negedge rst_n)
       if(rst_n==1'b0)
              count<=16'b0;
      else if(count==16'hDCBA)
              count<=16'hDCBA;
      else
              count<=count+1;



 楼主| d643189658 发表于 2017-8-9 19:49:45 | 显示全部楼层
刚在网上看到的,请老师看下说的是否正确
zxopenljx 发表于 2021-1-2 22:04:49 | 显示全部楼层
浅谈复位浅谈复位
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-29 08:04 , Processed in 0.060459 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表