跳转至

UART 16550 验证项目文档

由 SvDoc 自动生成 | 来源:Yashas2801/UART-Verification-using-UVM

项目简介

本项目基于 UART 16550 兼容核,使用 SystemVerilog + UVM 进行完整验证。包含:

  • WISHBONE 总线接口 — 寄存器读写访问
  • UVM 验证环境 — 双 Agent(支持全双工/半双工)
  • 功能覆盖率 — LCR / IER / FCR / MCR / LSR / IIR 全覆盖
  • Scoreboard — 数据比对 + 错误检测
  • 9 个测试场景 — 全双工、半双工、回环、奇偶错、帧错、溢出、断点、超时、THR 空

文档导航

RTL 模块文档

文档 说明
RTL 模块架构总览 模块依赖图、架构分层、Mermaid 可视化
RTL 逐文件理解 每个文件的端口/参数/信号/实例化详情
项目摘要 文件/模块统计
项目索引 所有模块的索引表

UVM 验证文档

文档 说明
TB 验证计划 验证策略、测试用例、覆盖率计划
TB 逐文件理解 每个验证文件的类/方法/成员详情

测试场景

测试 说明
full_duplex_test 全双工通信 — 双方同时收发
half_duplex_test 半双工通信 — 轮流收发
loopback_test 回环模式 — 自发自收
parity_error_test 奇偶错误检测
framing_error_test 帧错误检测
overrun_error_test RX FIFO 溢出检测
breakinterrupt_error_test 断线中断检测
timeout_error_test 超时中断检测
thr_empty_test THR 空中断检测

关键寄存器

地址 写操作 读操作 名称
0 THR RBR 发送/接收缓冲
1 IER IER 中断使能
2 FCR IIR FIFO 控制 / 中断标识
3 LCR LCR 线路控制
4 MCR MCR 调制解调器控制
5 LSR 线路状态
6 MSR 调制解调器状态
7 SCR SCR 暂存寄存器

目录结构

UART-Verification-using-UVM/
├── rtl/           # RTL 设计(12 个文件)
│   ├── uart_top.v          # 顶层
│   ├── uart_regs.v         # 寄存器 + 中断
│   ├── uart_transmitter.v  # 发送器
│   ├── uart_receiver.v     # 接收器
│   ├── uart_wb.v           # WISHBONE 接口
│   ├── uart_tfifo.v        # TX FIFO
│   ├── uart_rfifo.v        # RX FIFO
│   └── ...
├── agent/         # UVM Agent 组件(7 个文件)
├── env/           # UVM 环境(6 个文件)
├── test/          # 测试用例(1 个文件,含 10 个测试类)
├── top/           # 测试平台顶层
└── sim/           # 仿真脚本

仿真运行

1
2
3
4
5
6
7
cd sim
make run_test     # base_test
make run_test1    # full_duplex_test
make run_test2    # half_duplex_test
make run_test3    # loopback_test
make regress      # 回归测试
make cov          # 覆盖率报告

文档由 SvDoc v0.5.0 自动生成于 2026-05-10