sb0 changed the topic of #m-labs to: ARTIQ, Migen, MiSoC, Mixxeo & other M-Labs projects :: fka #milkymist :: Logs http://irclog.whitequark.org/m-labs
hozer has quit [Ping timeout: 272 seconds]
hozer has joined #m-labs
Mon_1 has joined #m-labs
Mon_1 has quit [Client Quit]
ylamarre1 has quit [Quit: ylamarre1]
fengling has joined #m-labs
sb0 has quit [Ping timeout: 272 seconds]
mumptai has quit [Ping timeout: 272 seconds]
mumptai has joined #m-labs
fengling has quit [Ping timeout: 256 seconds]
fengling has joined #m-labs
Mon_ has joined #m-labs
Mon_ is now known as Guest48546
Guest48546 has quit [Client Quit]
sb0 has joined #m-labs
<sb0> _florent_, why are you using "Record.connect(self.dfii.master, phy.dfi)" instead of "self.dfii.master.connect(phy.dfi)" ?
fengling has quit [Quit: WeeChat 1.2]
fengling has joined #m-labs
Mon_ has joined #m-labs
Mon_ is now known as Guest56364
Guest56364 has quit [Client Quit]
sb0 has quit [Ping timeout: 250 seconds]
<_florent_> sb0: I just find more convenient to always use Record.connect inside cores because you sometimes want to connect a Sink to a Source (with the Sink acting as a Source inside the core)
<_florent_> sb0: and in this case, you cannot use Sink.connect(Source)
<_florent_> sb0: but on ControllerInjector we can use both
<GitHub70> [artiq] whitequark pushed 1 new commit to master: http://git.io/v08Ii
<GitHub70> artiq/master 1860364 whitequark: protocols.pyon: support artiq.int (fixes #188).
sb0 has joined #m-labs
<GitHub63> [artiq] whitequark pushed 1 new commit to master: http://git.io/v08tw
<GitHub63> artiq/master e755e1b whitequark: validators.escape: support arrays in multiple assignment.
<sb0> whitequark, when you're on the kc705, can you have a look at https://github.com/m-labs/artiq/issues/48 ? try with a large L. if you cannot see any problem, just close. iirc what happened before was it crashed (this has nothing to do with compiler optimization) and was due to a sdram problem that i corrected.
<sb0> whitequark, one of the SMA connectors can be used to feed the input signal... i'll bring some cables tomorrow
<whitequark> ok
<whitequark> what is 'self.pmt1'?
<sb0> ttl inout
<sb0> take the SMA one...
<sb0> others are routed to FMC and i don't have a breakout board/connector for it
sb0 has quit [Read error: Connection reset by peer]
sb0 has joined #m-labs
<sb0> with the Sink acting as a Source?
<sb0> _florent_, ^
<sb0> then we should remove Sink and Source and only use Record, no?
<sb0> (everywhere I mean)
<sb0> or rather, _Endpoint (not Record)
<_florent_> maybe, because being a Sink or a Source depends from where you are looking
<sb0> i'm thinking there's also the sdram module stuff that needs cleanup...
<sb0> and the converter...
rohitksingh has joined #m-labs
<whitequark> sb0: do you see any other loops except 'for _ in range(...)' being unrolled?
<sb0> for _ in list
<whitequark> that is not possible to unroll
<whitequark> since the list length can vary
<whitequark> or do you mean `list` would be a list literal?
<sb0> yes, literal of course
<sb0> and maybe the scan stuff, though I'm not so sure - scans are too large to be unrolled afaict
<whitequark> do you want to use the induction variable in delay expressions?
<sb0> I guess... is that difficult?
<whitequark> that is not hard to implement, but it currently isn't
<whitequark> oh, and it makes typechecking O(n) with n being trip count
<whitequark> even when there is no actual unrolling
<sb0> what is trip count?
<whitequark> the amount of times loop body is executed
<whitequark> basically, this introduces functions in the iodelay expression language
<whitequark> and... higher-order functions, even
<whitequark> let me write down an example
<whitequark> if you have a function like this: def f(n): for x in range(n): delay(x*x)
<whitequark> its delay expression would look something like this: delay(map_sum(lambda x: x*x, range(n)))
<whitequark> with map_sum defined (in python) as def map_sum(f, iter): reduce(int.__add__, map(f, iter))
<whitequark> delay expressions also now acquire types, whereas before they used to be untyped (everything is a float)
<whitequark> then, when a function is used, the n (argument) in the delay expression is substituted and the expression is folded
<whitequark> which naturally means you're evaluating it
<whitequark> which is where O(n) comes from
Mon_ has joined #m-labs
Mon_ is now known as Guest83086
<sb0> whitequark, but why are n evaluations needed when there is no unrolling?
<sb0> and when there is no unrolling, in many cases you don't even know n :)
<whitequark> hm, you are right
<whitequark> and when I am unrolling, LLVM runtime will dominate this anyway
Guest83086 has quit [Quit: This computer has gone to sleep]
<whitequark> anyway, this is not important to do now, since this is a non-invasive change to the typesystem
<whitequark> file an issue once you want it
bb-m-labs_ has joined #m-labs
bb-m-labs has quit [Ping timeout: 272 seconds]
Mon_1 has joined #m-labs
Mon_1 has quit [Quit: This computer has gone to sleep]
<GitHub176> [misoc] sbourdeauducq pushed 2 new commits to master: http://git.io/v04MV
<GitHub176> misoc/master 27a0d8a Sebastien Bourdeauducq: interconnect/stream: deprecate Source/Sink
<GitHub176> misoc/master 4ec8f35 Sebastien Bourdeauducq: integration/soc_sdram: do not call Record.connect directly
Mon_ has joined #m-labs
Mon_ is now known as Guest32166
Guest32166 has quit [Quit: This computer has gone to sleep]
sb0 has quit [Read error: Connection reset by peer]
sb0 has joined #m-labs
<sb0> this is the state-of-the-art of acpi plug-and-play: http://lxr.free-electrons.com/source/drivers/iio/imu/inv_mpu6050/inv_mpu_acpi.c#L37
<sb0> don't bother parsing that crap that is probably wrong anyway, just match the computer name
<sb0> the funny thing is this code is written by intel, who are one of the companies who committed acpi
<sb0> you can even use *mutexes* in ACPI
<sb0> I'm pretty sure there isn't a single real-world computer that uses those in a way that is both correct and useful
<larsc> the way real world ACPI works is that if the custom kernel with the custom driver (windows or linux) works, its good enough
<ysionnea1> D/win 111
<sb0> of course, there are also opcodes to convert to and from BCD :)
<sb0> omg this standard is such a toxic waste dump of shit
<larsc> designed by committee ;)
<whitequark> (mutexes) what
<sb0> or rather: sub-sub-sub-sub-sub-section
<sb0> even tax codes are better than this
<sb0> they also built "#define Zero 0" and similar junk into the standard itself, because why not
MiW has quit [Quit: changing servers]
<whitequark> sb0: oh you'll love a story i have
MiW has joined #m-labs
<whitequark> an acquaintance has bought a computer and the entire setup utility was written in ACPI DSDT
<whitequark> that's right, it had a console driver, character renderer, virtual terminal with escape codes, ...
<sb0> pretty sure there is some malware with a full TCP/IP stack in ACPI DSDT as well
<whitequark> I don't even know why would they do that, they could've just used an EFI executable
<whitequark> they have to have an interpreter in UEFI anyway
ylamarre has joined #m-labs
<larsc> probably because it woks
<whitequark> have you seen acpic? I don't even know what kind of feat it was to get that to work
<sb0> acpic?
<GitHub174> [artiq] sbourdeauducq pushed 1 new commit to master: http://git.io/v0BM5
<GitHub174> artiq/master 4362f97 Sebastien Bourdeauducq: gateware/rtio/analyzer: complete, untested
MiW has quit [Ping timeout: 240 seconds]
<larsc> any API that can be abused will be abused
<sb0> _florent_, is the FullMemoryWE workaround for the L2 cache still necessary?
ylamarre has quit [Quit: ylamarre]
MiW has joined #m-labs
Mon_ has joined #m-labs
<whitequark> sb0: the ACPI compiler. maybe it's not called acpic? anyway, by analogy with cc
<_florent_> sb0: on vivado 2015.3: yes...
rohitksingh has quit [Ping timeout: 240 seconds]
rohitksingh has joined #m-labs
rjo has quit [Quit: leaving]
rjo has joined #m-labs
sb0 has quit [Ping timeout: 256 seconds]
ylamarre has joined #m-labs
rohitksingh has quit [Quit: Leaving.]
ylamarre has quit [Ping timeout: 250 seconds]