QSPI项目seq波形详解

1、qspi_read_sequence

qspi读(写)device的检查

激励:向qspi device 写数据,然后读qspi 的数据
检查:scoreboard 检查读出来的数据是否与 reference model里面的数据一致

write spi device:

CMD:20000------0010_0000_0000_0000_0000

LEN:201010------0010_0000_0001_0000_0001_0000

DUM:080008------1000_0000_0000_0000_1000

CTRL:F08------1111_0000_1000

TXFIFO:123456789------0001_0010_0011_0100_0101_0110_0111_1000

ADDR:12153524------0001_0010_0001_0101_0011_0101_0010_0100(随机值,每次可能不同)

read spi device:

CMD:30000------0011_0000_0000_0000_0000

LEN:201010------0010_0000_0001_0000_0001_0000

CTRL:F04------1111_0000_0100

ADDR:同上

因此,波形中写阶段的地址和控制部分数据为0000_0000_0000_0010_0001_0010_0001_0101,dummy为8个周期,读阶段的地址和控制部分数据为0000_0000_0000_0011_0001_0010_0001_0101.

2、qspi_soft_reset_sequence

QSPI soft reset的检查
激励: 向qspi 写数据,然后softreset,从qspi device 读数据,然后softreset。
检查: scoreboard检查qspi的行为是否符合预期。

CTRL:F10------1111_0001_0000(第五位为SW reset标志位) 

TXFIFO:55AAAA55------0101_0101_1010_1010_1010_1010_0101_0101

在写阶段,最开始写入TXFIFO的数据是12345678,但是,将CTRL寄存器第五位(清空FIFO)设置为1后,FIFO被清空,之前写入的12345678都被清除,然后重新向TXFIFO中写入了55aaaa55,那么QSPI总线上就传输55aaaa55这个数据,读阶段,在传输开始,又将FIFO清空,但是此次清空无任何影响,因为清空在读回数据之前,接下来读来的数据会重新写进FIFO中,读回来的数据就是写入的55aaaa55。

3、qspi_clk_test

QSPI 不同clk 频率的检查
激励:设置不同的clk 频率,然后写读device
检查:scoreboard 检查QSPI的行为是否符合预期

clk_div:9------1001,63------0110_0011

4、qspi_data_length_sequence

QSPI 不同数据长度的检查
激励:设置不同的data、addr、cmd 长度,然后写读device
检查:scoreboard检查QSPI的行为是否符合预期

LEN:80488------1000_0000_0100_1000_1000_1000(最高位为1表示数据为128bit、第4位为1表示CMD长度4bit、第12位为1表示ADR长度8bit(这里长度均为总线上传输长度,并非寄存器中的))

虽然写进TXFIFO中有六个数据,但是实际只有前四个数据被传输。

5、qspi_dummy_sequence

QSPI 写操作不同 Dummy cycle的检查
激励:设置不同的写(读)dummy 长度,然后写读device
检查:scoreboard检查QSPI的行为是否符合预期

DUM寄存器包括读和写的DUMMY_CYCLE的设置。

DUM:170031------0000_0000_0001_0111_0000_0000_0011_0001

6、qspi_interrupt_sequence

QSPI 读(写)中断的检查
激励: 设置QSPI的interrupt enable,设置QSPI的interrupt 阈值,写(读)device
检查: 检查interrupt 是否如期发生

随机出来TXFIFO触发中断的值为2,RXFIFO触发中断的值应该为4,设置总线写数据宽度为64bit,也就是两个32bit的数据,所以读写都只传输了FIFO中的2个数据,TXFIFO中数据从0到5到2,RXFIFO中数据从0到2到0。

 TXFIFO中始终有3个及以上的数据,中断全程应该拉起。

7、qspi_nquad_mode_sequence

QSPI 单线 SPI模式检查:
激励:设置成单线SPI工作模式,然后写读device
检查:scoreboard检查QSPI的行为是否符合预期

8、qspi_send_addr_data_sequece

QSPI 不同宽度 CMD,ADDR,DATA及不同Dummy下的检查:
激励:将QSPI设置不同宽度的CMD,ADDR,DATA和Dummy, 然后读写 device。
检查:scoreboard检查QSPI的行为是否符合预期

9、qspi_nquad_addr_data_sequence

QSPI 工作在单线SPI下不同宽度 CMD,ADDR,DATA检查:
激励:将QSPI设置成单线SPI并设置不同宽度的CMD,ADDR,DATA, 然后读写 device。
检查:scoreboard检查QSPI的行为是否符合预期

(未完待补充。。。。)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值