天天看点

FPGA时序分析和时序约束1时序分析和时序约束2例子分析

FPGA时序分析和时序约束

  • 1时序分析和时序约束
  • 2例子分析
    • 2.1实现代码
    • 2.2时序分析的基本模型

1时序分析和时序约束

时序分析的目的:

通过分析FPGA设计中各个寄存器之间的数据和时钟传输路径,来分析数据延迟和时钟延迟的关系。一个良好的设计系统,必然能够保证整个系统中的所有寄存器都能够正确的寄存数据。

数据和时钟路径是由EDA软件,通过对特定器件布局布线得到的。

时序约束的目的:

(1)告知EDA软件,本设计需要达到怎样的时序指标,然后EDA软件会根据时序的各个参数,尽量优化布局,以达到该指标。

(2)协助EDA软件进行分析设计的时序路径,以产生相应的时序报告。

2例子分析

2.1实现代码

`timescale 1ns / 1ps
//
module top(
    input            sys_clk,
    input  [0:0]     a,
    input  [0:0]     b,   
    output reg [0:0] c
    );   
    
    reg  [0:0]  a_reg;
    reg  [0:0]  b_reg;
    wire [0:0]  c_wire;   
    
    always@(posedge sys_clk)
    begin
        a_reg<=a;
        b_reg<=b;
    end 
    
    assign c_wire=a_reg & b_reg;   
    
    always@(posedge sys_clk)
    begin
        c<=c_wire;
    end  
      
endmodule



           

2.2时序分析的基本模型

FPGA时序分析和时序约束1时序分析和时序约束2例子分析

D触发器需要用到DFF,与门需要用到LUT。

延迟产生原因:

(1)内部连线走线延迟;

(2)组合逻辑电路延迟。

Tco:时钟上升沿到达D触发器的D端 到 数据输出到Q端的延迟。

Tsu:寄存器稳定数据的建立时间,由目的寄存器自身的特性决定。在时钟信号的上升沿到达时钟接口时,触发器的数据输入端(D)必须提前N纳秒稳定下来,否则无法保证数据正确存储。也就是说,D触发器D端口的数据必须比时钟上升沿提前Nns到达D触发器的端口。

为了保证正确接收数据,内部连线走线延迟+组合逻辑电路延迟必须小于sys_clk- Tsu。如下图所示。

FPGA时序分析和时序约束1时序分析和时序约束2例子分析

例子分析:

a=1,b=1;间隔一定的时间,a变成0;

FPGA时序分析和时序约束1时序分析和时序约束2例子分析

图中,a_reg_D指的是寄存器a的D端,a_reg_Q指的是寄存器a的Q端。