- 博客(5)
- 收藏
- 关注
原创 APB-I2C
通过对其进行读写操作、检查寄存器配置对I2C通信的影响、以及在不同的I2C速率和模式下测试寄存器的行为 ,检查它们是否能够正确配置I2C接口,以及是否能够响应I2C事务。I2C是一种同步的串行通信机制,两根信号线一根用于时钟信号,另一根则用于数据传送。第4步和第5步用的是发送器和接收器,不是主机和从机,这是由第一个字节的最后一位决定主给从发,还是从给主发。如果接收器是主控器,则在它收到最后一个字节后,发送一个NACK信号,以通知被控发送器结束数据发送,并释放SDA线,以便主控接收器发送一个停止信号P。
2024-08-19 17:28:46
1018
1
原创 AHB to APB Bridge
根据spec功能描述与协议来制定验证计划,进行测试点分解。采用了常规的UVM验证框架,(ahb2apb桥接器两端为ahb的slv与apb的mst)在DUT两侧放了两个agent:ahb_mst_agt和apb_slv_agt, 分别包括了sqr, drv和mon。
2024-08-19 16:33:29
1205
原创 I2C验证虚拟项目(四)
IC_HS_MADDR [2:0]是IC_HS_MAR,保存I2C HS模式主代码的值。根据波形可以看出,前三段对应读操作部分(I2C作为slave transmitter),后三段对应写操作部分,对保持时间的设置可以在master/slave模式下进行,但是对建立时间的设置只能在slave transmitter模式下进行。设计文件中的DW_apb_i2c_cc_constants定义RX FIFO 的buffer-depth是8,因此APB读取8个数据不会溢出,只可能触发接收 FIFO 满中断。
2024-07-25 18:27:30
2178
1
原创 I2C验证虚拟项目(三)
I2C总线上没有传输过任何信号,始终保持idle状态,虽然在IC_TAR中通过软件编程使能了START BYTE传输,但是由于在IC_CON中关闭了RESTART使能,因而无法进行START BYTE传输,后续数据传送也无法完成。在I2C总线上观察到,主机发送地址011_0011(写)后收到ACK确认,之后分别传输了数据1111_0000和0101_0101后产生STOP条件。测试目的:测试 I2C 主设备在启用和禁用状态下的行为,包括数据发送和接收,以及状态寄存器的读取。
2024-07-24 16:57:52
1918
1
原创 I2C验证虚拟项目(二)
用于监控或控制从设备(Slave)在生成阶段的行为。:用于监控或控制 I2C 协议生成阶段的行为。:用于监控当前传输的数据。:用于监控当前的地址信息,可能是指 I2C 从设备的地址。(Read Debug):用于监控读操作,可能在执行读操作时被置高。(Write Debug):用于监控写操作,可能在执行写操作时被置高。(High Speed Debug):用于监控 I2C 设备是否处于高速模式。(Master Activity Debug):用于监控主设备(Master)的活动状态。
2024-07-21 19:45:11
1828
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人