90 lines
2.2 KiB
Markdown
90 lines
2.2 KiB
Markdown
|
# VCS编译加速:三步编译和分块编译
|
|||
|
|
|||
|
验证问题:有不同穿层信号时,模块的partition库能否reuse?
|
|||
|
|
|||
|
结论:**当穿层信号变化时,受影响的模块不能reuse**。
|
|||
|
|
|||
|
## 快速开始
|
|||
|
|
|||
|
### 第一次编译
|
|||
|
|
|||
|
```bash
|
|||
|
make all GENLIB=1
|
|||
|
```
|
|||
|
|
|||
|
### 第二次编译
|
|||
|
|
|||
|
```bash
|
|||
|
make all GENLIB=0
|
|||
|
```
|
|||
|
|
|||
|
## 运行结果
|
|||
|
|
|||
|
```
|
|||
|
Top Level Modules:
|
|||
|
testbench
|
|||
|
TimeScale is 1 ns / 1 ps
|
|||
|
|
|||
|
Note-[PC_SHARED] Reusing shared partition
|
|||
|
Reusing partition '_vcs_pc_package_' from shared library './partitionlib'.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Note-[PC_SHARED] Reusing shared partition
|
|||
|
Reusing partition 'uvm_pkg' from shared library './partitionlib'.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Note-[PC_SHARED] Reusing shared partition
|
|||
|
Reusing partition 'counter_a' from shared library './partitionlib'.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Warning-[PC_NOT_SHARED] Cannot reuse shared partition
|
|||
|
Cannot reuse partition 'counter_b' from shared library './partitionlib'
|
|||
|
|
|||
|
There are additional signals that are now targets of hierarchical
|
|||
|
references.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Note-[PC_GEN_PARTITION] Generating partition
|
|||
|
Generating new partition 'counter_b' at
|
|||
|
'./partitionlib_test2/counter_b_ipFRWc'.
|
|||
|
|
|||
|
|
|||
|
Warning-[PC_NOT_SHARED] Cannot reuse shared partition
|
|||
|
Cannot reuse partition 'counter_c' from shared library './partitionlib'
|
|||
|
|
|||
|
There are additional signals that are now targets of hierarchical
|
|||
|
references.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Note-[PC_GEN_PARTITION] Generating partition
|
|||
|
Generating new partition 'counter_c' at
|
|||
|
'./partitionlib_test2/counter_c_chn5zb'.
|
|||
|
|
|||
|
|
|||
|
Note-[PC_SHARED] Reusing shared partition
|
|||
|
Reusing partition 'top' from shared library './partitionlib'.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Warning-[PC_NOT_SHARED] Cannot reuse shared partition
|
|||
|
Cannot reuse partition 'TB.testbench' from shared library './partitionlib'
|
|||
|
|
|||
|
Modified Design Units :
|
|||
|
TB.testbench : "./rtl/testbench.sv", 20
|
|||
|
Type of targets of hierarchical references in this partition have changed.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Note-[PC_RECOMPILE] Recompiling partition
|
|||
|
Recompiling partition 'TB.testbench' because of following changes.
|
|||
|
|
|||
|
Modified Design Units :
|
|||
|
TB.testbench : "./rtl/testbench.sv", 20
|
|||
|
```
|
|||
|
|
|||
|
检查log可以发现,穿层信号变化涉及到的模块`counter_b、counter_c`都无法reuse。
|