<cr1901_modern>
https://github.com/YosysHQ/yosys/issues/2481 Could someone explain to me why cells beginning with "$__" are special, and how they differ from internal cells starting with "$" and "$_"?
<mwk>
there are three kinds of internal cells
<mwk>
$lowercase, $_UPPERCASE_, $__UPPERCASE
<mwk>
the first two are generic cell types supported by all passes
<mwk>
$lowercase is generally multi-bit parametrizable before-mapping cells, $_UPPERCASE_ are single-bit paremeterless cells
<mwk>
and $__UPPERCASE are flow-specific cell types that only exist for a short moment and usually don't have proper models etc.
<cr1901_modern>
$__UPPERCASE is my intended cell type- the attrmvcp pass breaks when I try to move attributes to an $__UPPERCASE cell. They will immediately be techmapped to the "real" cell type (hopefully w/ attrs intact)
<cr1901_modern>
Is this considered a bug, or do I need to just suck it up and expose those cells as blackboxes in my cells_sim.v file?
<cr1901_modern>
(without an internal prefix)
<mwk>
are you reading cells_sim.v with -icells param?
<mwk>
this should solve the "cannot get direction" problem
<cr1901_modern>
Right now the cells aren't _in_ the cells_sim.v file
<cr1901_modern>
but noted
<cr1901_modern>
They are created as part of iopadmap
<cr1901_modern>
Are they supposed to exist already in the cells_sim.v file?
<mwk>
depends
<mwk>
if you want to simulate partially-synth'd designs, that tends to be useful
<mwk>
but hmmm
<mwk>
I wonder if the proper thing here could be to improve iopadmap
<mwk>
and/or attrmvcp so that you can specify a particular port manually
<cr1901_modern>
Do you have a moment to look over my branch (machxo2) if I highlight the relevant code?
<cr1901_modern>
>and/or attrmvcp so that you can specify a particular port manually
<cr1901_modern>
Tbh, I'm not sure how attrmvcp works even after reading the help and trying to create my own select queries. I ended up copying from the greenpak backend.
<cr1901_modern>
(attrmvcp seems to need _two_ separate selections to work? Idk)