FPGA时序分析和时序约束
时序分析:时序分析的目的就是通过分析FPGA设计中各个寄存器之间的数据和时钟传输路径,来分析数据延迟和时钟延迟之间的关系。一个设计OK的系统,必然能够保证整个系统中所有的寄存器都能够正确的寄存数据。
数据和时钟传输路径是由EDA软件,通过针对特定器件布局布线得到的。
时序约束:两个作用
告知 EDA 软件,该设计需要达到怎样的时序指标,然后 EDA软件会根据时序约束的各个参数,尽力优化布局布线,以达到该约束的指标。
协助EDA 软件分析设计的时序路径,以产生相应的时序报告。
延迟产生原因:
(1)内部连线走线延迟;
(2)组合逻辑电路延迟。
Tco:时钟上升沿到达D触发器的D端 到 数据输出到Q端的延迟。
Tsu:寄存器稳定数据的建立时间,由目的寄存器自身的特性决定。在时钟信号的上升沿到达时钟接口时,触发器的数据输入端(D)必须提前N纳秒稳定下来,否则无法保证数据正确存储。也就是说,D触发器D端口的数据必须比时钟上升沿提前Nns到达D触发器的端口。
为了保证正确接收数据,内部连线走线延迟+组合逻辑电路延迟必须小于sys_clk- Tsu。如下图所示。
FPGA时序传输模型分析:
DFF=D:触发器=寄存器
Tclk1:时钟信号从时钟源端口出发,到达源寄存器时钟端口的时间
Tco:时钟上升沿到达寄存器时钟端 到数据输出到寄存器Q端口的时间
Tdata:数据从源寄存器Q端出发,到达目的寄存器D端的时间
Tclk:时钟周期
Tclk2:时钟信号从时钟源端口出发,到达目的寄存器时钟端口的时间
Tsu:寄存器要求的 其数据端口的值必须提前于时钟上升沿达到其时钟端口的时间值
Tskew:时钟从源端口出发,到达目的寄存器和源寄存器时钟端口的时间差值(Tclk2-Tclk1)
Tclk1 + Tco +Tdata:数据到达时间(TimeQuest)
Tclk + Tclk2 - Tsu:数据需求时间
Slack:数据需求时间和数据到达时间的差值,如果为正值,则表明数据能被目的寄存器正确接收,如果为负值,则表明数据不能被目的寄存器正确接收