ChanServ changed the topic of #nmigen to: nMigen hardware description language · code at https://github.com/nmigen · logs at https://freenode.irclog.whitequark.org/nmigen
Degi has joined #nmigen
Vinalon has joined #nmigen
Degi has quit [Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in]
Degi has joined #nmigen
Degi_ has joined #nmigen
Vinalon has quit [Remote host closed the connection]
Degi has quit [Ping timeout: 246 seconds]
Degi_ is now known as Degi
Vinalon has joined #nmigen
Vinalon has quit [Ping timeout: 240 seconds]
<cr1901_modern> whitequark: Dunno why I thought of this tonight, but some misoc (sic)-based designs (artiq) have an interrupt and associated hardware called a "mailbox". What what exactly _is_ a mailbox, and will nmigen have an IP for it?
<whitequark> cr1901_modern: single element FIFO, more or less
<cr1901_modern> ahh
<awygle> compare/contrast with "doorbell" :p
<cr1901_modern> Yea, there's also a "doorbell" identifier in said designs w/ mailbox
<awygle> the doorbell is what you ring after you fill up the mailbox
<cr1901_modern> .oO (They only ever ring the doorbell for a package, that they don't even put in the mailbox. The jerks!)
<whitequark> lol
proteus-guy has quit [Read error: Connection reset by peer]
proteus-guy has joined #nmigen
<cr1901_modern> I was sending a bunch of emails out tonight- I realize that I tend to "pipeline" emails like a CPU. I send them all my emails in bulk, and latency hide variable response time by acting on responses as soon as they come in.
<cr1901_modern> I thought maybe "mailbox" in the hardware sense was a latency-hiding technique.
Asu has joined #nmigen
rohitksingh has quit [Ping timeout: 260 seconds]
<_whitenotifier-3> [nmigen-boards] jchidley commented on pull request #57: Add a board file for Gnarly Grey's iCE40UP5K 'Upduino' board - https://git.io/JvDzk
Vinalon has joined #nmigen
Vinalon_ has joined #nmigen
Vinalon has quit [Read error: Connection reset by peer]
<_whitenotifier-3> [nmigen-boards] WRansohoff commented on pull request #57: Add a board file for Gnarly Grey's iCE40UP5K 'Upduino' board - https://git.io/JvDVh
Vinalon_ is now known as Vinalon
<Vinalon> Is there a recommended way to access BRAM on an iCE40? And is it the same as accessing memory resources on other types of FPGAs?
<Degi> Hm as far as I know you use a memory submodule and I think nextpnr? automatically assigns BRAM or memory to it
<Vinalon> Oh, okay; so if you set up a big Array of Signals, it'll automatically get placed into the FPGA's RAM?
<whitequark> yosys assigns a BRAM cell or a few to the memory, then nextpnr places it
<Degi> whitequark: Last time I tried, the FIFOs used 16x4 RAM blocks instead of BRAM, is that because they're faster?
<Vinalon> Oh, okay; there's a Memory class. Great, thanks!
<whitequark> Degi: I believe the rules only consider area currently, at least directly
<Degi> yosys tells me "number of memories: 0" and 1875 of TRELLIS_DPR16x4 for a 30k *8 FIFO and that doesn't look very area efficient in nextpnr.
<Degi> Lol nextpnr gui just segfaulted on route
<_whitenotifier-3> [nmigen-boards] jchidley commented on pull request #57: Add a board file for Gnarly Grey's iCE40UP5K 'Upduino' board - https://git.io/JvDor
<daveshah> Number of memories is about RTLIL memories and should always be 0 for synthesised designs whether or not BRAM is used
<daveshah> My guess is that it is becoming DPRAM instead of BRAM because it isn't finding a read flipflop
<daveshah> This decision is made by Yosys not nextpnr
<daveshah> oh, wq already said that
<Degi> Ah yes, that makes sense
<Degi> I changed it to SyncFIFOBuffered and now it shows 2 of DP16KD
<Degi> Thanks for the suggestion
<daveshah> Were you using fwft?
<daveshah> afaik that is the only case that SyncFIFO should create LUTRAM rather than BRAM
<Degi> What is fwft?
<daveshah> first word fall-through
<whitequark> fwft is the default so probably
<Degi> Oh yes it was enabled by default
<_whitenotifier-3> [nmigen-boards] jchidley edited a comment on pull request #57: Add a board file for Gnarly Grey's iCE40UP5K 'Upduino' board - https://git.io/JvDor
Vinalon has quit [Remote host closed the connection]
Vinalon has joined #nmigen
<_whitenotifier-3> [nmigen-boards] whitequark commented on pull request #57: Add a board file for Gnarly Grey's iCE40UP5K 'Upduino' board - https://git.io/JvDKs
<_whitenotifier-3> [nmigen-boards] whitequark reviewed pull request #57 commit - https://git.io/JvDKG
<_whitenotifier-3> [nmigen-soc] whitequark edited issue #6: Clarify documentation for alignment parameters to mention that it is log2 - https://git.io/JvZvM
<_whitenotifier-3> [nmigen-boards] jchidley commented on pull request #57: Add a board file for Gnarly Grey's iCE40UP5K 'Upduino' board - https://git.io/JvD62
<_whitenotifier-3> [nmigen-boards] WRansohoff commented on pull request #57: Add a board file for Gnarly Grey's iCE40UP5K 'Upduino' board - https://git.io/JvD6y
<_whitenotifier-3> [nmigen-boards] WRansohoff synchronize pull request #57: Add a board file for Gnarly Grey's iCE40UP5K 'Upduino' board - https://git.io/JvMIc
peepsalot has quit [Quit: Connection reset by peep]
peepsalot has joined #nmigen
<_whitenotifier-3> [nmigen-boards] whitequark commented on pull request #57: Add a board file for Gnarly Grey's iCE40UP5K 'Upduino' board - https://git.io/JvDM3
<_whitenotifier-3> [nmigen/nmigen] whitequark pushed 1 commit to master [+0/-0/±2] https://git.io/JvDMo
<_whitenotifier-3> [nmigen/nmigen] whitequark 2d1e12d - hdl.ast: implement abs() on values.
hikari-chan has quit [Quit: WeeChat 0.4.2]
rohitksingh has joined #nmigen
<_whitenotifier-3> [nmigen] Failure. 82.45% (+-0.28%) compared to a0d2798 - https://codecov.io/gh/nmigen/nmigen/commit/2d1e12d00ca13ce6ad92fe145beeaa74925de6ef
<_whitenotifier-3> [nmigen] Success. 100.00% of diff hit (target 82.72%) - https://codecov.io/gh/nmigen/nmigen/commit/2d1e12d00ca13ce6ad92fe145beeaa74925de6ef
<_whitenotifier-3> [nmigen] Success. 82.74% (+0.01%) compared to a0d2798 - https://codecov.io/gh/nmigen/nmigen/commit/2d1e12d00ca13ce6ad92fe145beeaa74925de6ef
<Vinalon> is there a built-in method to sign-extend Signals that don't have a signed Shape?
<whitequark> yep! signal.to_signed() will return a value that will be sign-extended
<Vinalon> oh, nice - thanks!
samlittlewood_ has joined #nmigen
Asu has quit [Quit: Konversation terminated!]
Vinalon has quit [Ping timeout: 250 seconds]
Vinalon has joined #nmigen