大数跨境
0
0

主时钟与虚拟时钟约束

主时钟与虚拟时钟约束 至芯
2025-12-11
0
主时钟约束和虚拟时钟约束均是 FPGA 时序约束中的核心内容,前者针对物理存在的基准时钟,后者针对无实体对应的虚拟参考时钟,二者在约束对象、语法及应用场景上差异显著,以下是详细解释:

01

主时钟约束

核心定义
主时钟是 FPGA 时序分析的基准时钟,是真实存在于设计中的物理时钟。它主要分为两类,一类是从 FPGA 全局时钟输入引脚接入的板级晶振时钟;另一类是 FPGA 内部高速收发器输出的恢复时钟,约束时需关联设计网表中的实际物理节点,且需优先进行约束,为后续其他时序约束提供基础参考。
约束语法
通过 create_clock 命令实现,核心参数包含时钟名称、周期、波形(决定占空比和相移)以及绑定的物理节点,语法格式如下:
createclock -namename> -period  -waveform{ time> time>} (getportsname>)
其中 -name 指定时钟唯一标识,缺省则默认用物理节点为名; -period 设定时钟周期(单位 ns,值需大于 0); -waveform 通过上升沿和下降沿时间点定义占空比与相移; get_ports 指定时钟对应的物理引脚。
应用实例
比如约束一个从引脚 sysclk 输入、周期 10ns、占空比 50% 的主时钟,命令为 createclock -period 10 (getports sysclk) ;若要约束一个名为 devclk 、周期 10ns、占空比 25% 且 90° 相移的主时钟,命令可写为 createclock -name devclk -period 10 -waveform {2.5 5} (getports ClkIn) 。

02

虚拟时钟约束

核心定义
虚拟时钟是一种不存在于设计物理网表中的时钟,不绑定任何实际引脚或内部节点,仅作为时序分析的逻辑参考标准。它常用来解决外部接口时序约束、特殊 I/O 路径约束等场景中无实体参考时钟的问题,且不会对 FPGA 内部时钟的原有特性造成影响。
约束语法
同样使用 createclock 命令,但无需指定物理节点,且必须通过 -name 明确时钟名称,基础语法为 createclock -name clockname> -period   -waveform { time>  time>} 。例如定义一个周期 10ns、占空比 50% 的虚拟时钟 VIRCLK ,命令为 createclock -name VIR_CLK -period 10.000 -waveform {0.000 5.000} 。
典型应用场景
一是约束 FPGA 与外部芯片的 I/O 路径,比如外部芯片时钟未接入 FPGA 时,可用虚拟时钟约束输入输出延迟,如 setinputdelay -clock VIRCLK -max 2 (getports datain) ,表示输入信号 datain 相对虚拟时钟 VIR_CLK 最大延迟 2ns;二是特殊跨时钟域分析,对于无明确时钟源的跨域路径,虚拟时钟可作为中间参考,辅助时序工具判断路径时序是否合规;三是独立设置 I/O 时钟特性,当需要为 I/O 约束设定特殊抖动、延迟参数,又不想修改内部真实时钟属性时,虚拟时钟是最优选择。
🌻亲爱的读者们,今天的分享就到这里啦!如果今天的内容对你有启发
记得点亮右下角的“❤️”或转发给需要的朋友,让温暖传递的更远!
生活或许没有标准答案,但每一次【分享】和【点赞】,都是我们相遇的印记。你最近有哪些感悟或故事?欢迎留言区聊一聊~~~
你的认可,是我们深夜码字的充电桩🔋
明天见!保持好奇,永远鲜活~
🔍关注我们,不错过每一次相遇图片图片图片
扫码领取免费学习资料~~~
往期精彩部分
就业寒冬 拿到5个offer 至芯学生用真本领拿牛offer
NVME的电源管理
NVME的优势
NVME的admin指令
NVME的命令仲裁机制

【声明】内容源于网络
0
0
至芯
至芯科技关于FPGA信息的交流平台
内容 392
粉丝 0
至芯 至芯科技关于FPGA信息的交流平台
总阅读16
粉丝0
内容392