在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 283|回复: 2

[求助] STA | min_period check

[复制链接]
发表于 2025-4-3 14:25:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
请教大佬,
为什么RAM 需要check min_period 而其他时序逻辑不需要?

发表于 2025-4-8 11:08:25 | 显示全部楼层
memory生成之后,这个memory的最大工作频率就已经确定。检查min_period就是在检查当前频率是否在最大工作频率范围内。普通寄存器是没有最大工作频率这个检查的,只要setup、hold满足就可以
发表于 2025-4-8 11:25:45 | 显示全部楼层
本帖最后由 15909834256 于 2025-4-8 11:27 编辑

一、主要原因是RAM的物理结构、操作模式以及对时序敏感性的本质差异
1、物理结构复杂:
RAM由存储单元阵列(如SRAM的6T单元或DRAM的电容单元)组成,每个单元的读写需要通过行选通(Word Line)和列选通(Bit Line)协同操作。
地址译码、预充电、数据放大等操作需逐步完成信号稳定,这些步骤天然需要时间间隔。
2、动态操作特性:
DRAM需要刷新:电容会漏电,必须定期刷新以维持数据(即使未被访问),刷新周期直接影响 min_period。
SRAM的读写冲突:若两次访问间隔过短(如连续写入不同地址),可能导致未完成的放大器信号被破坏。
3、时序路径依赖:
RAM的时序约束不仅与时钟相关,还涉及内部电路延迟(如地址线译码延迟、位线电压摆率、灵敏放大器响应时间等),这些延迟具有固定下限,无法通过提高时钟速度来压缩。
二、为何普通时序逻辑不需要 min_period?
1、简单操作模式:
普通寄存器(如D触发器)仅需在时钟边沿捕获数据,操作是瞬时的,不需要预充电、放大等步骤。
仅需满足建立时间(t_{su})和保持时间(t_h),而无须约束两次操作的最小间隔;
2、确定性延迟
组合逻辑的传播延迟是固定的,通过静态时序分析即可覆盖,最小周期由时钟频率决定(例如时钟周期必须 > 最大组合逻辑延迟 + 寄存器建立时间)。
三、设计中的处理方法
对RAM模块单独设置 set_min_period 约束
Ex:set_min_period -from [get_clocks clk] -to [get_cells RAM_inst] 5.0
四、违背 min_period 的后果
RAM失效:
若时钟频率过高(周期小于RAM的 min_period):
1、数据读写错误(位线电压未恢复)、行列地址冲突、刷新失败。
2、硬件可能出现不可恢复的损坏(例如连续访问导致过热)。
五、总结
RAM需要检查 min_period 是因为其物理操作步骤需要固定的信号稳定时间,而普通逻辑仅依赖组合路径延迟和寄存器边沿触发。这种差异本质上是动态存储单元结构与静态时序逻辑之间的本质区别。实际设计中需严格遵循RAM的数据表(Datasheet)时序参数,否则可能导致功能异常或硬件损坏。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-4-29 16:51 , Processed in 0.016398 second(s), 8 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表