DDR controller 验证平台以及功能测试用例

DDR controller 验证平台以及功能测试用例
在这里插入图片描述

验证点:
(1)DDR3协议验证
1、上电初始化和模式寄存器配置是否成功
2、刷新操作是否完成
3、进入、退出自刷新模式是否成功
为了降低内存在无读写操作时的功耗, 同时能够保存数据, 控制器发送自刷新命令使内存进入自刷新状态。 内存在进入自刷新模式之前处于空闲状态, 在内存时钟上升沿, cke 信号从高电平变为低电平,此时 cs_n、 ras_n、 cas_n保持低电平, we_n 信号保持高电平, 满足进入自刷新状态条件。在时钟上升沿 cke 从低电平变为高电平, cs_n、 ras_n、 cas_n 和 we_n 信号保持高电平, 信号的组合值满足内存退出自刷新状态条件。
4、进入退出断电模式是否成功
PD 模式相比自刷新能进一步减少功耗。 在 cke 保持低电平时,发送一个 NOP 命令就可以让内存进入 PD 模式。进入 PD 模式之前,内存处于空闲状态, 在内存时钟上升沿, cke 保持低电平, cs_n 保持高电平, 信号组合满足内存进入 PD 模式的条件。内存在 PD 状态中的时间超过刷新周期之后, SDRAM 中的数据就不会保持了。因此,为了保存数据, 控制器在自动刷新计数器超时的时候退出 PD 模式,完成刷新操作之后,如果没有预取的数据,继续进入 PD 模式。 观察波形图, 在内存时钟上升沿, cke 从高电平变为低电平,cs_n 保持高电平([cs_n, ras_n, cas_n, we_n]=4’b0111),内存进入 PD 模式, 等待一段时间, 在时钟上升沿, cke 从低电平变为高电平, cs_n 保持高电平, 内存退出 PD 模式并连续执行多个刷新操作, 执行完刷新操作之后控制器发出 PD 进入命令,命令执行流程满足设计要求。 因此控制器能够在 PD 模式执行刷新操作。 控制器发出 PD 模式退出指令,内存会从 PD 状态跳转到空闲状态。 观察波形图, 在内存时钟上升沿, cke 从低电平变为高电平, cs_n 保持高电平, 控制器发出的命令满足退出 PD 模式的条件。
5、读命令
6、写命令
(2)子模块功能验证
1、AXI接口的异步预取FIFO是否能够正确写入读出
2、AXI接口模块的写通道、读通道操作是否正确
3、读写仲裁模块能否公平轮询读写FIFO
4、bank队列的读入写出是否正确,命令状态码和命令重排序功能是否正常
5、协议转换模块读写操作是否正确,交叉指令功能是否实现
6、写数据缓冲功能是否正确,并正确发送出去
7、读缓冲模块对读数据能否正确的分配,并按照正确的顺序返回。
8、AXI总线上写入的数据和回读的数据是否相同
9、AXI总线上回读的数据是否按照读命令返回
(3)系统验证
1、连续地址读写操作
2、跨bank地址读写操作
3、随机地址读写操作

