文档模板

以下是一份验证文档的完整模板(请一定同提交的验证报告区分开来)


# 验证文档各部分说明

## 文档概述【必填项】 

在该部分对整个文档进行简约描述,例如内容概述,待验证模块的基本功能、特殊需求、特定规格、目标读者、知识前置等。目的是通过对该部分,读者便了解是否具有其感兴趣的内容。例如本文档是对验证文档的编写要求进行描述,便于多文档协作,规范验证的数据输入,特定数据标签等。

## 术语说明 【必填项】 列出术语和关键概念解释,方便读者参考

优先解释模块专有缩写(如TLB, FIFO等),如果有缩写,请用`缩写(全称)的方式填在表格的“名称”栏目中`

对容易混淆的概念请务必明确(如虚拟地址和物理地址等)

| 名称 | 定义 |
| ------- | ---|
| 缩写1(FULL_NAME_1)	| 描述1 |
| 缩写2(FULL_NAME_2)	| 描述2 |
| 概念名1	| 描述3 |

## 前置知识【可选项】

在阅读文档或进行验证之前,建议掌握一些关键前置知识,以便更深入理解相关内容。例如,在撰写LoadStoreQueue(LSQ)文档时,讲述RAW(Read After Write)违例有助于理解操作之间的依赖关系。在撰写Icache或L2Cache文档时,介绍缓存层级、替换策略和一致性模型等基本概念也有助于读者理解。如果涉及复杂算法,也应对其进行简要描述。

基本要求:
1. 该部分内容应简洁,易于理解。如篇幅较长,可将内容移至附录。
2. 针对较为复杂的内容,可以通过图像、伪代码和案例进行解释,以降低理解难度。


## 整体框图 【可选项】 若模块含多个子模块或复杂数据流,需提供框图辅助说明

可使用Visio/Draw.io等工具绘制,导出为PNG/SVG格式;
需标注关键信号流向;
框图中子模块命名需与“子模块列表”章节严格一致。

## 流水级示意图 【可选项】 若为复杂流水线型模块,需说明各级流水功能与时序关系

可使用Visio/Draw.io等工具绘制,导出为PNG/SVG格式;
涉及到的模块名称需要保持一致性
重要数据除了列出名称以外,还需要标明位宽等信息

## 子模块列表 【可选项】 若模块由多个子模块组成,需在此列出

以下是IFU top文档中的一个示例:

| 子模块                 | 描述                |
| ---------------------- | ------------------- |
| [子模块1](子模块1文档位置) | 子模块1描述       |
| [子模块2](子模块2文档位置) | 子模块2描述       |
| [子模块3](子模块3文档位置) | 子模块3描述       |


<mrs-functions>

## 模块功能说明 【必填项】 需按功能树形式逐级分解,每个功能点需对应后续测试点。

请用<mrs-functions></functions>包裹整个“模块功能说明”部分。

采用X.Y.Z多级编号(如1.2.3表示主功能1→子功能2→测试点3,也可以继续细分)

功能描述需明确输入条件、处理过程、输出结果

### 1. 功能A说明
针对功能A分解测试点

如果测试点较多可以先列一个小表格

### 2. 功能B说明

针对功能B分解测试点

如果测试点较多可以先列一个小表格

### 3. 功能C说明

针对功能C分解测试点

如果测试点较多可以先列一个小表格;针对每个测试点,给出设置cov_group的建议

</mrs-functions>


## 常量说明 【可选项】 需列出模块中所有可配置参数及其物理意义


| 常量名 | 常量值 | 解释 |
| ---- | ---- | ---- |
| 常量1 | 64 | 常量1解释 |
| 常量2 | 8 | 常量2解释 |
| 常量3 | 16 | 常量3解释 |


## 接口说明 【必填项】 详细解释各种接口的含义、来源

信号按功能(如时钟复位、数据输入、控制信号等)或来源(其他模块)分组;

可以将一些同质的信号一起解释;

特殊协议信号需注明时序要求(如AXI的VALID/READY握手)。

使用时,请将下面的接口组名称和说明替换为符合您模块实际意义的内容

### 接口组1说明

请在这里填充接口组1的说明

#### 接口组1_1说明

请在这里填充接口组1_1的说明

如果不能细分,请进一步说明该组中所有接口

### 接口组2说明

请在这里填充接口组2的说明

如果不能细分,请进一步说明该组中所有接口

...

## 接口时序 【可选项】 对复杂接口,提供波形图的案例

### 案例1

请在这里填充时序案例1

### 案例2

请在这里填充时序案例2

## 测试点总表 (【必填项】针对细分的测试点,列出表格)

实际使用下面的表格时,请用有意义的英文大写的功能名称和测试点名称替换下面表格中的名称

<mrs-testpoints>

| 序号 |  功能名称 | 测试点名称      | 描述                  |
| ----- |-----------------|---------------------|------------------------------------|
| 1\.1\.1 | FUNCTION_1_1 | TESTPOINT_A | 功能1\.1的测试点A,使用时请替换为您的测试点的输入输出和判断方法 | 
| 1\.1\.2 | FUNCTION_1_1 | TESTPOINT_B | 功能1\.1的测试点B,使用时请替换为您的测试点的输入输出和判断方法 | 
| 1\.1\.3 | FUNCTION_1_1 | TESTPOINT_C | 功能1\.1的测试点C,使用时请替换为您的测试点的输入输出和判断方法 | 
| 1\.2\.1 | FUNCTION_1_2 | TESTPOINT_X | 功能1\.2的测试点X,使用时请替换为您的测试点的输入输出和判断方法 | 
| 1\.2\.2 | FUNCTION_1_2 | TESTPOINT_Y | 功能1\.2的测试点Y,使用时请替换为您的测试点的输入输出和判断方法 | 
| 2\.1 | FUNCTION_2 | TESTPOINT_2A | 功能2的测试点2A,使用时请替换为您的测试点的输入输出和判断方法 | 
| 2\.2 | FUNCTION_2 | TESTPOINT_2B | 功能2的测试点2B,使用时请替换为您的测试点的输入输出和判断方法 | 

</mrs-testpoints>

## 附录【可选项】 

此部分用于存放正文的补充内容,以便进行扩展和详细说明,旨在使文档格式更加清晰,排版更加合理。
最后修改 March 31, 2025: Fix rvc appendix (#110) (73c0bf6)