zoukankan      html  css  js  c++  java
  • DDR接口时序实例

    DDR SDRAM接口的示意图:

     CAC总线表示Command,Address,Control Pin,时序相对简单,单向单周期,通过以下命令约束:

    create_generated_clock -name DDRCLK -source [get_pins UPLL0/CLKOUT] -divide_by 1 [get_ports DDRCLK]
    set_output_delay -max 0.75 -clock DDRCLK [get_ports CAC]set_output_delay -min -0.75 -clock DDRCLK [get_ports CAC]


    DQ和DQS是同步对齐的,这是DDR的特点。DQS作为DQ的采样时钟,保证高速采样频率。

    在进行读操作时,对应的电路结构和波形如下图:

    可以这样定义:

    #工作频率200MHz

    create_clock -period 5 -name DQS [get_ports DQS]

    #上升沿采样时的delay

    set_input_delay 0.4 -max -clock DQS [get_ports DQ]

    set_input_delay -0.4 -min -clock DQS [get_ports DQ]

    #下降沿采样时的delay

    set_input_delay 0.35 -max -clock DQS -clock_fall [get_ports DQ]

    set_input_delay -0.35 -min -clock DQS -clock_fall [get_ports DQ]

    #launch和capture在同一个沿

    set_multicycle_path 0 -setup -to UFF0/D

    set_multicycle_path 0 -setup -to UFF5/D

    在进行写操作时,对应的电路结构和波形如下图:

    可以这样定义:

    create_clock -period 3 [get_ports CLK2X]
    create_generated_clock -name pre_DQS -source CLK2X -divide_by 2 [get_pins UFF1/Q]
    create_generated_clock -name DQS -source UFF1/Q -edge {1 2 3} -edge_shift {1.5 1.5 1.5} [get_ports DQS]
    set_output_delay -clock DQS -max 0.25 -rise [get_ports DQ]

    set_output_delay -clock DQS -max 0.4 -fall [get_ports DQ]

    set_output_delay -clock DQS -min -0.15 -rise [get_ports DQ]

    set_output_delay -clock DQS -min -0.12 -fall [get_ports DQ]

     总之,DDR接口的时序SDC还算复杂,值得多研究一会。

  • 相关阅读:
    https://pingcap.com/blog-cn/flame-graph/
    https://software.intel.com/sites/landingpage/pintool/docs/97998/Pin/html/
    http://boostorg.github.io/stacktrace/stacktrace/getting_started.html#stacktrace.getting_started.how_to_print_current_call_stack
    线程局部存储
    slice 切片实现 Slice object interface
    网络分裂 redis 集群
    vscode-sftp
    Sizes of integer types 整形字节长度 系统字节
    学件中心
    源码 版本
  • 原文地址:https://www.cnblogs.com/lelin/p/12652460.html
Copyright © 2011-2022 走看看