aboutsummaryrefslogtreecommitdiffstats
path: root/backends/cxxrtl/cxxrtl_capi.h
diff options
context:
space:
mode:
authorwhitequark <whitequark@whitequark.org>2020-12-13 15:33:47 +0000
committerwhitequark <whitequark@whitequark.org>2020-12-15 11:02:38 +0000
commit4d40595d644cfe58425a3de023c712641c429010 (patch)
tree9c39c6094d45257471784cf537bf94559c28de4a /backends/cxxrtl/cxxrtl_capi.h
parentdd6a761db04ca67205ad25d7f5dbb63daa8d9e9d (diff)
downloadyosys-4d40595d644cfe58425a3de023c712641c429010.tar.gz
yosys-4d40595d644cfe58425a3de023c712641c429010.tar.bz2
yosys-4d40595d644cfe58425a3de023c712641c429010.zip
cxxrtl: make alias analysis outlining-aware.
Before this commit, if a sequence of wires assigned in a chain would terminate on a cell, none of the wires would get marked as aliases, and typically all of the public wires would get outlined. The reason for this behavior is that alias analysis predates outlining and in fact runs before it. After this commit, alias analysis runs after outlining and considers outlined wires valid aliasees. More importantly, if the chained wires contain any valid aliasees, then all of the wires are aliased to the one that is topologically deepest. Aliased wires incur virtually no overhead for the VCD writer, unlike outlined wires that would otherwise take their place. On Minerva SoC SRAM, size of the full VCD dump is reduced by ~65%, and throughput is increased by ~55%.
Diffstat (limited to 'backends/cxxrtl/cxxrtl_capi.h')
0 files changed, 0 insertions, 0 deletions