Skip to content

多时钟分频后,子时钟上升沿函数未按预期执行 #17

@happynumb-wh

Description

@happynumb-wh

基础代码实现

python 代码:创建主时钟 core_ddrc_core_clk,分频子时钟 pclk,频率比为 2:1,并绑定相关端口。随后为子时钟 pclk 设置上升沿回调函数

 apbio_port = [
        "presetn",
        "io_apbio_paddr",
        "io_apbio_pwdata",
        "io_apbio_pwrite",
        "io_apbio_psel",
        "io_apbio_penable",
        "io_apbio_pready",
        "io_apbio_prdata",
        "io_apbio_pslverr"
    ]
    core_ddrc_core_clk.Add(dut.xport.SelectPins(core_ddrc_core_clk_port)).AddPin(dut.core_ddrc_core_clk.xdata)
    pclk.Add(dut.xport.SelectPins(apbio_port)).AddPin(dut.pclk.xdata)
    
    mainClock.FreqDivWith(2, pclk)
    mainClock.FreqDivWith(1, core_ddrc_core_clk)

现象

波形查看:

Image
其中 io_apbio_pwrite , io_apbio_psel ,io_apbio_penable 为外部 input 端口,其实际是在主时钟 core_ddrc_core_clk 上升沿更新(core_ddrc_core_clk 与 mainclock 的比例是 1: 1)而不是在子时钟 pclk 的上升沿更新,此外与 pclk 相关的 io_apbio_pready 信号是在 pclk 的上升沿更新。

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions