FPGA设计时序分析三、恢复/去除时间

目录

一、背景说明

二、工程设计

[2.1 工程代码](#2.1 工程代码)

[2.2 综合结果](#2.2 综合结果)


一、背景说明

​恢复时间recovery和去除时间removal和setup、holdup类型,不同点是数据信号为控制信号,如复位,清零,使能信号,更多的是异步的复位信号,并且是针对复位信号取消时的上升沿。

​recovery: 复位取消信号需在时钟信号到达之前的recovery时间内稳定下来,保证复位完全释放

​removal: 复位消信号需在时钟信号到达后保持至少removal时间,保证复位信号有效

二、工程设计

​目前寄存器都采用异步复位,同步释放,复位可以不依靠时钟,实现简单,同时可以稳定释放复位信号,不出现亚稳态问题

2.1 工程代码

复制代码
module RST (clk,rst,d,out);
input      clk;
input      rst;
input      d;
output reg out;
reg rst_s1,rst_s2;
always @(posedge clk or negedge rst) begin
   if(!rst) begin
       rst_s1<= 1'b0;         //异步复位操作
       rst_s2<= 1'b0;
   end
   else begin
       rst_s1<= 1'b1;         //同步释放
       rst_s2 <= rst_s1;      //对同步释放后的复位信号延迟一拍,即最终复位信号为rst_s2
   end
end

always@(posedge clk,negedge rst_s2)
begin
 if (!rst_s2) 
    out <= 1'b0; 
 else 
    out <= d;
end

endmodule

2.2 综合结果

​在3个FDCE的CLR端口前面都插入了LUT1,作用是作为反相器,因为FDCE的CLR是高电平有效,源码设计中为低电平进行有效复位。复位信号rst是经过两拍之后在out_reg中使用。

相关推荐
hahaha60161 小时前
Flash烧录速度和加载配置速度(纯FPGA & ZYNQ)
fpga开发
hahaha60161 小时前
ARINC818编解码设计FPGA实现
fpga开发
XMAIPC_Robot2 小时前
基于RK3568的多网多串电力能源1U机箱解决方案,支持B码,4G等
linux·fpga开发·能源·边缘计算
广药门徒5 小时前
在使用一些不用驱动大电流的设备就可以用stm32的自己的上下拉但是本身上下拉不就是给iicspi这些他通信给信号的吗中怎么还跟驱动能力扯上了有什么场景嘛
stm32·单片机·fpga开发
hahaha60167 小时前
XDMA pcie环路测试
fpga开发
XMAIPC_Robot1 天前
基于FPGA + JESD204B协议+高速ADC数据采集系统设计
fpga开发
XMAIPC_Robot1 天前
基于RK3576+FPGA+AI工业控制器的工地防护检测装备解决方案
人工智能·fpga开发
XMAIPC_Robot2 天前
基于 ZYNQ UltraScale+ OV5640的高速图像传输系统设计,支持国产替代
linux·数码相机·fpga开发·架构·边缘计算
读书点滴2 天前
关于FPGA软核的仿真(一)
fpga开发
XMAIPC_Robot2 天前
基于 NXP + FPGA+Debian 高可靠性工业控制器解决方案
运维·人工智能·fpga开发·debian·边缘计算