系列文章目录
一、系统同步接口
二、系统同步接口路径分析
- Tci_pcb:时钟从时钟源到达外部芯片所经过的PCB走线延迟;
- Tco:时钟到达外部芯片引脚,一直到外部芯片数据输出所经过的延迟;(源时钟到寄存器引脚+数据经过寄存器时间)
- Td_pcb:数据信号在PCB线上经过的延迟;
- Tpin2reg:数据信号从FPGA引脚到达目的寄存器reg2所经过的延迟;
- Tc2j_pcb:源时钟经过PCB到达FPGA所经过的延迟;
- Tc2j_fp:时钟从FPGA引脚到达reg2寄存器所经过的延迟;
建立时间:
Data Arrival Time = Launch Edge + Tc2i_pcb(max) + Tco(max) + Td_pcb(max) + Tpin2reg(max)
Data Required Time = Latch Edge + Tc2j_pcb(min) + Tc2j_fp(min) - Tsu -Clock Uncertain
Setup Time = Data Required Time - Data Arrival Time = Latch Edge - Launch Edge + Tc2j_pcb(min) - Tc2i_pcb(max) - Tco(max) -Td_pcb(max) + Tc2j_fp(min) - Tpin2reg(max) - Tsu -Clock Uncertain
保持时间:
Data Arrival Time = Launch Edge + Tc2i_pcb(min) + Tco(min) + Td_pcb(min) + Tpin2reg(min)
Data Required Time = Latch Edge + Tc2j_pcb(max) + Tc2j_fp(max) + Th + Clock Uncertain
hold Time = Data Arrival Time - Data Required Time
变量中除了Tpin2reg与Tc2j_fp未知其余变量均可查询手册;
由建立时间公式进行变形:
Data Arrival Time = Launch Edge + Tc2i_pcb(max) - Tc2j_pcb(min) + Tco(max) + Td_pcb(max) + Tpin2reg(max)
Data Required Time = Latch Edge + Tc2j_fp(min) - Tsu -Clock Uncertain
可得需要进行输入最大延迟约束时间为:
set_input_delay(max) = Tc2i_pcb(max) - Tc2j_pcb(min) + Tco(max) + Td_pcb(max)
由保持时间公式变形:
Data Arrival Time = Launch Edge + Tc2i_pcb(min) - Tc2j_pcb(max) + Tco(min) + Td_pcb(min) + Tpin2reg(min)
Data Required Time = Latch Edge + Tc2j_fp(max) + Th + Clock Uncertain
可得需要进行输入最小延迟约束时间为:
set_input_delay(min) = Tc2i_pcb(min) - Tc2j_pcb(max) + Tco(min) + Td_pcb(min)
三、源同步接口路径分析
- Tc_ext:外部芯片的时钟走线延时,已经包含在外部芯片Tco中,可以认为是0
建立时间:
Data Arrival Time = Launch Time + Tco(max) + Td_pcb(max) + Tpin2reg(max)
Data required Time = Latch Time + Tc2j_pcb(min) + Tc2j_fp(min) - Tsu - Clock uncertain
变形:
Data Arrival Time = Launch Time - Tc2j_pcb(min) + Tco(max) + Td_pcb(max) + Tpin2reg(max)
Data required Time = Latch Time + Tc2j_fp(min) - Tsu - Clock uncertain
Setup Time Slack = Data required Time - Data Arrival Time = Latch Time - Launch Time + Tc2j_fp(min) + Tc2j_pcb(min) - Tco(max) - Td_pcb(max) - Tpin2reg(max) - Tsu - Clock uncertain
保持时间:
Data Arrival Time = Launch Time - Tc2j_pcb(max) + Tco(min) + Td_pcb(min) + Tpin2reg(min)
Data required Time = Latch Time + Tc2j_fp(max) + Th + Clock uncertain
Hold Time Slack = Data Arrival Time - Data required Time
set_input_delay的最大最小值为:
set_input_delay(max) = - Tc2j_pcb(min) + Tco(max) + Td_pcb(max)
set_input_delay(min) = - Tc2j_pcb(max) + Tco(min) + Td_pcb(min)