- 博客(7)
- 收藏
- 关注
原创 APB_SPI设计与UVM验证(7)
在传输过程中,psel和penable过程中pwadta需要一直保持;penable和pready同时为高后下一拍penable拉低;下一次trans开始之前需要保持write一直不变;下一次trans开始之前需要保持addr一直不变;psel和penable的时序协议判断;检查addr是否有x,z信号出现;
2024-07-11 16:55:52
139
原创 APB_SPI设计与UVM验证(6)
例化rgm和intr_if(中断信号设置的intf),p_sequencer;这里的rgm和intr_if与p_sequencer中的连接,因为p_sequencer中的rgm和intf_if已经与env连接(有了对象创建)。还有read函数读回来的status和data。
2024-07-11 16:55:36
1227
原创 APB_SPI设计与UVM验证(5)
在scoreboard中有创建analysis_fifo_port,do_compare_data;拿到寄存器模型中mirror值,拼起来成为reg_send_data,以及spi_item中的值后,从寄存器中进行前门访问得到实际硬件值赋给reg_rec_data;比较mosi和miso的值分别与reg_send_data、和reg_rec_data。
2024-07-11 16:55:14
371
原创 APB_SPI设计与UVM验证(3)
与apb_driver一致,我们先来介绍item:需要用到spi_data从spi从机输入的数据,num_bits是以多少位传输的,RX_NEG是说明下降沿传输还是上升沿传输。spi的driver是在intf.cs有从机选择时开始传输。drive_to_dut:定义一个计数器将需要传输的位数NUM_BIT赋给计数器,判断RX_NEG的值到底为上升沿采样还是下降沿采样,并且使用for循环语句,将item中的data由0开始传输给intf中的miso。(缺点:没有判断lsb)。
2024-07-11 16:54:23
169
原创 APB_SPI设计与UVM验证(2)
apb_agent中包含:driver、sequencer和monitor下文将三者分别讲解,并且封进一个agent中。
2024-07-11 16:54:03
1557
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人