小编设计的集成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。
我们以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
特别注意phy_test_ctrl1寄存器是用于DPHY的配置:
//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,配置接口时序如下:
审核编辑:刘清
-
寄存器
+关注
关注
31文章
5363浏览量
120926 -
MIPI
+关注
关注
11文章
312浏览量
48721 -
DUT
+关注
关注
0文章
189浏览量
12459 -
MCU芯片
+关注
关注
3文章
253浏览量
11587
原文标题:MCU的DPHY+CSI2的驱动验证(一)
文章出处:【微信号:全栈芯片工程师,微信公众号:全栈芯片工程师】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论