梳理一下DPHY的集成验证

描述

小编设计的集成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。

MCU芯片

我们以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

 

MCU芯片

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

MCU芯片

 

//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,配置接口时序如下:

MCU芯片





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分