a、同一bank操作
1、ACT->READ
2、ACT->READ->READ
3、ACT(R1)->READ(R1)->PRE(R1)->ACT(R2)->READ(R2)
4、ACT->READ-WRITE
5、ACT(R1)->READ(R1)->PRE(R1)->ACT(R2)->WRITE(R2)
6、ACT->WRITE
7、ACT->WRITE->WRITE
8、ACT(R1)->WRITE(R1)->PRE(R1)->ACT(R2)->WRITE(R2)
9、ACT->WRITE->READ
10、ACT(R1)->WRITE(R1)->PRE(R1)->ACT(R2)->READ(R2)
b、跨bank操作
1、ACT(A)->READ(A)->ACT(B)->READ(B)
2、ACT(A)->READ(A)->ACT(B)->WRITE(B)
3、ACT(A)->WRITE(A)->ACT(B)->WRITE(B)
4、ACT(A)->WRITE(A)->ACT(B)->READ(B)

  • 0
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: UAT 测试用例功能测试用例的主要区别在于它们的测试目的和执行环境不同。 UAT 测试用例是用户验收测试的一部分,目的是验证软件或系统是否符合用户需求和期望,通常由最终用户或客户执行。UAT 测试用例的执行环境是模拟真实生产环境,包括硬件、软件、网络等,以确保系统在实际使用中的稳定性和性能。 功能测试用例是在开发阶段执行的测试用例,目的是验证每个功能是否按照设计要求正确运行。功能测试用例的执行环境通常是开发环境或测试环境,不同于 UAT 测试用例的实际生产环境。 因此,UAT 测试用例更侧重于用户体验和业务流程,强调验证系统是否满足用户需求和期望。而功能测试用例更侧重于验证软件或系统的功能是否按照需求规格说明书和设计要求正确实现。 在测试用例编写时,应该根据测试目的和执行环境的不同,分别编写适合的 UAT 测试用例功能测试用例,以保证测试的全面性和有效性。 ### 回答2: UAT测试用例功能测试用例是软件测试过程中使用的两种不同类型的测试用例。它们之间的区别在于测试目的、测试覆盖范围和测试环境等方面。 首先,UAT测试用例(User Acceptance Testing,用户验收测试)是为了验证软件是否符合用户需求和预期的测试用例。它是最终用户在软件发布之前进行的测试,以确认软件是否满足他们的业务需求。UAT测试用例通常由最终用户或代表编写,重点测试软件的功能、易用性和符合性。 而功能测试用例是在开发过程中执行的测试用例,旨在验证软件的各个功能是否正常工作。功能测试用例是根据软件需求规格说明书编写的,通常由测试人员编写和执行。功能测试用例着重测试各个功能点是否按照需求规格说明书的要求正常工作,具体包括输入验证、界面交互、数据处理和功能逻辑等方面。 另外,UAT测试用例通常基于实际业务场景进行设计,更贴近实际应用环境。而功能测试用例则更注重测试软件的逻辑流程,以覆盖各个功能点。在测试覆盖范围上,UAT测试用例关注整个业务流程的完整性和正确性,而功能测试用例关注单个功能模块的功能点。 此外,UAT测试用例在测试环境上通常使用与实际生产环境相近的环境,以保证验证结果更接近实际。而功能测试用例则可以在开发或测试环境中进行。 综上所述,UAT测试用例功能测试用例在测试目的、测试覆盖范围和测试环境等方面有所不同。两者在软件测试过程中起着不同的作用,相互补充,共同确保软件的质量和用户满意度。 ### 回答3: UAT测试用例功能测试用例是软件测试中两个常用的测试方法。它们有以下区别: 1. 测试范围不同: - UAT测试用例(用户验收测试用例)是由最终用户或客户执行的测试用例,旨在验证软件是否符合用户需求和预期。 - 功能测试用例是由测试团队执行的用例,用于验证系统的各个功能是否按照需求规格说明书和系统设计要求正常运行。 2. 测试目的不同: - UAT测试用例主要目的是验证软件是否满足最终用户的需求和期望,确保软件在实际应用中的可用性和易用性。 - 功能测试用例主要目的是测试软件是否按照需求规格说明书中所定义的功能进行正常操作和处理,以保证软件的正确性和稳定性。 3. 测试者不同: - UAT测试用例由最终用户或客户执行,因此最终用户或客户需要具备一定的测试知识和技能。 - 功能测试用例由测试团队执行,测试人员需要具备测试技术和经验。 4. 测试环境和数据不同: - UAT测试用例通常在与生产环境相似的测试环境中进行,使用真实的数据和场景进行测试。 - 功能测试用例可以在不同的测试环境中进行,可以使用实际数据,也可以使用模拟数据。 5. 验证内容不同: - UAT测试用例主要验证软件的可用性、易用性、界面设计和用户体验等方面。 - 功能测试用例主要验证软件的各个功能是否正常运行,包括输入、输出、逻辑和边界条件等方面。 总的来说,UAT测试用例功能测试用例在测试范围、目的、测试者、环境和验证内容等方面存在较为明显的区别。它们是测试过程中的两种常用方法,可以互相协作,共同确保软件的质量和用户满意度。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值