whitequark[cis] changed the topic of #prjunnamed to: FPGA toolchain project · rule #0 of prjunnamed: no one should ever burn out building software · https://prjunnamed.org · https://github.com/prjunnamed/prjunnamed · logs: https://libera.irclog.whitequark.org/prjunnamed
Guest63 has joined #prjunnamed
Guest63 has quit [Client Quit]
povikMartinPovie has quit [Quit: Idle timeout reached: 172800s]
whitequark[cis] has quit [Quit: Idle timeout reached: 172800s]
mwk has quit [Ping timeout: 272 seconds]
mwk has joined #prjunnamed
povikMartinPovie has joined #prjunnamed
<povikMartinPovie> do you expect a MetaItem for the top scope, or is MetaItem::None the stand-in for that (e.g. as the parent value for subscopes)?
whitequark[cis] has joined #prjunnamed
<whitequark[cis]> latter
<povikMartinPovie> what about if we merge a cell from two cells, one in a subscope and one in the top scope
<povikMartinPovie> the resultant cell will seem like it belongs to the subscope only
<whitequark[cis]> oh, sorry, I think there is some terminological confusion
<whitequark[cis]> the "top scope" is not meant to contain cells; it is just the default value for a parent scope
<whitequark[cis]> every cell should belong to a !0 = scope ... something
<whitequark[cis]> the ambiguity is that by "top scope" you could mean "somewhere in a file or a module not nested elsewhere" or "notation for a scope that is the parent of all other scopes"
<whitequark[cis]> does this help?
<povikMartinPovie> yes, so the actual design top has a MetaItem::NamedScope
<povikMartinPovie> that works
<whitequark[cis]> yep
<povikMartinPovie> cool!
<whitequark[cis]> and there could potentially be several NamedScopes with no parent, even
<whitequark[cis]> (in case design linking is involved, for example)
<whitequark[cis]> although I don't think we will currently end up with anything like that
<povikMartinPovie> but those would be completely disconnected networks, I hope
<povikMartinPovie> as in, instead of the Yosys way of many Modules in a Design, you have many top-level NamedScopes, but they are isolated modules
<povikMartinPovie> with no connectivity between that
<povikMartinPovie> is that what the idea is?
<povikMartinPovie> s/that/them/
<whitequark[cis]> actually, no
<whitequark[cis]> the idea is that you could make... for example a SoC, with a USB core as an instance. synthesize that, then link in the USB netlist you synthesize separately
<whitequark[cis]> but now that I think about it
<whitequark[cis]> that should maybe just rewrite metadata
<povikMartinPovie> OK, but no matter that use case, if you have hierarchy, every cell has a NamedScope
<povikMartinPovie> which is the important detail for me right now
<whitequark[cis]> yeag
<whitequark[cis]> * yeah