clifford changed the topic of #yosys to: Yosys Open SYnthesis Suite: http://www.clifford.at/yosys/ -- Channel Logs: https://irclog.whitequark.org/yosys
tpb has quit [Remote host closed the connection]
tpb has joined #yosys
<emeb> well sort of. touched the code and reran synth and now it doesn't work.
<emeb> time to re-write this with synchronous logic.
lutsabound has joined #yosys
Degi has quit [Ping timeout: 264 seconds]
Degi has joined #yosys
citypw has joined #yosys
lutsabound has quit [Quit: Connection closed for inactivity]
<az0re> whitequark: Understood. TBH the only reasons I've found for wanting boost are: 1) as a dependency for minipart2, but daveshah's hypergraph partitioning implementation will eliminate the need for that; 2) boost bimap for the .hgr file formatting code in `partition`, which would reduce memory usage. Not a big deal.
<az0re> But frankly I disagree about boost in particular, and I would much sooner introduce a dependency boost bimap than scons, for example. But I will always try to avoid boost (or any dependencies) if possible
<az0re> Then again I don't do much cross-compiling, so I'm ignorant of the challenges boost can cause for that. Is there anything in particular?
<az0re> Especially for header-only libraries (IIRC bimap is one) I wouldn't expect any serious difficulties
emeb has quit [Quit: Leaving.]
_whitelogger has joined #yosys
emeb_mac has quit [Quit: Leaving.]
<daveshah> The dependency chain is quite annoying for that one
<az0re> I can't even download the source code lol
<az0re> I have to send an email to a GMail account
<az0re> lolwut
<daveshah> I did find a link somewhere
<az0re> It *does* seem MIT licensed, though
<tpb> Title: Index of /BK/PDtools/tar.gz/OLD_RELEASES (at vlsicad.eecs.umich.edu)
<az0re> Sooo once a copy is obtained, it could henceforth be published as part of Yosys
<daveshah> Some of the dependencies have weird licenses
<daveshah> And you effectively need a big chunk of UCLAPack, not just MLPart
<az0re> Oh, nice catch
<az0re> I see
<daveshah> It could be possible to get it to work and strip out the dubious bits
<az0re> I'll look around later and see if it might be worth the effort
<az0re> The attractive part is that it's permissively licensed and apparently a performance-competitive Real Serious Tool actually used to tape out real designs
<daveshah> Yes, other bits might be useful too
<daveshah> A more general package with the dodgy bits stripped out would be handy
_whitelogger has joined #yosys
indy has quit [Ping timeout: 264 seconds]
Asu has joined #yosys
indy has joined #yosys
indy has quit [Ping timeout: 240 seconds]
indy has joined #yosys
kraiskil has joined #yosys
kraiskil has quit [Ping timeout: 264 seconds]
dys has quit [Ping timeout: 240 seconds]
mirage335 has quit [Ping timeout: 246 seconds]
mirage335 has joined #yosys
thardin has joined #yosys
kraiskil has joined #yosys
esden has quit [Ping timeout: 272 seconds]
esden has joined #yosys
elGamal has quit [Ping timeout: 260 seconds]
elGamal has joined #yosys
dys has joined #yosys
emeb has joined #yosys
m4ssi has joined #yosys
mirage335 has quit [Ping timeout: 240 seconds]
X-Scale` has joined #yosys
X-Scale has quit [Ping timeout: 264 seconds]
X-Scale` is now known as X-Scale
X-Scale` has joined #yosys
X-Scale has quit [Ping timeout: 240 seconds]
X-Scale` is now known as X-Scale
mirage335 has joined #yosys
m4ssi has quit [Remote host closed the connection]
mirage335 has quit [Ping timeout: 240 seconds]
<whitequark> az0re: boost's build system is technically documented, but not in any useful way, so if you want to get it to work, you'd better start reading its sources and guessing what all the different parts do
<whitequark> it's significantly worse than cmake in that aspect
<whitequark> it took me a day to get yosys compiled to wasm. it took me a week consisting of nothing but pain to get boost to do the same thing
<az0re> I see, so the pain comes from building boost from source, not necessarily from the dependency itself
<az0re> For platforms without boost packages, though, I guess it's a distinction without a difference
<whitequark> az0re: note that b2 is just a part of the problem
<whitequark> there's also the other part of the problem, namely that boost is one of those libraries with infinite scope
<whitequark> you can't just pull in a small part of boost. you take a large part of the entire thing and then it starts creeping all over your code
<whitequark> you're no longer writing c++. you're writing boost::c++. i do not like boost::c++ and i do not want to maintain it.
mirage335 has joined #yosys
<az0re> Meh, that shouldn't be a problem with code review and requiring a justification for using boost stuff
<az0re> I agree it should not be relied on heavily
<az0re> But boost has some great stuff and ideally it wouldn't be categorically rejected
mirage335 has quit [Ping timeout: 256 seconds]
<whitequark> mwk: on #2195, do you want my review on the content or on the tex stuff?
mirage335 has joined #yosys
<mwk> whitequark: both really
<whitequark> so I can't really do much wrt tex, I cargo culted stuff in my own changes to the manual
<whitequark> it's quite frustrating to work with
<az0re> mwk: WRT #2195 I think you cannot do line breaks inside `lstinline`
<mwk> I did mention I hate tex already, right
<az0re> lol yes
<az0re> Though to be pedantic, you probably hate LaTeX
<az0re> TeX is fine
<whitequark> after seeing how the verbatim environment is implemented i'm pretty sure tex is not fine
<mwk> what I hate most is the fucking cult about tex, and it being the most perfect thing ever
<az0re> I know very few people who believe LaTeX is the most perfect thing ever
<az0re> Actually I only ever met one person like that
<az0re> I don't think it's so much a cult as a lack of realistic alternatives
* mwk points to the entire faculty at her university
<az0re> You must be at a funny university!
<whitequark> seems similar to verilog, then
<qu1j0t3> az0re: yeah mostly that
<whitequark> people converting stockholm syndrome into obsession with the tool
<whitequark> "i have suffered for years to learn all the pitfalls, if you don't too, you're just bad at it"
<mwk> as for alternatives, how about sphinx for software documentation?
<Sarayan> What's better? What's even equivalent w.r.t collaborative work?
<az0re> From what I understand after collaborating on multiple papers with a skilled LaTeX user is that cargo culting gets you 95% of the way but you really have to go and understand LaTeX from first principles, and that's not something I'm willing to do for that extra 5%
<Sarayan> At least for reports and papers, that kind of stuff
<mwk> I don't know, fucking libreoffice?
<az0re> Oh god please no
<whitequark> you can't version control libreoffice files
<mwk> yeah, just
<az0re> If only there was a markup language widely deployed, something flexible and powerful that everyone can render
<mwk> annoyed at the contempt you get here if you submit PDFs from something that isn't tex
<Sarayan> I've done reports with fucking libreoffice, I almost killed some people
<az0re> ;)
<whitequark> ah, yeah
<az0re> Why not HTML?
<Sarayan> it can't manage tables worth shit
<daveshah> I did my masters project in libreoffice
<daveshah> It definitely wound a lot of people up
<Sarayan> what I loved with libreoffice is when I had a 89 pages document, did backspace on a page end and went to 81, did undo and went 82
<Sarayan> it's the 82 I wanted, but, errr
<az0re> Yeah, layout needs to be specified by markup text in the source file, otherwise it's a nightmare trying to get a consistent look and layout, especially with collaborators
<az0re> So no libreoffice
<az0re> I haven't seen sphinx before
<az0re> Markdown would be a good choice except it's too limited for this context
<daveshah> Yeah sphinx could well be a good option for Yosys
<az0re> HTML I think is a good alternative
<az0re> Not ideal, but arguably better than LaTeX
<az0re> Yeah Sphinx looks interesting, maybe better than raw HTML
<daveshah> I haven't looked at it much, but I think you can extend it with Python which could be useful
<Sarayan> Sphinx is quite good for docs
<whitequark> reST isn't *great* but it's fairly easy to work with
<whitequark> the main problem i found is that it's not composable
<whitequark> e.g. you cannot make a link italic
<whitequark> it's so much more accessible than TeX and the non-pdf outputs are so vastly better that I'll take it any day of year
kraiskil has quit [Ping timeout: 246 seconds]
citypw has quit [Ping timeout: 240 seconds]
<qu1j0t3> yeah composeability can't be an afterthought (in prog langs either)
* qu1j0t3 is just glad nobody said DocBook
<Sarayan> I'd love something with the style/content separation of latex, the text format, and the typesetting quality, but I suspect network effects are such that it will never happen
<qu1j0t3> someone on twitter announced they were embarking on another LaTeX replacement about six weeks ago
craigo has joined #yosys
<Sarayan> qu1j0t3: I suspect the hard part is deciding what the documents markup should look like
<Sarayan> so much bideshdding
<qu1j0t3> heh
<qu1j0t3> so many ways to reinvent badly
kraiskil has joined #yosys
craigo has quit [Quit: Leaving]
kraiskil has quit [Ping timeout: 246 seconds]
<thardin> do I understand correctly that ram blocks in the iCE40 can be programmed with default values? with the caveat that one needs to wait 36 cycles for the values to "take"
<whitequark> 36 cycles?
<whitequark> where'd you get that number?
az0re has quit [Remote host closed the connection]
<thardin> found somewhere when searching for the "Warning: Replacing memory \pp with list of registers." warning
<tpb> Title: Block ram reads within ~36 cycles of device reset always return 0, but only on the first reset after device reconfiguration. · Issue #76 · YosysHQ/icestorm · GitHub (at github.com)
<whitequark> right so this delay isn't cycle-based
<tpb> Title: nmigen/lattice_ice40.py at master · nmigen/nmigen · GitHub (at github.com)
<thardin> hmm.. I wonder how the reset circuitry actually works
<thardin> I've done a couple of passes over the family datasheets so far
<thardin> if it works the way I want then it seems very handy for say a sine LUT
<thardin> block RAM that is
<whitequark> yes, you can use initialized block RAMs on iCE40 if that's the question
<whitequark> just like on most other FPGAs
<thardin> "By preloading the RAM block during the chip configuration cycle and disabling the write controls, the sysMEM block can also be utilized as a ROM."
<thardin> sweet
<thardin> could be used to replace some logic blocks too, if it starts getting cramped
<thardin> *reading TN1250*
<whitequark> yep
<thardin> and the bram location in the gui corresponds nicely with what the datasheet says
emeb_mac has joined #yosys
Asuu has joined #yosys
Asu has quit [Ping timeout: 246 seconds]
<thardin> just about the perfect size for a sine LUT for a 12-bit DAC
Asuu has quit [Quit: Konversation terminated!]
alexhw has quit [Ping timeout: 260 seconds]
alexhw has joined #yosys
maartenBE has quit [Ping timeout: 240 seconds]
<mithro> whitequark / daveshah / az0re: About 2 years ago I tried to convince Yosys to convert to sphinx based documentation, even offering to pay for people to do the conversion but was told it was not something that was needed or wanted. I've been trying to improve sphinx for documenting HDL related projects with things like http://sphinxcontrib-verilog-diagrams.rtfd.io/ for a while now.
<tpb> Title: Sphinx Verilog Diagrams Sphinx Verilog Diagrams 0.0-86-g8c16b8f documentation (at sphinxcontrib-verilog-diagrams.rtfd.io)
<mithro> This was back when prjxray / vpr / prjtrellis and fasm started using Sphinx.
maartenBE has joined #yosys
<whitequark> mithro: whoa neat i'm going to use verilog-diagram in nmigen i think
<whitequark> well
<whitequark> can we get nmigen-diagram? :p
<mithro> whitequark: I mean it is just yosys + netlistsvg
<whitequark> sure, i mean
<whitequark> can you consider renaming the project to something like sphinxcontrib-hdl-diagram and allowing other inputs?
<whitequark> rtlil or nmigen or vhdl or...
<mithro> whitequark: oh - sure
<mithro> If Yosys' opinion has changed on using sphinx for documentation, I might still be able to scrounge together some funding to pay people to do the boring part of transferring over existing documentation
<whitequark> I do not speak for the project, but I would personally be in favor of Sphinx
<whitequark> the current latex docs are a massive PITA to contribute to, and more than once I just gave up
<whitequark> I can raise that on the next meeting
<mithro> whitequark: The OpenROAD project, Verilog to Routing and the SkyWater PDK I'm working on also use Sphinx -- so it would enable inter-linking docs
<mithro> I've been meaning to resurrect the sphinx documentation for LiteX stuff I did a long time ago
<whitequark> yes, there are multiple good things in sphinx
<mithro> It's by no mean perfect -- but perfect is the enemy of getting things done :-)
<whitequark> it's okay. reST is not all that good, but neither is TeX
<mwk> seconded about sphinx for yosys
emeb has quit [Quit: Leaving.]