Lofty changed the topic of #prjmistral to: Project Mistral: Yosys (and hopefully nextpnr) on Cyclone FPGAs - https://github.com/ZirconiumX/mistral - logs: https://freenode.irclog.whitequark.org/prjmistral
peeps[zen] has joined #prjmistral
peepsalot has quit [Ping timeout: 260 seconds]
fdalleau` has joined #prjmistral
fdalleau`` has joined #prjmistral
fdalleau` has quit [Ping timeout: 272 seconds]
fdalleau`` has quit [Read error: Connection reset by peer]
fdalleau`` has joined #prjmistral
fdalleau`` has quit [Read error: Connection reset by peer]
fdalleau`` has joined #prjmistral
fdalleau`` has quit [Read error: Connection reset by peer]
fdalleau`` has joined #prjmistral
fdalleau` has joined #prjmistral
fdalleau`` has quit [Ping timeout: 244 seconds]
fdalleau` has quit [Read error: Connection reset by peer]
fdalleau has joined #prjmistral
fdalleau has quit [Read error: Connection reset by peer]
fdalleau has joined #prjmistral
<Lofty> Sarayan: So, I'm reading through rnmgr.cc at the moment
<Lofty> Why not make rnode_t a bitfield struct?
fdalleau has quit [Read error: Connection reset by peer]
fdalleau has joined #prjmistral
<Sarayan> rnmgr is just a quick hack to manipulate the routing tables to turn them into generators
<Lofty> Mm, fair
<Sarayan> you'll need the raw routing tables incidentally, lemme upload them
<Sarayan> they're too big for github
<Sarayan> technically, I can't even upload my current version of the library, because I've included part of the routing tables in the code to analyze them and they're multi-gig
<Lofty> Oops :P
<Lofty> Do you have a generator for them at least?
<Sarayan> I'm writing the generator
<Lofty> Fair
<Lofty> Also ~at some point~ it'd be nice to make this a bit more data driven
<Sarayan> Define data-driven
<Lofty> If we can extract the bitfields from the code into a database of our own, we can feed a documentation script with the same information we feed the actual code, keeping the two in sync
<Lofty> Of course, then the database is itself tainted >.>
<Sarayan> which bitfields are you talking about, the bel muxes?
<Lofty> The entire bitstream; I'm currently looking at the Cyclone V options, but yeah
fdalleau has quit [Ping timeout: 264 seconds]
fdalleau has joined #prjmistral
<Lofty> Also, I feel like the default options list should be a stream of bytes, not of uint32_ts
<Lofty> Because of endianness
<Sarayan> uint64_t actually, which is why there's no endianness issue
<Sarayan> uint8_t you would have some
<Sarayan> the options the options are 32 strips of 40 bits
<Sarayan> when framing/unframing them I always test/bit bit <m> of strip <n>
<Lofty> Okayu
<Lofty> Although that's still pretty confusing when reading the code for the first time
<Lofty> Also, in the device headers you have "Declined in three models"
<Lofty> Which is...what?
<Lofty> Well, declined in N models
<Lofty> Declared?
<Sarayan> ah damn, french word
<Lofty> Might want to fix that :P
<Sarayan> looks like you people tend to use "available" in such a context
<Lofty> Yeah, "declined" the English word means "refused"
<Sarayan> (as in people who talk english ;-)
<Sarayan> "decliner" the french word means "to refuse" or "in a process of destruction" or "creating a variant/model"
<Sarayan> what do you mean it makes no sense to conflate these :-)
<Sarayan> oh, and there's also "telling who you are" in the possible meanings
<Sarayan> and "going away from the equator" for stars, "being offset from the north or from a cardinal direction in general"
<Sarayan> that word is insane now that I think about it
<Lofty> Hahahaha
<Lofty> Anyway, Sarayan: I was mostly thinking that the cvd model databases and cyclonevd bit databases could be moved into a separate file that generates these
<Sarayan> what would the point be?
<Sarayan> there's only ever going to be 7 cvd
<Lofty> Correct
<Lofty> But there's going to be more than one user of this information
<Lofty> So it could stay as code
<Sarayan> which is why it's structured as a library, even if it's not compiled that way yet
<Lofty> Okay, fair.
<Sarayan> remove main.cc and it's a library
<Sarayan> I expect at some point to have yosys and netxpnr link with mistral
<Sarayan> for cyclone support that is
<Lofty> Fair
<Lofty> Well
<Lofty> nextpnr, probably not yosys
<Sarayan> timings tables
<Sarayan> (not in there yet, for sure, but eventually)
<Sarayan> possibly official numbers of LE, etc, also presence of hardware (hps, hmc, ...)
<Lofty> Yosys seems generally adverse to linking to libraries for problems
<Lofty> There are things like bignum libs and JSON parsers in there
fdalleau` has joined #prjmistral
<Lofty> But nothing hardware specific
<Lofty> So *to me* the approach there is to autogenerate files to put in Yosys
<Sarayan> well, it should be easy to do that
<Lofty> In terms of counting hardware etc, Yosys generally punts the problem to PnR
<Lofty> e.g. if you try to synthesise a netlist that can't possibly fit on an iCE40, Yosys will dump a netlist and nextpnr will fail to pack it
<Sarayan> it's not so much counting as presence
<Sarayan> if you don't have the arm core in a model, it's better to be told so easrly
<Sarayan> early
<Lofty> While I agree, it's not up to me alone ^^;
fdalleau has quit [Ping timeout: 272 seconds]
<Lofty> Also this means that Yosys needs to know about SKUs etc
<Sarayan> triying to instanciate too maybe fractional plls... the question is open
<Sarayan> s/maybe/many/
<Sarayan> not fitting, nah, that's nextpnr job
<Lofty> And that's...kinda unnecessary complexity, I think
<Sarayan> but in any case, I'm still in RE mode
<Sarayan> nothing final at that point
<Lofty> Sure
<Sarayan> we need the information in there, then we'll see what's best. At least I'm sure we can do anything for something enough library-iswh
<Lofty> Fair.
<Sarayan> passive that can be complicated, and damn big
<Sarayan> s/that/data/
<Sarayan> I can't type this morning it seems
<Lofty> Oops :P
fdalleau` has quit [Ping timeout: 264 seconds]
<Lofty> Sarayan: we could also have a namespace mistral {} on the cc files
<Sarayan> that makes my editor cranky
<Lofty> Huh? How so?
<Sarayan> it indents everything you put in it
QDX45 has joined #prjmistral
fdalleau has joined #prjmistral
<Lofty> Oh, hmm
fdalleau has quit [Ping timeout: 260 seconds]