<Tashtari>
Hi all. Just found out about this project, and I'm curious as to its status, it looks like most of the development is from several years ago, though there are some recent commits. Also curious if there's anything I might be able to do by way of advancing 1504 support... I don't know whether any such thing is in my grasp, but the possibility is worth investigating.
whitequark[cis] has joined #prjbureau
<whitequark[cis]>
the database for 1502 is essentially complete, the documentation is not wholly complete but pretty close, and i'm available for support if needed
<whitequark[cis]>
expanding 1504 support is probably not particularly difficult, it would be easy to finish with hardware testing for sure
<whitequark[cis]>
the main blocker is just that there is no CPLD capable open source toolchain for these devices
<whitequark[cis]>
* source toolchain that could be retargeted for these
<Tashtari>
Oh, I thought the files could be used with yosys somehow?
<whitequark[cis]>
nope
<whitequark[cis]>
or, well, "somehow" i suppose is technically true, but there is no end user synthesis script
<whitequark[cis]>
you basically have to develop the toolchain from scratch
Wanda[cis] has joined #prjbureau
<Wanda[cis]>
yosys is also not a CPLD fitter
<Wanda[cis]>
at most it can perform synthesis into SOPs (or rather, delegate to abc doing it); this is still far from enough to actually emit a bitstream
<Tashtari>
Hmm. Development of a fitter from scratch may be beyond my reach by a bit...
<whitequark[cis]>
it's also beyond mine, which is why I didn't (I could probably learn but I had hoped other people would do it...)
<Tashtari>
Still, much respect to you for doing the work of documenting, it's a crucial step.
<Wanda[cis]>
what prjbureau (and a few more CPLDs reversed over at prjcombine) needs is someone taking the time to learn about CPLD fitting algorithms, implement them, then hook it all up with some synthesis tool and the relevant databases
<whitequark[cis]>
tbh even a CPLD assembler would be useful, and is way easier to build
<Wanda[cis]>
I'm kinda interested in doing that, but there's way too many more interesting things to be done first
<whitequark[cis]>
just a translator from some crunchy text based format (*cough* CUPL style) to JED files
<whitequark[cis]>
it's gonna be miserable to use but most CPLD designs are pretty basic so people will use it anyways
<Tashtari>
That would be interesting. From my (limited) understanding it feels like there's a lot of trying to nudge the Atmel fitter to do things that it's too dumb to figure out, maybe something that's more akin to manually laying out the CPLD would be a welcome tool.
<Wanda[cis]>
mhm
<whitequark[cis]>
oh, you have no idea how bad the fitter is
<whitequark[cis]>
its many bugs were a big impediment to actually getting the database out
<Wanda[cis]>
that's still not trivial btw, you get to do stuff like allocating block inputs and maybe product terms
<Wanda[cis]>
but it's way more doable than a full toolchain
<whitequark[cis]>
no but it's simple enough that a half-assed job would probably be something a lot of people would be able to immediately use
<whitequark[cis]>
I just don't like doing half-assed jobs
<Tashtari>
I might, haha. I actually kind of gave up on using the Atmel fitter entirely when it straight-up produced a bitstream that didn't work, and I couldn't figure out why.
<whitequark[cis]>
ooh, you could use the prjbureau disassembler to find out!
<Tashtari>
I could, though it may be totally buried at this point...
<whitequark[cis]>
there's... quite a few showstopper bugs if you hold it in odd ways
<Wanda[cis]>
(I did write an assembler for the CPLDs I reversed as part of prjcombine and it was miserable to use because turns out you really don't want to be doing routing manually even for simple stuff like CPLDs)
<Tashtari>
Quartus II with POF2JED is infinitely nicer, but it doesn't know about features like logic doubling