Friday, 2020-11-27

*** tpb has joined #litex00:00
*** lf has quit IRC00:45
*** lf has joined #litex00:45
*** Degi has quit IRC01:51
*** Degi has joined #litex01:55
*** Dolu_ has quit IRC03:04
*** lkcl has quit IRC04:13
*** lkcl has joined #litex04:26
*** lkcl has quit IRC05:13
*** lkcl has joined #litex05:26
*** lkcl has quit IRC05:34
*** lkcl has joined #litex05:48
*** key2 has quit IRC06:34
*** key2 has joined #litex06:34
*** kgugala_ has joined #litex07:06
*** kgugala_ has quit IRC07:08
*** kgugala_ has joined #litex07:08
*** kgugala has quit IRC07:09
*** lkcl has quit IRC08:17
*** lkcl has joined #litex08:31
*** _florent_ has quit IRC09:03
*** _florent_ has joined #litex09:03
*** st-gourichon-fid has quit IRC09:03
*** st-gourichon-fid has joined #litex09:04
*** xfxf has quit IRC09:04
*** xfxf has joined #litex09:05
*** lkcl has quit IRC10:08
*** lkcl has joined #litex10:22
disasm[m]Sorry for maybe a recurring question. Can anyone tell me how to pronounce "Migen" and "LiteX" correctly?10:35
*** Dolu_ has joined #litex12:13
*** CarlFK has quit IRC12:30
*** CarlFK has joined #litex12:36
daveshahsomlo: that commit that causes things to consistently fail is https://github.com/YosysHQ/yosys/commit/9a4f420b4b8285bd05181b6988c35ce45e3c979a; now I am trying to figure out if the opt_dff move actually broke something or just triggered some broken behaviour elsewhere12:54
_florent_disasm[m]: Migen is the short the abbreviation of Milkymist generator, so Mi - gen14:57
_florent_LiteX is pronounced Lite - X14:57
disasm[m]_florent_: thanks!15:17
somlodaveshah: thanks! -- fingers crossed it's not too horrible to fix...15:25
*** FFY00 has joined #litex15:39
*** kgugala has joined #litex15:54
*** kgugala_ has quit IRC15:58
daveshahrocket is such a PITA to debug I don't know, I have spent the whole day looking at it and made little progress16:15
daveshahideally something that is not such a mess will also hit the same bug and be easier to debug16:16
daveshahOK, when adding -flatten to synth_xilinx to make the first stages of synthesis the same as ECP5, it seems to fail in the same way (with Vivado PnR)18:57
daveshahMakes sense as that commit was mostly changing generic stuff18:57
somlodaveshah: I like rocket from a "dumb downstream user" standpoint -- feature-complete rv64gc. Pity it's so "outsider-resistant": I did the chisel tutorial and comprehended most of it at the time, but then I try to look at the sources of Rocket, and it takes hours and days to figure out how the simplest things are conected :(20:57
daveshahwait until you look at the generated Verilog...20:57
somloI have, and the only marginally comprehensive thing is to follow the module interfaces to try to reverse engineer some of the "schematics"; the body of each module is practically line noise...20:59
FindeI'm a little surprised no one's got ariane into litex21:00
somloback about two years ago, I needed a linux-capable rv64gc core in litex, and I remember looking at both, and rocket won because it appeared more mature. Being a "dumb downstream user" like I said earlier, I wanted the cheapest (in terms of my own brain cell expenditure) way of getting 64-bit linux working on litex :)21:03
somloside rant: I know lots of people who know a thing or two about digital design like to trash-talk Verilog, just like a lot of modern software types like to trash-talk C; to me, both have the same main quality, of allowing an outsider to follow the "design thread" of something written in either, with comparative ease21:06
daveshahI actually don't have a problem with higher level HDLs per se, just Chisel's output tends to be particularly impenetrable21:07
somlounlike the cool OOP-style languages (chisel for HDL, all the go/rust/whatever on the software side) where figuring out what's going on is made harder for any outsider by virtue of OOP's wherever you're looking, what you seek happens somewhere completely different style of source layout :)21:08
somloI get that chisel treats verilog the way high-level software languages treat raw binary opcodes :)21:09
daveshahIt just seems to generate some particularly strange patterns21:09
somloand they don't want you looking at the verilog to troubleshoot what's wrong with it, at least not from what I remember from the official party line :)21:09
daveshahI find both Migen and nMigen a lot easier to debug than Chisel - little different to debugging Verilog tbh21:10
daveshahhard to avoid looking at the verilog when debugging the synthesis tool though ;)21:10
somloto me, [n]Migen is like a Python-augmented "generate-on-steroids" verilog enhancement21:11
daveshahYeah21:12
somlowhereas Chisel is to Verilog like Haskell is to assembly opcodes :D21:12
daveshahI personally prefer that, but I may be a biased perspective because I spend most of my life debugging toolchains rather than writing HDL21:12
daveshahso arguably not the typical end user of these thigns21:12
somlothat's my whole point (in defense of C and verilog, against the language-ninja trend of the current times)21:13
somlowhen shit hits the fan, it's just less painful to figure out what's going on :)21:13
somloand this whole conversation reminds me, I haven't updated Litex's rocket verilog in a good number of months either, wonder what will happen when I do that...21:19
daveshahI was playing around with yoloRISC today randomly and I found some stuff had broken21:19
daveshahI had to apply https://github.com/chipsalliance/rocket-chip/pull/260321:19
daveshahdon't know if that will affect LiteX too, but if you get strange errors try that21:20
somlogood to know, thanks!21:21
somlodaveshah: hadn't thought about yoloRISC in a long time (that was before I discovered LiteX)21:22
daveshahyeah, I wanted to try it as a simple test with a testbench but it doesn't break21:22
somlowas wondering about that...21:23
daveshaheven the simplest LiteX SoC (no DDR3/ethernet/sdcard, default rocket config, 20MHz clock) fails though21:24
somlodaveshah: that simplest LiteX SoC should also fit on a versa (45k ecp5). Wondering if it fails there as well...22:04
somlonot that I see why it shouldn't22:04
daveshahI think it probably would, given it fails on the Arty too using Yosys+Vivado22:05
somloright, you did say that22:05
somlointeresting, upgrading rocket to #58a0e1052 works fine on the nexys4ddr (64-bit wide variant), but fails dram initialization on trellisboard (256-bit wide variant). "old" yosys (the one I used to successfully build working trellisboard bitstream using the old rocketchip)23:24

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!