output_delay的参考系下游 capture 时钟沿 t0由 -clock指定value 0→ 数据相对 capture 沿迟到占对端的 Tsu 窗value 0→ 数据相对 capture 沿早到占对端的 Th 窗或者说 capture 沿在数据眼图的右边-max为正 / -min为负最常见的合法形态output_delay用户告诉编译器外部的线缆延时和下游的建立保持时间要求。可以看做reg2reg来分析output_delay和input_delay编译器自己转化为对上游(本级)的输出路径约束。隐含条件上游FF的建立保持时间与下游FF的建立保持时间不一定相同。使用output_delay的目的是让下游设备能准确的采样到本级发出的数据。满足下游的建立保持时间。本级发送出去的数据经过线缆延时还要能满足下游的建立时间。output_delay_maxT线缆Tsu裕量本级发送的数据经过线缆延时不能破坏launch沿的保持时间。-max-min-min可以大于-max为什么output_delay会有最大值,为什么不考虑裕量因为是TDmax,而不是TD应该可以考虑裕量output_delay(max)TDmax裕量Tsu。裕量留给FPGA控制调节TraceDelayTD为什么有max/min因为数据一般都是多bit不同bit之间的延时有大有小所以存在max/min。output delay是什么output delay是输出数据在时钟上升沿之前提前多长时间准备好如上图6ns。而不是表示在时钟上升沿之后延时多久有效。参考点为下游芯片的捕获沿。由于是下游芯片的捕获沿为参考点所以建立时间为正保持时间为负。为什么output delay有max/min值因为max是与downstream的setup时间有关如果max很大很大会破坏downstream的setup时间。min是与downstream的hold时间有关如果min很小很小FPGA发出的数据立马在时钟沿立马到达会破坏downstream的hold时间。如何转化为编译器识别的信息将参考点由下游时钟移动到FPGA管脚时钟站在编译器的角度如何依据设定的-max/-min转化为对本FPGA的布线约束用户告知编译器下游芯片的Tsu/Th/Tdmax/Tdmin(线缆延时)编译器得到output_delay (TdmaxTsu,Tdmin-Th)编译器知道了在上游FPGA管脚参考处的时序约束是 (Tdmin-Th) T-(TdmaxTsu)SDR框图DDR框图-clock_fall:指定下降沿。以下降沿为参考分析下降沿之前的数据稳定时间。-add_delay:保护下降沿的max/min约束不被覆盖。参考【 FPGA 】设置输出延迟Output Delay_Reborn Lee-CSDN博客_fpga将一个信号延时输出关于set_input_delay和set_output_delay - FPGA/ASIC/IC前端设计 - EETOP 创芯网论坛 (原名电子顶级开发网) -