当前位置:诺佳网 > 电子/半导体 > 控制/MCU >

梳理一下DPHY的集成验证

时间:2023-04-10 | 栏目:控制/MCU | 点击:

小编设计的集成MIPI DPHY的MCU版图如下,今天梳理下DPHY的集成验证。

线网驱动强度(drive strength):

用于表示0的强度:highz0、supply0、strong0、pull0、weak0。

用于表示1的强度:highz1、supply1、strong1、pull1、weak1。

supply,strong,pull,weak强度依次下降,注意,supply0和supply1用于模型电源,就是只能提供0和1值的线网,通常只在Vendor提供的标准单元库中使用,平时不用。

举个例子MIPI DPHY的testbench的DP、DN接口在HS模式、LP模式/ULPS模式下的驱动力如下,仿真模式下,为了让HS的驱动力最强,我们用supply来驱动bufif1,然后LP模式用pull来驱动bufif1。

1abc04fe-d610-11ed-bfe3-dac502259ad0.png

我们以dphy_ipi_tests测试为例,具体仿真驱动函数如下:

initialize_dut函数对DUT初始化:

      phy_testclr     = 1'b1;
      phy_testdin     = 8'd0;
      phy_testen      = 1'd0;
      phy_testclk     = 1'd0;
 
      presetn= 1'd0;
      #(10)
      presetn= 1'd1;
      #(10)
      update_phy_test_ctrl1;
      update_phy_test_ctrl0;

给下面寄存器赋初始值(无效值):

task update_phy_test_ctrl0;
   apbWrite(`CSI2_HOST_PHY_TEST_CTRL0_OS, {30'd0, phy_testclk, phy_testclr});
endtask


task update_phy_test_ctrl1;
apbWrite(`CSI2_HOST_PHY_TEST_CTRL1_OS,{15'd0, phy_testen, 8'd0, phy_testdin});
endtask

1b627adc-d610-11ed-bfe3-dac502259ad0.png

特别注意phy_test_ctrl1寄存器是用于DPHY的配置:

1b9174b8-d610-11ed-bfe3-dac502259ad0.png

//CSI2 Controller Programming
apbWrite(`CSI2_HOST_PHY_SHUTDOWNZ_OS, 32'hFFFF_FFFF); // 取消phy shutdown
apbWrite(`CSI2_HOST_DPHY_RSTZ_OS     , 32'hFFFF_FFFF); // 取消phy reset复位
apbWrite(`CSI2_HOST_CSI2_RESETN_OS   , 32'hFFFF_FFFF); // 取消csi2 reset复位

配置DPHY的带宽为1GHz,配置接口时序如下:

1bc2c73e-d610-11ed-bfe3-dac502259ad0.png





审核编辑:刘清

您可能感兴趣的文章:

相关文章