← 2022 · MPS芯源 笔试

推荐答案 测试一下

Please constrain the timing of clock andinput signal in the waveform, both are input pins for a chip. 请对下图中的输入时钟和输入数据进行…

题目配图 题目配图
问答题 中等 经典问答问答题

参考答案

对于输入时钟和输入数据的时序约束,首先需要对输入时钟引脚创建时钟对象,使用 create_clock 指定时钟周期、波形(上升沿、下降沿时间)。随后对输入数据设置 set_input_delay 约束,该约束描述数据在时钟沿之前或之后到达芯片输入引脚的时间窗口。 约束内容: - 最大输入延迟(max input delay):代表数据相对于时钟沿的最晚到达时间,用于分析建立时间(setup)时序。 - 最小输入延迟(min input delay):代表数据相对于时钟沿的最早到达时间,用于分析保持时间(hold)时序。 延迟值由外部器件(如上一级芯片)的时序参数决定:通常 max_input_delay = T_co_max + T_flight_max,其中 T_co 是外部触发器时钟到输出延迟,T_flight 是 PCB 走线延迟;min_input_delay = T_co_min + T_flight_min。 如果波形图给出了数据变化与时钟沿的具体关系,则直接读取数据沿与时钟沿的时间差作为延迟约束值。若数据在时钟上升沿后一段时间稳定,则需将该时间差设为输入延迟。 常见错误: 1. 未先约束时钟直接设置输入延迟,导致静态时序分析(STA)无法参考时钟。 2. 混淆输入延迟方向:max 对应 setup check 时数据最晚到达,min 对应 hold check 时数据最早到达。 3. 忽略虚拟时钟:若输入数据与内部时钟不同源,需额外创建虚拟时钟作为参考。 4. 延迟值不含负值:若数据在时钟沿之前到达,输入延迟可为负,表示数据提前有效。 最终约束命令示例(SDC): create_clock -name clk_in -period 10 [get_ports clk_pin] set_input_delay -clock clk_in -max 2.0 [get_ports data_in] set_input_delay -clock clk_in -min 0.5 [get_ports data_in]

涉及知识点

  • 输入延迟约束(set_input_delay)
  • 建立时间与保持时间分析
  • 外部时序参数对内部约束的影响
  • 虚拟时钟的应用场景
  • 时钟约束(create_clock)
← 上一题
登录后反馈错题
下一题 →