没有合适的资源?快使用搜索试试~ 我知道了~
基于FPGA的复位设计
资源推荐
资源详情
资源评论
基于 FPGA 复位设计方案
1. 复位
首先 FPGA 的复位,对于大部分设计而言,是很简单的。简单在于,只要按照固定方
法:按键按下,复位有效一次,相关信号复位。这能解决大部分的问题。而对于其他大规模
的复位设计,则需要对细节深究。
2. 方式
a. 外部复位:包括硬件按键复位,电源等芯片产生复位信号,软件复位。这些信号往
往相对系统内的各个时钟会是异步的。
b. 内部复位:内部自我产生的复位,形式表现于上电后自复位或者识别到某种内部命
令后的复位。这些复位往往相对于某一时钟域是同步的。当存在多个时钟域的时候,相对于
某一时钟,也可能是异步复位信号。
作为一个正常的系统,上电自动复位和手动的按键复位都是必须的,相辅相成。
3. 复位特性
a. 复位网络需要占用布线资源;
b. 导致其余信号的布线信号受到影响,降低了它们布线的自由度;
c. 增加的布线网络往往需要使用更高速率的芯片;
d. 复位网络占用大量布线资源,使得 Place&Route 的时间大大增加;
e. 复位信号需要占用大量的逻辑资源;
f. 复位信号需要使用触发器的专用复位管脚;
g. 可操作的复位信号往往导致 D 触发器的输入前增加额外的门操作或专用的复位输入;
h. 增大整个设计的尺寸;
i. 额外的逻辑消耗降低了系统的性能;
j. 阻止了使用高效特征,如 Xilinx FPGA 特有的 SRL16E 移位寄存器。
简单的说,复位的存在会对 FPGA 的综合面积产生影响,主要体现在两个方面:
第一、在编写代码的时候,习惯给所有时序电路都加上复位信号,这样往往会导致资源
无形的浪费;
第二、没有合理的设计复位电路会产生额外的资源消耗。
4、同步复位
复位信号可以理解为一个普通的数据信号,它只有在时钟的跳变沿才会起作用,一般只
要复位信号持续时间大于一个时钟周期,就可以保证正确复位。具体的代码实现如下:
always@(posedge clk)
if(~rst_n) q<=0;
else q<=d;
资源评论
Vincent_limin
- 粉丝: 1
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功