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
sb0 has quit [Remote host closed the connection]
<rjo> using optree for multiplication it is a bit uncommon but i did like the tree implementation. it a makes the synthesizing/balancing job quite a bit easier and is very idiomatic. maybe reduce_tree(...) makes the name more pythonic.
sb0 has joined #m-labs
<sb0> rjo, do you have a strong need/opinion in favor of optree?
<sb0> nothing in migen/misoc/artiq uses it for multiplication
sb0 has quit [Ping timeout: 250 seconds]
<rjo> i would keep it. maybe change the documentation and/or the name to contrast/compare it to functools.reduce()
cr1901 has joined #m-labs
cr1901_modern has quit [Disconnected by services]
cr1901_modern has joined #m-labs
<GitHub32> [migen] sbourdeauducq pushed 5 new commits to new: http://git.io/vZEZF
<GitHub32> migen/new 714ae43 Sebastien Bourdeauducq: fhdl: remove features new simulator won't use
<GitHub32> migen/new 49ef182 Sebastien Bourdeauducq: fhdl/tools: add input lister
<GitHub32> migen/new f9849fb Sebastien Bourdeauducq: style
travis-ci has joined #m-labs
<travis-ci> m-labs/migen#79 (new - fd98621 : Sebastien Bourdeauducq): The build has errored.
travis-ci has left #m-labs [#m-labs]
cr19011 has joined #m-labs
cr1901 has quit [Ping timeout: 246 seconds]
cr19011 has quit [Ping timeout: 240 seconds]
mumptai has joined #m-labs
<cr1901_modern> Finally found the cominatorial loop in my Migen code... only took me nearly two weeks (on and off, of course). Funny, viewing waveforms didn't help this time. Simulator's display_run=True option saved the day here. So thanks whoever implemented that lol
mumptai has quit [Remote host closed the connection]
aeris has quit [Read error: Connection reset by peer]
mindrunner has quit [Quit: quit]
<terpstra> ysionneau, how much effort would it be for you if your netbsd port had to use Sv32 <http://riscv.org/spec/riscv-privileged-spec-v1.7.pdf> instead of software refill, even on an LM32?
<ysionneau> well, let me process that :)
<terpstra> it's section 4.5
<ysionneau> ah thx
mindrunner has joined #m-labs
<ysionneau> I'll get back to you on this, do you have an email address where I can contact you?
<terpstra> wesley@terpstra.ca
<terpstra> (not my work email address, please :)
<terpstra> it's definitely a bit quirky. it has 34-bit physical addresses from 32-bit virtual.. and 4MB + 4KB page mappings
mindrunner has quit [Quit: quit]
mindrunner has joined #m-labs
<ysionneau> I would say it would simplify the low level part of the code, you don't need to refill tlb anymore, you just need to update the page table in the OS and give the pointer to the HW
<ysionneau> but one would need to add support for Sv32 to qemu for instance
<ysionneau> and also to actually add support for such an mmu to lm32 :)
<ysionneau> I wonder what those 2 extra physical bits are for
<ysionneau> hmm I don't see any asid field in the pte
FabM has quit [Quit: ChatZilla 0.9.92 [Firefox 40.0.3/20150826023504]]
<ysionneau> I don't understand how the mmu knows is some pte is "active" or not for current asid/address space
<ysionneau> -is some+if some
<terpstra> i intend to use one of the high physical bits to distinguish between cacheable and uncacheable memory
<terpstra> well, i wasn't planning on backporting Sv32 to the LM32, but rather supporting LM32 on my processor which implements Sv32 :)
<terpstra> there is a CSR which says the root of the page table
<terpstra> so, you can tag the loaded PTE entries in the TLB to refer to that particular CSR value
<terpstra> ie: you don't need to actually blow away all the TLB entries, when someone updates the CSR indicating the root of the page table
<ysionneau> oh, ok it's like this
<ysionneau> with asid you could just evict tlb entries when needed, and not just save the life of global ones
<terpstra> you can still do this
<ysionneau> oh, or maybe the csr value is like the asid ?
<terpstra> yes
<terpstra> when someone writes to the CSR, assign a small tag that means that value
<terpstra> use that tag on the TLB entries
<ysionneau> I see, this is totally implementation specific, right? Programmer don't have to know this
<terpstra> maybe even index the TLB as hash(tag,virtual bits) for a bit better utilization
<terpstra> exactly
<terpstra> programmers just fill in the PTE table
<terpstra> then write to the CSR when they want a context switch
<ysionneau> yep got it
<ysionneau> sounds nice!
<terpstra> how/if the processor optimizes TLB eviction is an implementation detail
mumptai has joined #m-labs
antgreen has quit [Read error: Connection reset by peer]
antgreen has joined #m-labs
<cr1901_modern> software refill? I THINK it's self explanatory...
<cr1901_modern> whitequark: re https://twitter.com/whitequark/status/642188969426427904, Urbit may be something similar to what you're looking for from a technical point of view. >>
<cr1901_modern> Personally, any technical merit the project has IMHO is marred by the creators political views, but YMMV.
sb0 has joined #m-labs
cr1901 has joined #m-labs
cr1901 has quit [Client Quit]