时序约束:
同步时序模型
时钟源clk到rega的时钟端口,会有一定时间的延迟Tclka。
同理时钟源clk到regb的始终端口,会有一定时间的延时Tclkb。
有效数据到寄存器的Q端口还有一定的时间Tco
Tdata为数据延时,这部分延时包括组合逻辑延时的走线延时。
Tus表示捕获寄存器的建立时间要求
Th表示捕获寄存器保持时间要求
Tco、Tsu、Th是由FPGA的芯片工艺决定的
时序约束实际就是对时钟延时Tclk和Tdata做干预和要求,Tdata可通过代码和布局布线做优化。
时间裕量:
时间余量包括建立时间裕量和保持时间余量。
FPGA综合后是否满足时序要求,就看所有的捕获寄存器是否能正确稳定的捕获到发起寄存器的数据,那么到达捕获寄存器的数据输入端口D(regb/D)的数据要满足建立和保持时间要求,也就是Tsu之前,current data valid 要准备就绪,在Th之后current data valid 还要维持一段时间。Tsu之前和Th之后的时间称之为裕量(Setup Slack和Hold Slack)
最大延时和最小延时:
当延时时间大于T-Tus时:在Tus到来时数据还没来,此时不满足建立时间要求,
当数据延时时间小于Th时,data在保持时间(Th)内已经发生了变化,不满足保持时间要求,且数据不稳定了。
当数据延迟了Th时:Tsu时间内数据到来,且保持了Th时间,满足建立时间和保持时间要求。
所以最大时间延迟是T-Tsu,最小时间延时是Th,因为一个时钟周期传输一次数据,数据的时间周期就是一个时钟周期,所以为了满足保持时间要求,最小的延迟时间就是Th。
FPGA的时序问题,根本原因就是建立时间和保持时间的问题,解决建立时间不足的方法是减少延时,解决保持时间不足的方法是增加延时。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体