|
发表于 2023-2-14 22:41:18
|
显示全部楼层
看上去是综合脚本中缺了define_cost_group, path_group定义。
Genus 模板如下。
###################################################################################
## Define cost groups (clock-clock, clock-output, input-clock, input-output)
###################################################################################
## Uncomment to remove already existing costgroups before creating new ones.
## delete_obj [vfind /designs/* -cost_group *]
if {[llength [all_registers]] > 0} {
set list_mod [vfind / -mode *]
if {[llength $list_mod] >= 1} {
foreach mode $list_mod {
define_cost_group -name I2C_[vbasename $mode] -design $DESIGN
define_cost_group -name C2O_[vbasename $mode] -design $DESIGN
define_cost_group -name C2C_[vbasename $mode] -design $DESIGN
}
} else {
define_cost_group -name I2C -design $DESIGN
define_cost_group -name C2O -design $DESIGN
define_cost_group -name C2C -design $DESIGN
}
foreach mode [vfind / -mode *] {
path_group -from [all_registers] -to [all_registers] -group C2C_[vbasename $mode] -name C2C_[vbasename $mode] -mode $mode
path_group -from [all_registers] -to [all_outputs] -group C2O_[vbasename $mode] -name C2O_[vbasename $mode] -mode $mode
path_group -from [all_inputs] -to [all_registers] -group I2C_[vbasename $mode] -name I2C_[vbasename $mode] -mode $mode
}
}
set list_mod [vfind / -mode *]
if {[llength $list_mod] >= 1} {
foreach mode $list_mod {
define_cost_group -name I2O_[vbasename $mode] -design $DESIGN
}
} else {
define_cost_group -name I2O -design $DESIGN
}
foreach mode [vfind / -mode *] {
path_group -from [all_inputs] -to [all_outputs] -group I2O_[vbasename $mode] -name I2O_[vbasename $mode] -mode $mode
}
你用的不会还是RC (RTL Compiler)吧? 太老了,升级到Genus吧,好很多。Genus有个内置小工具,可以生成各种不同场景的综合脚本模板,非常方便。供参考:
https://blog.eetop.cn/blog-1592-6946163.html
|
|