58 lines
1.6 KiB
Markdown
58 lines
1.6 KiB
Markdown
# ic_com 库功能简介
|
||
|
||
## 目录结构
|
||
- `lib/`:核心功能模块(如编码器、FIFO等)
|
||
- `tb/`:各模块的仿真测试平台
|
||
- `doc/`:文档与使用说明
|
||
|
||
## 主要功能模块
|
||
### 1. 编码/解码
|
||
- `enc_dec/oh_bin/oh2bin.sv`:参数化 one-hot 到二进制编码器,支持面积/频率优化,适用于高性能和低功耗场景。
|
||
|
||
### 2. FIFO
|
||
- `fifo/sync/fifo_sync.sv`:同步FIFO,支持参数化数据宽度和深度,适合多场景缓存。
|
||
|
||
## 仿真与验证
|
||
- `tb/enc_dec/oh_bin/oh2bin_tb.sv`:oh2bin编码器的时序仿真测试,支持自动化验证。
|
||
- `tb/fifo/sync/fifo_sync_tb.sv`:同步FIFO的功能仿真测试。
|
||
|
||
## 波形与调试
|
||
- 推荐使用VCS仿真,支持FSDB波形输出,便于使用Verdi/KDB调试。
|
||
|
||
## 快速仿真命令
|
||
见下方示例。
|
||
|
||
---
|
||
|
||
# VCS仿真命令示例
|
||
|
||
## 1. 生成.f文件(文件列表)
|
||
|
||
- 默认各模块`.f`文件需要配置环境变量`IC_COM_DIR`为仓库根目录。
|
||
|
||
- `lib.f`:包含所有lib目录下的源文件
|
||
- `tb.f`:包含所有tb目录下的测试平台文件
|
||
|
||
## 2. 推荐VCS命令(含FSDB波形与KDB调试)
|
||
```sh
|
||
vcs -full64 -sverilog -debug_access+all +v2k +vcs+lic+wait \
|
||
-f lib.f -f tb.f \
|
||
-l vcs.log \
|
||
-kdb \
|
||
+fsdbfile+${USER}_sim.fsdb \
|
||
+fsdb+autoflush \
|
||
+vcsd \
|
||
+vcs+dumpvars+all \
|
||
+vcs+fsdbon \
|
||
+notimingcheck \
|
||
+define+FSDB \
|
||
+define+KDB
|
||
```
|
||
- 默认fsdb文件名为`${USER}_sim.fsdb`,可自动区分不同用户仿真结果。
|
||
- 支持KDB调试,推荐配合Verdi使用。
|
||
|
||
## 3. 运行仿真
|
||
```sh
|
||
./simv
|
||
```
|