<
awygle>
does anybody else find the endianness of Cat confusion?
<
awygle>
*confusing
<
awygle>
i expected the first argument to be the most significant bits (admittedly, without reading the docs, which clearly explain the behvaior)
* zignig
does, it seems to be the wrong way around to me.
<
ktemkin>
yeah; that can be surprising — but the rationale is to keep initialization order consistent with python
<
ktemkin>
and that makes sense to me; even if I had to quiet the gateware section of my brain a bunch at first :)
<
awygle>
i'm not really sure what you mean by "keep initialization order consistent with python", can you elaborate?
<
ktemkin>
s/initialization/declaration
Degi has quit [Ping timeout: 265 seconds]
<
ktemkin>
e.g. imagine you’re declaring a python list with elements such that `x = [‘a’, ‘b’, ‘c’];`
<
ktemkin>
x[0] would be ‘a’
Degi has joined #nmigen
emily has joined #nmigen
<
zignig>
awygle: what does sop and eop do ?
<
awygle>
zignig: "start of packet" and "end of packet"
<
zignig>
ah coolies. thanks.
_whitelogger has joined #nmigen
_whitelogger has joined #nmigen
_whitelogger has joined #nmigen
Asu has joined #nmigen
_whitelogger has joined #nmigen
<
ZirconiumX>
peepsalot: no, unfortunately
<
ZirconiumX>
You need to request them in a loop
<
peepsalot>
my 8bit blinky is working! :D
<
peepsalot>
it really is like magic
<
peepsalot>
although, is it supposed to just stop after running for a bit?
<
peepsalot>
a watchdog timeout or something?
<
Degi>
When I conditionally set a signal to something, will it automatically return to its reset value when the condition is false?
<
_whitenotifier-3>
[nmigen] mszep commented on issue #327: pysim: option to capture simulation output in a python object -
https://git.io/Jvgrc
<
samlittlewood>
Degi: combinatorial? yes.
<
Degi>
Hm how about synchronous? I guess then it'll stay at the value it is set to?
<
peepsalot>
really weird, it seems to be continuing much longer the 3rd or 4th time i programmed it, hasn't stopped this time
<
Sarayan>
Damn, I need to stop typing "when" instead of "with"
<
Sarayan>
Nope, I don't know how to implement this thing, damn
<
Sarayan>
looks like I can't read a ram in less than 3 cycles, great
_franck_ has quit [Remote host closed the connection]
<
samlittlewood>
Degi: yes - for synchronous, (but that new value will only be seen by further logic on the next cycle)
Degi has quit [Ping timeout: 255 seconds]
Degi has joined #nmigen
<
Sarayan>
what is a synchronous, transparent ram? What does transparent actually mean?
<
daveshah>
Transparent means that if a read and write happen in the same cycle, the read data is the new written data rather than the previous data
<
daveshah>
aka read after write
<
daveshah>
From a circuit point of view, imagine the register being on the address input rather than on the read data output
<
Degi>
Is it possible to change the sync clock signal of one submodule?
<
Sarayan>
ah thanks
<
Sarayan>
there no way to tell "I won't read and write at the same time ever"?
<
daveshah>
Don't think so, although if you don't care about that case then non-transparent is always a better choice
<
Degi>
If I want to use a module using the sync domain in two different domains, is there some way to do that without rewriting the module?
<
Sarayan>
I'm surprised domain and transparency is a property of the port and not the memory itself
<
Sarayan>
I suspect it makes zero sense to have these different
<
Degi>
Hm probably true. It could maybe be used to reduce power consumption, though otherwise I guess sync could be run at the highest used frequency
<
Sarayan>
I don't think there's a fpga which would be happy to have different modes
<
Sarayan>
and a CDC at the access ports of a ram in an asic,
*ouch*
<
Sarayan>
if I m.d.sync += ram_read_port.addr.eq(...) at time t, I'll have the data in .data at t+2, right?
<
Degi>
Hmm IIRC according to the ecp5 datasheets, yes
<
Sarayan>
at t+1 the address port is set, at t+2 you get the data, and if you latch it you have it outside at t+3
<
Degi>
Nice, I wrote a test for a FIFO... Lets see how many MHz it can do
<
Degi>
Is it a bad idea to clock sync out of spec? I've only done that with separate clock domains before...
Sarayan has quit [Ping timeout: 272 seconds]
Sarayan has joined #nmigen
Asuu has joined #nmigen
Asu has quit [Ping timeout: 240 seconds]
<
awygle>
Degi: you want DomainRenamer
<
awygle>
to change a module using sync to use something else without rewriting
Asuu has quit [Remote host closed the connection]
<
_whitenotifier-3>
[nmigen] whitequark commented on issue #327: pysim: option to capture simulation output in a python object -
https://git.io/JvgS0