Monday, 2021-05-03

*** tpb has joined #litex00:00
*** Degi_ has joined #litex00:14
*** Degi has quit IRC00:17
*** Degi_ is now known as Degi00:17
*** pauluzs has quit IRC00:51
*** mikeK_de1soc has quit IRC01:23
*** Bertl_oO is now known as Bertl_zZ04:07
*** TMM has quit IRC05:32
*** TMM has joined #litex05:32
*** FFY00_ has quit IRC05:48
Melkhiornickoe It feels weird that you're writing to source.ready06:15
Melkhiormy understanding is that when sink.ready is true you can put an address in the sink (sink.valid, sink.addr), then you wait for source.ready to be able to read source.data06:15
Melkhiorpresumably the address should remain valid until sink.ready is true again, when you can input the new address06:17
zypno, you set source.ready when you're ready to receive and wait for source.valid06:17
Melkhioroh ok thx06:24
Melkhiortoo many signals for my 'soft' brain :-)06:26
*** geertu has quit IRC06:36
*** geertu has joined #litex06:37
*** keesj has joined #litex07:26
*** pftbest_ has joined #litex07:37
*** pftbest has quit IRC07:40
*** Degi has quit IRC08:10
*** Degi has joined #litex08:12
acathlawishbone-tool -u /dev/ttyUSB0 --csr-csv=csr.csv -s gdb10:06
acathlaERROR [wishbone_tool] invalid configuration: Terminal specified, but no xover uart addresses present in csv file10:06
acathlaBut I didn't ask for a crossover terminal, so why that answer?10:07
acathlahttps://github.com/litex-hub/wishbone-utils/blob/master/wishbone-tool/crates/core/config.rs#L340 seems okay10:10
acathlaI use wishbone-tool v0.6.10 from fomu-toolchain 1.5.6 (last release I think)10:11
zypyou're running into https://github.com/litex-hub/wishbone-utils/issues/2610:28
zypfixed in 0.6.1110:28
*** kgugala has joined #litex11:28
*** kgugala has quit IRC11:28
*** kgugala has joined #litex11:28
*** kgugala_ has quit IRC11:29
*** bitinvert has joined #litex11:31
acathlazyp, thank you.11:42
acathla"xobs : Good catch. I think this is a big enough issue to warrant a new minor release."11:42
acathlaYes it is :)11:42
zypyeah, that release was 0.6.1112:04
*** FFY00_ has joined #litex12:04
zypwishbone-tool is up to 0.7.8 now, so an upgrade is due anyway :)12:04
somlozyp, Melkhior: to me, assuming source and sink are `connect`-ed, then the least amount of cognitive load would be to write `sink.ready` and `source.valid` -- but not sure that's "canonical" or "best practice" or whatever :)12:44
somlospecifically, `thing2.sink.ready` and `thing1.source.valid`, if thing1 feeds data to thing2...12:45
zypit's important to distinguish between being a sink or source and interacting with a sink or source too :)12:46
Melkhior@somlo thanks, was trying to understand/help @nickoe ; I haven't quite graduated from "basic migen" to "use streams in migen" yet, clearly12:46
zypbut I mean, this is just about flow control12:47
zypthe valid signal indicates that the transmitter is ready to send12:47
zypthe ready signal indicates that the receiver is ready to receive12:47
MelkhiorAnd trying to figure out why my keyboard ignores some 'send command' request from my host, yet react to other almost immediately...12:47
somloright, but the idea is to make it easy for the reader (usually myself a few months later) who the reader and writer involved are...12:48
somlos/who/to figure out who/12:48
zypa source port is an output from a module, used for data flowing out of the module12:49
zypand sinks are data flowing into the module12:49
zypwhether you'll write or read the signals will depend whether you're on the outside of the module looking in, or on the inside looking out12:49
Melkhior@zyp @somlo make sense12:56
Melkhiorthx12:57
Melkhiorso... if i wanted to have 2 DMA streams back-to-back, the reader feeding into the writer w/ 2 addr generators (i.e. hw block copy), I would so something like:13:01
Melkhior        self.comb += self.dma_read.sink.address.eq(self.addrgen_read.out)13:01
Melkhior        self.comb += self.addr_gen.ready.eq(self.dma_read.sink.ready & self.addrgen_read.valid)13:01
Melkhior        self.comb += self.dma_read.sink.valid.eq(self.addrgen_read.valid)13:01
Melkhior        self.comb += self.dma_write.sink.address.eq(self.addrgen_write.out)13:01
Melkhior        self.comb += self.addr_gen_ready.eq(self.dma_write.sink.ready & self.addrgen_write.valid & self.dma_read.source.valid)13:01
Melkhior        self.comb += self.dma_write.sink.valid.eq(self.addrgen_write.valid & self.dma_read.source.valid)13:01
Melkhior        self.comb += self.dma_write.sink.data.eq(self.dma_read.source.data)13:01
*** Bertl_zZ is now known as Bertl13:01
Melkhiorso that the source of the addrgen_read is connected to the addr. sink of the DMA_read, the source of the addrgen_write is connected to the addr. sink of the DMA_write13:03
Melkhiorand the source of the DMA_read is connected to the data sink of the DMA_write13:03
Melkhior(pure curiosity, the linux console doesn't support hardware blitter for scrolling anymore and that's was the original reason for putting 2 DMAs back to back connected to 2 litedram port)13:04
Melkhiormmm next to last is using self.addrgen_write.valid that should be self.addrgen_write.ready13:05
Melkhiorno it should be valid13:06
Melkhior7 lines and I can confuse myself :-)13:06
*** mikeK_de1soc has joined #litex13:10
*** pftbest_ has quit IRC13:11
*** pftbest has joined #litex13:12
zyppart of the point of streams is that you shouldn't have to deal with the individual signals when you're just hooking them up13:17
zypyou'd do addrgen_read.source.connect(dma_read.sink), and so on13:17
somlozyp: except that a lot of FSM magic needs to know when a source.valid & sink.ready happen, to know when it's time to jump to a new state... :)13:18
zypthen you're not just hooking them up :)13:19
zypbut still, even if you're using connect() you can tap and override signals in a FSM13:19
somloI'm not a migen or streams ninja by any stretch of the imagination, I've just been trying to study some of the litesdcard sources recently, and there's a lot of that in there... :)13:21
*** jhu has quit IRC14:57
*** mikeK_de1soc has quit IRC15:11
*** rj has joined #litex16:41
*** rj has quit IRC17:01
*** rj has joined #litex17:06
*** Melkhior has quit IRC17:18
*** rj has quit IRC17:58
*** rj has joined #litex18:06
nickoeCan on set priorites for reads from the bus to the ram?18:06
*** rj has quit IRC18:10
*** rj has joined #litex18:10
*** rj has quit IRC18:10
*** rj has joined #litex18:11
*** rj has quit IRC18:13
*** rj has joined #litex18:13
*** TMM has quit IRC18:56
*** TMM has joined #litex18:56
nickoeDo you usually keep a sim of a SoC seperate for the implemenation script?19:34
*** Degi has quit IRC19:53
*** keesj has quit IRC19:53
*** Degi has joined #litex19:55
*** keesj has joined #litex19:55
nickoeMmm, how was it that I started litex_server to work with the sim?20:23
nickoedoes not appear to work litex_server --udp --udp-ip=192.168.1.5020:24
*** nats` has quit IRC22:28
nickoeon a real target, why can't I load the demo.bin with lxterm via jtag? I have self.add_jtagbone() in the target, I can get theident with litex_cli --ident etc. I can get traces with litescope via that litex_server, started via jtag22:32
nickoeUsing, lxterm --jtag-name jtag_uart  --kernel demo.bin  --serial-boot /dev/ttyUSB122:33
nickoeIt just seems to hang forever22:34
*** jon_ has joined #litex22:46
nickoemmm, vivado is not really happy of me adding a simple verilog file that ... starts to complain about some verilog files from VexRiscv... https://dpaste.com/GRWYET3T922:55
tpbTitle: dpaste: GRWYET3T9 (at dpaste.com)22:55
*** rj has quit IRC22:56
*** rj has joined #litex22:56
jon_Hi there, I'm new here. I'm trying to purchase an FPGA to start doing dev similar to Somlo's ECP5 but both ECPIX-5 and ecp5-5g-versa boards are sold out from most suppliers. Are their other ECP5 options for recreating Somlos work? Perhaps the Lambda Connector 45k is enough?22:57
*** rj has quit IRC22:59
nickoejon_: what is somolo's ecp5?23:02
jon_https://www.contrib.andrew.cmu.edu/~somlo/BTCP/23:03
tpbTitle: A Trustworthy, Free (Libre), Linux Capable, Self-Hosting 64bit RISC-V Computer (at www.contrib.andrew.cmu.edu)23:04
nickoemm, there is a `default_nettypenone   in the top mof my included verilog file..23:04
*** lf has quit IRC23:15
*** lf has joined #litex23:15
nickoeok, removing that made the vivado synth happy23:16
nickoe...23:16
*** pftbest has quit IRC23:16
*** pftbest_ has joined #litex23:16
*** pftbest_ has quit IRC23:38
*** pftbest has joined #litex23:42
jon_For example is there a difference between the dev kits and a regular ECP5?23:49
sorearno the dev kits use a regular production ecp523:53

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