pymtl / pymtl3

Pymtl 3 (Mamba), an open-source Python-based hardware generation, simulation, and verification framework
BSD 3-Clause "New" or "Revised" License
388 stars 46 forks source link

[Fix] Honor non-top port maps in subcomp declarations #209

Closed ptpan closed 3 years ago

ptpan commented 3 years ago

Behavior before: a name in the local scope is used while generating sub-component declarations (e.g., s.pmx.proc.dmem.req.rdy -> rdy). This breaks any port map on that component.

Current behavior: a full name of port objects is used while generating sub-component declarations. This makes sure the translation pass honors the port map on that sub-component regardless of how many levels of nested interfaces are in it.

codecov[bot] commented 3 years ago

Codecov Report

Merging #209 (378d579) into master (2353413) will increase coverage by 0.00%. The diff coverage is 100.00%.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #209   +/-   ##
=======================================
  Coverage   90.50%   90.50%           
=======================================
  Files         316      316           
  Lines       27875    27879    +4     
=======================================
+ Hits        25229    25233    +4     
  Misses       2646     2646           
Impacted Files Coverage Δ
...sses/backends/verilog/VerilogPlaceholderConfigs.py 92.68% <100.00%> (ø)
.../translation/structural/VStructuralTranslatorL4.py 85.34% <100.00%> (+0.52%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 2353413...378d579. Read the comment docs.