Skip to content

Commit 176c7c6

Browse files
StoreUnit & template (#174)
1 parent e902377 commit 176c7c6

8 files changed

Lines changed: 771 additions & 0 deletions

File tree

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# 微报告模板
2+
***SCALAR_DISPATCH 测试点***
3+
### 功能描述
4+
5+
本测试点验证标量Store指令(如sb、sh、sw、sd)从发射队列派发到StoreUnit时,是否正确分配一个StoreQueue(SQ)条目。测试确保指令派发机制正常工作,包括SQ索引分配、状态标记和信号交互。这是StoreUnit最基本的功能,涉及指令派发流水线的初始阶段。
6+
7+
### 输入参数
8+
- 虚拟地址(vaddr)​​:0x1000
9+
- 存储数据(data)​​:0x12345678
10+
- 存储大小(size)​​:1、2、4、8字节
11+
- 首次派发标志(is_first_issue)​​:true或false
12+
- 指令类型​:通过fuOpType设置
13+
### 输出验证
14+
- 派发成功信号​:io_stin_ready和io_stin_valid同时为高,表示指令被接收。
15+
- SQ条目分配​:io_lsq_valid为高,且io_lsq_bits_updateAddrValid为高,表示SQ地址更新有效。
16+
- SQ索引范围​:io_lsq_bits_uop_sqIdx_value在0到SQ_SIZE-1之间(如0-63)。
17+
- 状态标记​:SQ条目中的valid位被设置为1,robIdx正确记录。
18+
- 后续准备​:io_stin_ready保持为高,表示可接收新指令。
19+
### 边界条件分析
20+
1. 不同存储大小​:测试了1字节(sb)、2字节(sh)、4字节(sw)和8字节(sd)指令,确保所有大小都能正确分配SQ条目。
21+
2. 地址对齐​:测试对齐地址(如0x1000)和不对齐地址(如0x1001),验证地址计算不影响派发。
22+
3. 首次派发与重发​:设置is_first_issue为true和false,模拟首次派发和重发场景,确保重发机制不干扰SQ分配。
23+
4. ​SQ容量边界​:通过多次派发指令,测试SQ接近满时的行为,确保索引不溢出。
24+
5. 信号时序​:验证在时钟上升沿信号稳定,避免时序问题导致派发失败。
25+
### 结果总结
26+
测试通过,所有验证点均符合预期。标量Store指令派发功能正常,SQ条目分配正确,边界条件处理稳健。覆盖了标量存储的所有大小类型和常见地址场景,为后续流水线阶段提供了可靠基础。无异常或错误发生,测试完整性高。

documents/content/zh-cn/docs/98_ut/03_memblock/03_lsu/01_storeunit.md

Lines changed: 730 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
title: LSU
3+
linkTitle: 香山LSU模块
4+
#menu: {main: {weight: 20}}
5+
weight: 20
6+
---
7+
8+
**本文档参考[香山LSQ设计文档](https://github.com/OpenXiangShan/XiangShan-Design-Doc/blob/master/docs/zh/memblock/LSU/index.md)写成**
9+
10+
11+
请注意,本文档撰写的测试点仅供参考,如能补充更多测试点,最终获得的奖励可能更高!

documents/static/docs/98_ut/03_memblock/03_storeunit/LSU-StoreUnit-Timing.svg

Lines changed: 4 additions & 0 deletions
Loading
389 KB
Loading
138 KB
Loading
176 KB
Loading
120 KB
Loading

0 commit comments

Comments
 (0)