-
Notifications
You must be signed in to change notification settings - Fork 425
Open
Description
Description
Is there a way to disable the name mangling to be compatible with Yosys?
Of course there are cases when names need to be individualized due to parameters, but for my use-case there's no SystemVerilog parameterization, so there's no ambiguity.
slang mangles module names during synthesis.
Original name Foo_3 mangled name Foo_3$SomeTop.bar.foo.
This is the code that's broken: original_name is no longer pre-synthesis, but mangled slang name.
set mapping {}
set block [ord::get_db_block]
foreach module [$block getModules] {
set prop [odb::dbStringProperty_find $module "original_name"]
if { $prop != "NULL" } {
set module_name [$module getName]
set original_name [$prop getValue]
if {[catch {dict get $mapping $original_name} current]} {
set current {}
} else {
set current [dict get $mapping $original_name]
}
lappend current $module_name
dict set mapping $original_name $current
} else {
dict set mapping [$module getName] {}
}
}Suggested Solution
How to disable this mangling? Alternatively write out a reports/ file with a map.
Additional Context
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels