Merge dev to main. #1
|
@ -1,3 +1,8 @@
|
||||||
# ic_com
|
# ic_com
|
||||||
|
|
||||||
数字芯片设计公共库
|
数字芯片设计公共库
|
||||||
|
|
||||||
|
## 目录结构
|
||||||
|
- `lib/`:核心功能模块(如编码器、FIFO等)
|
||||||
|
- `tb/`:各模块的仿真测试平台
|
||||||
|
- `doc/`:文档与使用说明
|
|
@ -0,0 +1,57 @@
|
||||||
|
# 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
|
||||||
|
```
|
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
// doc/lib.f: ic_com库所有核心源文件,引用各子库f文件
|
||||||
|
lib/enc_dec/oh_bin/oh_bin.f
|
||||||
|
lib/fifo/sync/sync.f
|
|
@ -0,0 +1,2 @@
|
||||||
|
$IC_COM_DIR/lib/enc_dec/oh_bin/oh2bin.sv
|
||||||
|
$IC_COM_DIR/tb/enc_dec/oh_bin/oh2bin_tb.sv
|
|
@ -0,0 +1,2 @@
|
||||||
|
$IC_COM_DIR/lib/fifo/sync/fifo_sync.sv
|
||||||
|
$IC_COM_DIR/tb/fifo/sync/fifo_sync_tb.sv
|
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
// doc/tb.f: ic_com库所有测试平台文件,引用各子库f文件
|
||||||
|
lib/enc_dec/oh_bin/oh_bin.f
|
||||||
|
lib/fifo/sync/sync.f
|
|
@ -0,0 +1 @@
|
||||||
|
// 已合并到 ../../../../lib/enc_dec/oh_bin/oh_bin.f
|
|
@ -0,0 +1 @@
|
||||||
|
// 已合并到 ../../../../lib/fifo/sync/sync.f
|
|
@ -0,0 +1,3 @@
|
||||||
|
// lib.f: ic_com库所有核心源文件
|
||||||
|
lib/enc_dec/oh_bin/oh2bin.sv
|
||||||
|
lib/fifo/sync/fifo_sync.sv
|
Loading…
Reference in New Issue