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 模块文档
UVM 验证文档
测试场景
| 测试 | 说明 |
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/ # 仿真脚本
|
仿真运行
| 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