• 【分享】 MPSoC的VCU超频


    1. 超频介绍

    很多芯片可以暂时超频使用。 当然,出于良品率、长期可靠性考虑,厂家官方都不建议超频使用。

    Xilinx的器件质也能超频。几年前,当Zynq-7000刚面世时,通过修改PLL的设置,7020的A9的频率被超频到1GHz后,也能正常运行。

    最近有人问到MPSoC的VCU能不能超频。检查Vivado里的VCU设计后,确认通过简单步骤,VCU也能超频。这是黑客操作。请确保电源有足够的供电、单板有足够的散热能力。超频后,VCU已经工作在产品规格之外,工程师需要承担器件可能损坏的责任。如果在产品中使用,一定要注意在高温、低温等极端情况下,是否能正常工作。

    2. VCU正常设计

    2.1. VCU时钟

    VCU编解码器内部使用时钟pll_ref_clk,所有外部AXI接口使用其它时钟。如果调整内部时钟pll_ref_clk,不会影响外部接口时钟,也不会引起时序问题。所以非常方便。

    VCU的信号如下。

    VCU的信号

    VCU的信号说明。

    VCU的信号说明

    VCU的工作时钟一般是667MHz,由VCU自己内部的PLL产生。

    VCU的工作时钟

    2.2. Clocking Wizard配置

    VCU内部时钟pll_ref_clk来自于外部时钟芯片si570的输出。si570的输出是300MHz的时钟,进入PL后,经过一个Clocking Wizard,产生33MHz给VCU作为pll_ref_clk。

    下图展示了VCU的时钟来源,包括从si570到Clocking Wizard的设计。

    vivado-clock-input

    Clocking Wizard的输入是300MHz。

    vivado-clock-wizard-input

    Clocking Wizard的输出是33.33MHz。

    vivado-clock-wizard-outnput

    2.3. 单板时钟

    2.3.1. vivado接口属性

    PL设计中,来自于外部时钟芯片si570的信号是si570_user。在Vivado的属性设置里,声明了si570_user是300MHz。

    vivado-clock-input-freq

    2.3.2. vivado约束

    vivado约束文件里,也指定了si570_user的周期是3.333ns,对应的频率是300MHz。

    set_property PACKAGE_PIN AH12 [get_ports {si570_user_clk_p[0]}]
    set_property IOSTANDARD LVDS [get_ports {si570_user_clk_p[0]}]
    
    create_clock -period 3.333 [get_ports si570_user_clk_p]
    

    3. 超频步骤

    Vivado会检查VCU的时钟。如果VCU的时钟超出规格,会报错。

    超频的核心诀窍是欺骗Vivado,向Vivado声明一个假的时钟频率。比如实际输入频率是300MHz,我们在设计中却告诉它是200MHz。那么在后续的倍频操作中,Vivado会以200MHz计算出产生667MHz的倍频分频系数,实际得到的频率就是667*(300/200),也就是1000MHz。

    测试时,打算把VCU的频率超频到933MHz。VCU的配置里,已经把VCU的频率,改为712MHZ。因此要把输入频率,降低933/712=1.310倍,也就是改为300/1.310=228.9MHz,对应的周期4.368。

    3.1. vivado接口属性

    在Vivado的属性设置里,把si570_user的频率,从300MHz,改为228.9MHz。

    vivado超频接口属性

    3.2. vivado约束

    vivado约束文件里,也指定了si570_user的周期是4.368ns,对应的频率是933MHz。

    set_property PACKAGE_PIN AH12 [get_ports si570_user_clk_p]
    set_property IOSTANDARD LVDS [get_ports si570_user_clk_p]
    
    create_clock -period 4.368  [get_ports si570_user_clk_p]
    

    4. 结论

    编译Vivado工程,更新PetaLinux工程的HDF文件,再产生Linux文件。单板能正常启动,编码4K文件时,帧率能够显著提升。

    最后,再次声明,超频后,VCU已经工作在产品规格之外,需要自己承担器件可能损坏的责任。

  • 相关阅读:
    spring集成 log4j + slf4j
    用Maven创建第一个web项目
    Spring mvc4 + ActiveMQ 整合
    ActiveMQ (一):安装启动及测试
    Pycharm 2017 激活码
    mahout推荐系统
    用Maven构建Mahout项目
    maven编译时出现读取XXX时出错invalid LOC header (bad signature)
    标签传播算法(Label Propagation)及Python实现
    VMware下centos7安装
  • 原文地址:https://www.cnblogs.com/hankfu/p/15117718.html
Copyright © 2020-2023  润新知