sb0 changed the topic of #m-labs to: https://m-labs.hk :: Mattermost https://chat.m-labs.hk :: Logs http://irclog.whitequark.org/m-labs
rohitksingh has quit [Ping timeout: 265 seconds]
<_whitenotifier> [nmigen] whitequark commented on pull request #221: vendor.altera: use buffer primitives - https://git.io/JecG4
<_whitenotifier> [nmigen] whitequark closed pull request #221: vendor.altera: use buffer primitives - https://git.io/JesUg
<_whitenotifier> [nmigen] whitequark synchronize pull request #178: vendor.altera: add Quartus support (WIP) - https://git.io/fjbbr
<_whitenotifier> [m-labs/nmigen] whitequark pushed 1 commit to vendor.altera [+0/-0/±1] https://git.io/JecGB
<_whitenotifier> [m-labs/nmigen] ZirconiumX 29f7a3c - vendor.altera: use buffer primitives (UNTESTED)
<_whitenotifier> [nmigen] Success. Coverage not affected when comparing 9458de2...fdb9937 - https://codecov.io/gh/m-labs/nmigen/compare/9458de207927918a848330ab799d63d34dd89b79...fdb99379db2719d8af35115adc38d9b4da0d6b5c
<_whitenotifier> [nmigen] Success. The Travis CI build passed - https://travis-ci.org/m-labs/nmigen/builds/592843623?utm_source=github_status&utm_medium=notification
<_whitenotifier> [nmigen] Success. The Travis CI build passed - https://travis-ci.org/m-labs/nmigen/builds/592843623?utm_source=github_status&utm_medium=notification
<_whitenotifier> [nmigen] Success. The Travis CI build passed - https://travis-ci.org/m-labs/nmigen/builds/592843640?utm_source=github_status&utm_medium=notification
<_whitenotifier> [nmigen] Success. Coverage not affected when comparing 9458de2...29f7a3c - https://codecov.io/gh/m-labs/nmigen/compare/9458de207927918a848330ab799d63d34dd89b79...29f7a3c6182a320c3b2199e14f2b5872ea575b84
harryho has joined #m-labs
<_whitenotifier> [nmigen] Success. The Travis CI build passed - https://travis-ci.org/m-labs/nmigen/builds/592843640?utm_source=github_status&utm_medium=notification
_whitelogger has joined #m-labs
<whitequark> ZirconiumX: uhhhhh
<whitequark> it looks like i bought de0cv but got de0 (no suffix) instead
<whitequark> that still works, right?
rohitksingh has joined #m-labs
<_whitenotifier> [m-labs/nmigen] whitequark pushed 1 commit to master [+0/-0/±2] https://git.io/JecnO
<_whitenotifier> [m-labs/nmigen] whitequark 751ae33 - build.dsl: accept Pins(invert=True).
<_whitenotifier> [m-labs/nmigen-boards] whitequark pushed 1 commit to master [+0/-0/±2] https://git.io/Jecn0
<_whitenotifier> [m-labs/nmigen-boards] whitequark 2903076 - [breaking-change] Factor out "display_7seg" resource.
<_whitenotifier> [nmigen-boards] whitequark closed issue #17: Factor out resource "sevenseg". - https://git.io/fjiGs
<_whitenotifier> [m-labs/nmigen-boards] whitequark pushed 1 commit to master [+0/-0/±2] https://git.io/Jecnz
<_whitenotifier> [m-labs/nmigen-boards] whitequark 5f30a78 - [breaking-change] Factor out "display_7seg" resource.
<_whitenotifier> [m-labs/nmigen-boards] whitequark pushed 1 commit to master [+1/-0/±2] https://git.io/Jecnr
<_whitenotifier> [m-labs/nmigen-boards] whitequark e649e8b - dev.display: factor out from dev.user. NFC.
<_whitenotifier> [nmigen] Success. The Travis CI build passed - https://travis-ci.org/m-labs/nmigen/builds/592863822?utm_source=github_status&utm_medium=notification
<_whitenotifier> [nmigen] Success. 82.31% (+0%) compared to 9458de2 - https://codecov.io/gh/m-labs/nmigen/commit/751ae33fe1a9b34ae9e17e3558fc54df8f74f055
<_whitenotifier> [nmigen] Success. 100% of diff hit (target 82.31%) - https://codecov.io/gh/m-labs/nmigen/commit/751ae33fe1a9b34ae9e17e3558fc54df8f74f055
<mtrbot-ml_> [mattermost] <sb10q> @hartytp @astro OK to send the thermostat board back to Oxford?
<_whitenotifier> [nmigen-boards] whitequark commented on issue #21: Refactor awkward use of attributes - https://git.io/Jecco
<_whitenotifier> [nmigen-boards] whitequark closed issue #21: Refactor awkward use of attributes - https://git.io/fjizT
rohitksingh has quit [Ping timeout: 245 seconds]
rohitksingh has joined #m-labs
mumptai has joined #m-labs
sb0 has joined #m-labs
<ZirconiumX> whitequark: DE0 without the CV is Cyclone III based. It's not even supported by Quartus anymore.
<ZirconiumX> But just to check, could you read the part number off the chip?
<whitequark> well i just made a board file for it then
<whitequark> ep3cf16f484c6n
<ZirconiumX> Yep, EP3 is Cyclone III
<whitequark> ;w;
<whitequark> ok well i actually downloaded quartus 13.1
<ZirconiumX> With a whopping 15k LEs
<whitequark> how do i make a .sof file btw?
<whitequark> or whatever it is quartus_pgm will eat
<ZirconiumX> To make a .sof you remove the "GENERATE_RBF_FILE" line in the .qsf
<whitequark> uh. can it make both?
<ZirconiumX> ... I'd have to check
<ZirconiumX> I'm running on slight sleep deprivation
<ZirconiumX> whitequark: Yeah it builds a .sof as well as a .rbf with GENERATE_RBF_FILE on
<whitequark> ah cool
<ZirconiumX> I'm curious how well the board will perform compared to e.g. Glasgow, because it's comparatively pretty old, but it was a good chip for its time
rohitksingh has quit [Ping timeout: 245 seconds]
<ZirconiumX> whitequark: also there's an annoying minor typo in my branch that you squashed; line 370 has an else that is somehow one space less than the if it matches
<whitequark> yeah, i fixed it locally
<whitequark> by Glasgow you mean HX8K?
rohitksingh has joined #m-labs
<ZirconiumX> Yep
<ZirconiumX> iCE40 in general I guess
<whitequark> ZirconiumX: wheeeeee it's blinking
<ZirconiumX> Woo
<ZirconiumX> But the blinking was essentially the stuff you did
<whitequark> i mean, it's the first time i ever programmed an altera device
<whitequark> i didn't actually use them before
<ZirconiumX> True, I suppose
<ZirconiumX> Did you use quartus_pgm for it?
<whitequark> yeah
<whitequark> i ran jtagd --user-start after making the appropriate udev rules
* ZirconiumX grumbles about it not working for their DE-10
<whitequark> how are you running it exactly
<whitequark> ?
<ZirconiumX> ZirconiumX: I'm running on slight sleep deprivation
<ZirconiumX> Uuuh
<ZirconiumX> I don't even have my board with me at present and it's not in my .bash_history
<ZirconiumX> The GUI programmer didn't even work, let alone the CLI one
<whitequark> i've never used quartus' gui
<_whitenotifier> [m-labs/nmigen-boards] whitequark pushed 3 commits to master [+8/-10/±16] https://git.io/JeclT
<_whitenotifier> [m-labs/nmigen-boards] whitequark b033d53 - Factor out "sd_card_{1bit,4bit,spi}" resources.
<_whitenotifier> [m-labs/nmigen-boards] whitequark c7c6370 - Reorganize resource taxonomy.
<_whitenotifier> [m-labs/nmigen-boards] whitequark 50acf4a - [breaking-change] Fix polarity of "dm" signal in "memory" resource.
<_whitenotifier> [m-labs/nmigen-boards] whitequark pushed 2 commits to master [+0/-0/±2] https://git.io/Jeclk
<_whitenotifier> [m-labs/nmigen-boards] whitequark 07156e6 - Factor out "sdram" resource.
<_whitenotifier> [m-labs/nmigen-boards] whitequark b50e52c - Factor out "nor_flash" resource.
<ZirconiumX> The windows version is called quartus_pgmw
<ZirconiumX> For its GUI version
<whitequark> i have _pgmw on windows too
<whitequark> er
<whitequark> onlinux too
futarisIRCcloud has joined #m-labs
<ZirconiumX> whitequark: if you're going to add Quartus support, could I suggest having some way of dumping ROM/RAM init files externally and emitting a $readmemh or whatever the equivalent RTLIL is?
<ZirconiumX> As we found out the hard way, Quartus doesn't like long `initial` type statements
<whitequark> ZirconiumX: that's dependent on yosys supporting it
<whitequark> there's no RTLIL for "$readmemh" and there can't really be
<whitequark> however, yosys' write_verilog can be taught to extract memory contents
<ZirconiumX> I think that would work too.
<ZirconiumX> Quartus has its own weird .mif format, but I think supports boring .hex too.
<_whitenotifier> [m-labs/nmigen-boards] whitequark pushed 2 commits to master [+1/-0/±1] https://git.io/Jec8a
<_whitenotifier> [m-labs/nmigen-boards] whitequark a8630ef - Add Terasic DE0.
<_whitenotifier> [m-labs/nmigen-boards] whitequark a5a2934 - Fix typo in SDCardResources().
<whitequark> ZirconiumX: ^
<ZirconiumX> ... If you sent something before your pointer I didn't receive it
<whitequark> er
<whitequark> 09:01 -_whitenotifier:#m-labs- [m-labs/nmigen-boards] whitequark a8630ef - Add Terasic DE0.
<whitequark> it's this.
<ZirconiumX> Oh, I have whitenotifier muted on my phone
<ZirconiumX> https://twitter.com/whitequark/status/1179665758172975109 <--- this made me laugh by the way
rohitksingh has quit [Ping timeout: 264 seconds]
<whitequark> "oops"
<whitequark> now i have 2x disk space occupied by quartus, too
<ZirconiumX> To be fair Terasic have the worst naming scheme I've ever seen
<whitequark> yeah word.
<whitequark> i feel like a surprisingly high amount of decisions in the altera ecosystem are just kind of ... really bad
<whitequark> even by fpga vendor standards
<whitequark> makes total sense that intel would buy it :p
<ZirconiumX> whitequark: It's inherent in the very fibre of Altera's being
<ZirconiumX> For example: what's the name of the primitive for instantiating a LUT?
<ZirconiumX> On the Cyclone V, it's arriav_lcell_comb; on the Cyclone IV it's fiftyfivenm_lcell_comb
<ZirconiumX> A RAM block. On the Cyclone V, it's generic_m10k; on the Cyclone IV, it's cycloneiv_ram_block
<ZirconiumX> You can't make this shit up
<whitequark> i'm sorryw hat
<whitequark> arriav_lcell_comb? on cyclone v?
<ZirconiumX> Give me a sec, and I'll demonstrate the insanity of this.
<ZirconiumX> I should point out that this has gotten bad enough that the compiler, whenever it infers RAM, doesn't infer the correct RAM block but instead the altsyncram IP core
<ZirconiumX> Which then translates into the correct-ish RAM block
<whitequark> lol
<ZirconiumX> arriav_lcell_comb, but stratixv_ram_block
<ZirconiumX> whitequark: Your computer may need an exorcism after we're done with this
<whitequark> oh it's seen much worse, trust me
<ZirconiumX> Considering this is *you* we're talking about, I don't doubt that
<ZirconiumX> wq: On a somewhat more serious note, can you port de10_nano to the resources folder that you've added?
<ZirconiumX> Another question I have: m-labs/nmigen-boards#29 (the DE-10 Nano branch) is blocked on vendor.altera, but DE0 gets merged straight into master despite having the same dependency
<whitequark> ZirconiumX: i've merged it because it's complete
<whitequark> de10nano isn't
<ZirconiumX> Guess I know what I'm working on next then
<whitequark> you still can't actually use de0 but at least i've tested it
<whitequark> actually
<whitequark> if you ported de0cv it'd help me more
<whitequark> since de0cv is what i'm going to test things on
<whitequark> once it arrives
<ZirconiumX> (tm)
<ZirconiumX> But first: breakfast
<_whitenotifier> [m-labs/nmigen-boards] whitequark pushed 1 commit to master [+0/-0/±1] https://git.io/Jec4G
<_whitenotifier> [m-labs/nmigen-boards] whitequark 66721c3 - de0: fix button polarity.
harryho has quit [Remote host closed the connection]
<_whitenotifier> [nmigen] whitequark opened issue #244: Reliable installation on Windows - https://git.io/Jec4C
<_whitenotifier> [nmigen] whitequark commented on issue #242: bitarray dependency is unfortunate - https://git.io/Jec4W
<whitequark> ZirconiumX: why tf does de0cv have the same clock buffered to 4 different banks?
<ZirconiumX> whitequark: I have no idea
<ZirconiumX> Gotta say, the user manual for the DE-0 CV is...lacking
<whitequark> lol
<ZirconiumX> Also the manuals continue to piss me off greatly by listing a made-up number of LEs
<ZirconiumX> The original Cyclone chips were LUT4 + DFF based, and this was a logic element
<ZirconiumX> Then when they moved to the LUT6 + 4xDFF adaptable logic module architecture, they continued to brand it in LEs by multiplying the number of ALMs by 2.5.
<ZirconiumX> See for example the chip in the DE-10 Nano which is branded as having 110K LEs, despite actually containing ~42K ALMs
* ZirconiumX grumbles
<whitequark> lol
<ZirconiumX> Yeah I'm slightly salty
<daveshah> Everyone does this
<daveshah> Xilinx do it too, although I think their factor is a bit smaller (1.6 ish for xc7, 2 ish for xcup)
<ZirconiumX> Lies, damned lies and FPGA LUT counts
<mtrbot-ml_> [mattermost] <sb10q> do serious FPGA programmers even read those LE/"logic cells" ratings?
<daveshah> They're a reasonable way to compare FPGAs within a family, as a monotonic value for size
<mtrbot-ml_> [mattermost] <sb10q> okay, but so is the DFF count, which corresponds to something actually present on the chip and not the result of an undocumented equation made up by marketing people
sb0 has quit [Quit: Leaving]
<mtrbot-ml_> [mattermost] <astro> @sb10q I think the thermostat can be shipped away now
<ZirconiumX> whitequark: https://puu.sh/EojkB/bb223e7d85.png
<ZirconiumX> Which parts of the seven-segment display correspond to which letters?
<whitequark> 0123456=abcdefg
<ZirconiumX> Apparently nobody could ever want to use the decimal point
<whitequark> hm?
<whitequark> dp is just dp in nmigen-boards
<ZirconiumX> It's not connected on the diagram
<ZirconiumX> Just the segments are connected, not the DP
futarisIRCcloud has quit [Quit: Connection closed for inactivity]
<whitequark> oh
<whitequark> lol
<emily> that's the double penetration indicator
<emily> sorry. i'm trying to delete it
<whitequark> lol
<_whitenotifier> [nmigen-boards] ZirconiumX opened pull request #31: Add Terasic DE0-CV - https://git.io/JecEZ
<ZirconiumX> whitequark: ^
<_whitenotifier> [nmigen-boards] ZirconiumX synchronize pull request #31: Add Terasic DE0-CV - https://git.io/JecEZ
<_whitenotifier> [nmigen-boards] whitequark reviewed pull request #31 commit - https://git.io/JecEF
<_whitenotifier> [nmigen-boards] ZirconiumX reviewed pull request #31 commit - https://git.io/JecuW
kristianpaul has quit [Quit: WeeChat 1.9.1]
kristianpaul has joined #m-labs
<_whitenotifier> [nmigen-boards] whitequark reviewed pull request #31 commit - https://git.io/JeczW
<_whitenotifier> [nmigen-boards] ZirconiumX reviewed pull request #31 commit - https://git.io/Jecz5
<_whitenotifier> [nmigen-boards] whitequark reviewed pull request #31 commit - https://git.io/Jeczj
<_whitenotifier> [nmigen-boards] whitequark reviewed pull request #31 commit - https://git.io/Jecgt
<_whitenotifier> [m-labs/nmigen-boards] whitequark pushed 1 commit to master [+1/-0/±0] https://git.io/Jecgq
<_whitenotifier> [m-labs/nmigen-boards] ZirconiumX aa5e4fb - Add Terasic DE0-CV board.
<_whitenotifier> [nmigen-boards] whitequark closed pull request #31: Add Terasic DE0-CV - https://git.io/JecEZ
<ZirconiumX> whitequark: And now the DE-10 Nano, right?
<_whitenotifier> [nmigen-boards] whitequark closed pull request #29: Add DE10-Nano - https://git.io/JeO5w
<_whitenotifier> [m-labs/nmigen-boards] whitequark deleted branch de10_nano
<whitequark> yeah
<_whitenotifier> [nmigen-boards] whitequark deleted branch de10_nano - https://git.io/fjuYk
<whitequark> i've just deleted my branch
<whitequark> since it had basically nothing useful in it
<ZirconiumX> whitequark: We should probably put the board programming snippet in nmigen.vendor.altera
<ZirconiumX> Given you got it to work
<whitequark> ZirconiumX: nop
<whitequark> not all boards will have usb blaster on it
lkcl has quit [Ping timeout: 245 seconds]
<ZirconiumX> So, one problem with the DE10 is that it's a SoC, and it's a bit difficult to tell which bits go to the FPGA and which to the ARM
<ZirconiumX> >.>
<whitequark> yeah, that's why i avoid it
bradbqc has joined #m-labs
<bradbqc> Has anyone had any issues with Xilinx licenses in NixOS? I have a kc705 eval license and I'm able to build a sample project for it through the vivado gui, but when I try to build any gateware for it (through a local hydra installation) it can't find the license. I've tried moving the license file around and setting the XILINXD_LICENSE_FILE variable
<bradbqc> but nothing has worked so far
lkcl has joined #m-labs
lkcl has quit [Ping timeout: 276 seconds]
lkcl has joined #m-labs
<ZirconiumX> whitequark: thoughts on having some way to use Verilator as an alternative simulation backend, possibly through (ab)using nmigen.build? pysim is nice, but slow, and I have no idea if the fundamental problem of "it's python" can be resolved.
<emily> i think the plan is to couple performance improvements to a new backend, yeah
<emily> perhaps you can use cocotb?
<emily> you can express simulation workflows in python the same way you can express hardware in python
<emily> and have it run with a more efficient backend
<ZirconiumX> I'm attached to nMigen because it has sane semantics, not because I'm attached to Python :P
<ZirconiumX> Looking at cocotb, it seems like you need to first generate Verilog from Python to then manipulate it from Python
mumptai has quit [Read error: Connection reset by peer]
mumptai_ has joined #m-labs
<emily> sure, but nmigen could abstract that away
<_whitenotifier> [nmigen] mithro commented on issue #242: bitarray dependency is unfortunate - https://git.io/Jec67