josi7 has quit [Ping timeout: 240 seconds]
jacob| has joined #glasgow
_whitelogger has joined #glasgow
_whitelogger has joined #glasgow
_whitelogger has joined #glasgow
sl18ut has joined #glasgow
sl18ut has quit [Quit: Textual IRC Client: www.textualapp.com]
_whitelogger has joined #glasgow
craigo has quit [Ping timeout: 265 seconds]
_whitelogger has joined #glasgow
<_whitenotifier> [glasgow] whitequark synchronize pull request #167: applet.sensor.ina260: add applet for the INA260 I2C power monitoring IC - https://git.io/JeCZS
<_whitenotifier> [glasgow] whitequark closed pull request #167: applet.sensor.ina260: add applet for the INA260 I2C power monitoring IC - https://git.io/JeCZS
<_whitenotifier> [GlasgowEmbedded/glasgow] whitequark pushed 1 commit to master [+1/-0/±1] https://git.io/JeC8i
<_whitenotifier> [GlasgowEmbedded/glasgow] electroniceel 8374131 - applet.sensor.ina260: add applet for the INA260 I2C power monitoring IC.
<_whitenotifier> [glasgow] whitequark commented on pull request #167: applet.sensor.ina260: add applet for the INA260 I2C power monitoring IC - https://git.io/JeC8P
<_whitenotifier> [glasgow] Error. The Travis CI build could not complete due to an error - https://travis-ci.org/GlasgowEmbedded/glasgow/builds/594143046?utm_source=github_status&utm_medium=notification
<_whitenotifier> [glasgow] whitequark reviewed pull request #166 commit - https://git.io/JeC8y
<_whitenotifier> [glasgow] whitequark reviewed pull request #166 commit - https://git.io/JeC8S
<_whitenotifier> [glasgow] whitequark reviewed pull request #166 commit - https://git.io/JeC8H
<whitequark> marcan: currently thinking if maybe we should get rid of two-interface mode from the firmware entirely
<whitequark> one problem is that the windows kmdf usb target can't switch USB configurations, which is idiotic but we're stuck with it
<whitequark> so if the default configuration is 1IF, then we get performance but can only ever run one applet
<whitequark> and if the default configuration is 2IF, we can run up to 2 applets (or applet+analyzer) but it's slower
<whitequark> by like 10 MB/s, and no longer saturates USB
<whitequark> another problem is that having two completely different ways to packetize stuff is hard to test etc
<whitequark> so i'm thinking, maybe we should get rid of two configurations, only ever have two FIFOs, and use your idea with 1st byte of packet as discriminant
<whitequark> this makes exchanging 511-byte packets inefficient, but i think that's fine
<whitequark> what worries me more is that suppose you have two applets, filling their respective FIFOs at 1/2 line rate
<whitequark> i can't come up with a scheduling scheme that can result in filling the USB buffers at 1/1 line rate
<whitequark> e.g. if the applets alternate by spewing 256 bytes and doing nothing for the next 300-400 cycles
<whitequark> the only way i can imagine this working out well if the HWM is 512 bytes in the first place, for streaming IN FIFOs
<whitequark> this means that the smallest streaming IN FIFO buffer size is 1024 bytes
<whitequark> cc ktemkin
<_whitenotifier> [GlasgowEmbedded/glasgow] whitequark pushed 1 commit to master [+0/-0/±1] https://git.io/JeC8p
<_whitenotifier> [GlasgowEmbedded/glasgow] whitequark 580ccbc - firmware: fix pipe names to match software.
<_whitenotifier> [glasgow] electroniceel reviewed pull request #166 commit - https://git.io/JeCB5
<_whitenotifier> [glasgow] electroniceel reviewed pull request #166 commit - https://git.io/JeCBd
<_whitenotifier> [glasgow] electroniceel reviewed pull request #166 commit - https://git.io/JeCBb
<_whitenotifier> [glasgow] electroniceel commented on pull request #167: applet.sensor.ina260: add applet for the INA260 I2C power monitoring IC - https://git.io/JeCBN
<_whitenotifier> [glasgow] whitequark reviewed pull request #166 commit - https://git.io/JeCBx
<_whitenotifier> [glasgow] whitequark reviewed pull request #166 commit - https://git.io/JeCBj
<_whitenotifier> [glasgow] electroniceel reviewed pull request #166 commit - https://git.io/JeCRf
<electronic_eel> whitequark: thanks for the invite. I guess you want me to continue to work with pull requests for anything but uncontroversial stuff, like archive-additions and such?
<_whitenotifier> [glasgow] whitequark reviewed pull request #166 commit - https://git.io/JeCRT
<whitequark> electronic_eel: yeah
<_whitenotifier> [glasgow] electroniceel reviewed pull request #166 commit - https://git.io/JeCRI
<_whitenotifier> [glasgow] whitequark reviewed pull request #166 commit - https://git.io/JeCRq
<_whitenotifier> [glasgow] electroniceel reviewed pull request #166 commit - https://git.io/JeCRs
<electronic_eel> whitequark: about the usb interface stuff you wrote above - will the 1st byte of packet always be set, or just if there are actually more applets in the gateware?
<electronic_eel> set to the applet number I mean
<electronic_eel> because you said you wanted to support direct-to-gateware interfaces on the host, like for supporting other programs like sigrok, openocd and such
<electronic_eel> these would need to know the correct applet id and also actually add it to all urbs
<_whitenotifier> [glasgow] whitequark reviewed pull request #166 commit - https://git.io/JeCRC
<whitequark> always set
<whitequark> just to make sure there are fewer configurations
<_whitenotifier> [glasgow] electroniceel reviewed pull request #166 commit - https://git.io/JeCRE
<electronic_eel> but how does an external program find out the correct applet it? do you need to set it as parameter there?
<electronic_eel> id I mean, not it
<whitequark> i don't know
<whitequark> the same mechanism that communicates applet parameters
<whitequark> which we don't have yet
<electronic_eel> maybe a control request that responds with a descriptor table?
<electronic_eel> or am I thinking too complicated here?
<electronic_eel> a descriptor table will have to be really small though, we don't have much memory to waste
<whitequark> yes
<whitequark> that is the challenge here
<whitequark> there are something like 4k free in firmware
<whitequark> maybe it can be optimized more
<whitequark> by changing functions to macros for example
<whitequark> fucking 8051
<electronic_eel> we have to add the interface to the internal i2c for the test jig to work, also the addon interface for revD
<electronic_eel> so I wouldn't want to waste the 4k
<electronic_eel> we could store the descriptor table on the host filesystem
<electronic_eel> indexed by bitstream id or something like that
<whitequark> i don't think that is any better than running the glasgow cli as a proxy
<electronic_eel> ^ which is something you don't like
<electronic_eel> I think the cli proxy isn't all that bad
<electronic_eel> we could make changes to the interface, like adding ids in the first byte or something, without the other programs knowing
<electronic_eel> also the other programs don't have to care if glasgow is connected via usb or ip
<whitequark> yes
<electronic_eel> biggest downside I see is speed on revE
<whitequark> speed on revE?
<whitequark> why?
<whitequark> 11:22 < electronic_eel> I think the cli proxy isn't all that bad
<whitequark> yeah, i'm thinking the proxy would have the same itnerface as revE over IP
<whitequark> in fact
<electronic_eel> the proxy will have to process the packets, that adds latency, buffering and all that. with a usb3 ss interface that matters
<whitequark> it doesnt even have to be strictly in python
<whitequark> it could be a rust thing
<whitequark> on revE the USB interface will be solely CDC Ethernet
<whitequark> well, maybe CDC-Ethernet and RNDIS or w/e the combination needed to support three OSes
<electronic_eel> can you get a ss interface saturated with CDC ethernet without using kernel drivers for networking?
<whitequark> why would you not use kernel drivers?
<electronic_eel> routing, firewalls, ip conflicts,...
<electronic_eel> security policy forbidding usb cdc ethernet
<whitequark> it would be ipv6-only and use exclusively link local addresses
<electronic_eel> (usb ethernet is a very common attack vector on locked win pcs)
<whitequark> that solves routing, firewalls, and ip conflicts
<whitequark> if your security policy prohibits cdc ethernet it will also prohibit winusb
<whitequark> also: not my problem lol
<electronic_eel> getting the usb hs saturated with the fx2 took some effort, fx2-side and in libfx2
<whitequark> did it take any fx2-side effort?
<electronic_eel> how is that with fx3, is it optimized for cdc ethernet?
<electronic_eel> getting ss saturated is much more complex i guess, with lots of buffers to be filled and so on
<electronic_eel> does the fx3 have the means for that?
<electronic_eel> or can it only saturate the link if you use a custom, adapted protocol?
<whitequark> i don't understand the question
<whitequark> fx3 also gives you a fifo
<whitequark> 32-bit wide
<whitequark> at 100 MHz
<whitequark> so you can do 3200 Gbps, which is less than USB3 bandwidth
<electronic_eel> so 3200 is the limit?
<whitequark> yeah
<whitequark> i dont' see why you couldn't do 3200 Gbps of Ethernet traffic
<whitequark> er
<whitequark> 3200 Mbps
<electronic_eel> i actually haven't looked at the fx3 datasheet for some time
<electronic_eel> but i vaguely remember that the give you some sdk and tell you to stick to that because otherwise it will be hard to get anywhere near the specced speed
<whitequark> i didn't look at it super in depth
<whitequark> no
<whitequark> oh
<whitequark> wait, really?
<whitequark> can you link to that?
<electronic_eel> as i said "vaguely remember"
<whitequark> i know there is an sdk
<whitequark> but they give you register maps too
<whitequark> so i'll write libfx3 ofc
<electronic_eel> yes, registers are provided. but i don't know how hard it will be to get libfx3 to perform
<electronic_eel> there might be some problem hidden in there t
jim123_456 has quit [Quit: leaving]
<electronic_eel> that makes it hard to get the performance when sticking to cdc ethernet protocol
<_whitenotifier> [glasgow] whitequark reviewed pull request #166 commit - https://git.io/JeC0Y
<whitequark> if it gives me at least 1 Gbps I'm fine
<whitequark> since the other option is native 1 GbE
<whitequark> and any applet should aim for the lowest of two
<whitequark> well... 2 Gbps
<whitequark> since it is half duplex
<whitequark> and Ethernet is full duplex
<electronic_eel> when I use revE, I'd want full throughput, like a really fast logic analyzer
<electronic_eel> so the applets should support both
<whitequark> that is different
<whitequark> i am saying what the criteria for success are
<whitequark> so any applet should not expect that it CAN use more than 1000 Mbps either direction
<whitequark> however, it should also TRY to do it on USB
<electronic_eel> ok. but back to interfacing other programs
<electronic_eel> I think you are right that the proxy doesn't have to be python, so we could solve speed / latency issues by moving to rust or similar
<electronic_eel> a separate proxy program would also solve software stack dependency issues for hosts that just want to access one kind of gateware
<whitequark> yeahyes
<whitequark> er
<electronic_eel> so what are the downsides of a cli proxy?
<electronic_eel> some people don't like to call such a proxy for example when running gdb over openocd
<whitequark> people dislike that idea
<whitequark> yes
<electronic_eel> can we live with that disklike?
<whitequark> i don't know. i'm inclined to insist on using a cli proxy
<electronic_eel> i think that is reasonable.
<whitequark> marcan disagreed iirc
<electronic_eel> i think the most important thing is that we don't have to commit to a fixed interface between gateware and host then
<whitequark> yeah
<electronic_eel> stuff like adding the applet id would be possible to add or modify later
JJJollyjim has quit [Write error: Connection reset by peer]
fridtjof[m] has quit [Write error: Connection reset by peer]
chocol4te has quit [Read error: Connection reset by peer]
disasm[m] has quit [Write error: Connection reset by peer]
jschievink has quit [Read error: Connection reset by peer]
nrossi has quit [Read error: Connection reset by peer]
cyrillu[m] has quit [Remote host closed the connection]
<electronic_eel> but getting programs like openocd or sigrok to change their interfaces will be very hard
<whitequark> yes
<electronic_eel> so let's see what marcan says
chocol4te has joined #glasgow
disasm[m] has joined #glasgow
fridtjof[m] has joined #glasgow
JJJollyjim has joined #glasgow
nrossi has joined #glasgow
cyrillu[m] has joined #glasgow
jschievink has joined #glasgow
Isuru has joined #glasgow
Isuru has quit [Remote host closed the connection]
<_whitenotifier> [glasgow] electroniceel synchronize pull request #166: applet.interface.i2c_master: add "scan" command - https://git.io/JecjH
<marcan> whitequark / electronic_eel: tldr?
<marcan> given the current architecture I think it doesn't make a whole lot of sense to commit to a fixed protocol
<marcan> I'm fine with separate-process proxying as long as it doesn't become a performance problem
<marcan> this might require some rethinking of the software architecture though
<marcan> e.g. doing per-applet protocol management shenanigans in cython or rust or whatever
<marcan> the current architecture has a bunch of layers in the fifo stuff that make everything nice and buffered, but once you start getting into high-bandwidth applets you're going to want to short circuit a lot of that
<marcan> I guess for large packets the current solution is fime for high-speed USB, but going beyond that is going to be a problem
<whitequark> marcan: i'm unconvinced it'll become a problem
<whitequark> in fact, i'm quite definitely against providing the ability to short-circuit fx2crossbar
<marcan> I mean at the software side
<whitequark> whether it makes sense to do this for tcpv6 (and so drop down to udpv6 instead) is to be seen, probably yes
<whitequark> hm
<whitequark> but the software side complexity is what makes the current code fast
<whitequark> that's like its only purpose
<marcan> what I'm saying is that ultimately python is limited in how much $stuff you can do on the software side of things
<marcan> and that at some point we're going to want to support something faster
<marcan> we have this problem with openvizsla
<marcan> it's horridly bottlenecked on parsing USB packets in python
<whitequark> ohhh i see
<whitequark> you mean the specific demux implementation in python
<whitequark> not in general
<marcan> and we're now talking about exporting the raw datastream and there is a bunch of discussion of pcap formats
<marcan> but that also means the python at least needs to repacketize
<marcan> and I'm not even sure if it can do that at line rate
<marcan> yes
<whitequark> ok
<whitequark> that makes sense
<whitequark> i think rust-demux would work well
<marcan> yeah
<marcan> basically I'm fine with moving a bunch of the data-munging to rust
<whitequark> not moving
<whitequark> duplicating
<marcan> ah
<marcan> sure
<marcan> how would that integrate?
<whitequark> there would be some way to specify a remote device
<whitequark> which we need anyway, btw
<whitequark> it would probably use a single control port and a bunch of data ports, per applet
<marcan> sure
<marcan> anyway, sounds like we're mostly on the same page here so I'm going to go back to cleaning up my living room, at least to the point where they can deliver the washing machine tomorrow
<whitequark> ack
<marcan> I have... a bunch of related deadlines this week.
<whitequark> good luck
<_whitenotifier> [glasgow] whitequark reviewed pull request #166 commit - https://git.io/JeCuq
kerel has joined #glasgow
<_whitenotifier> [glasgow] electroniceel reviewed pull request #166 commit - https://git.io/JeCz3
craigo has joined #glasgow
<_whitenotifier> [glasgow] whitequark closed pull request #166: applet.interface.i2c_master: add "scan" command - https://git.io/JecjH
<_whitenotifier> [GlasgowEmbedded/glasgow] whitequark pushed 2 commits to master [+0/-0/±2] https://git.io/JeCgi
<_whitenotifier> [GlasgowEmbedded/glasgow] electroniceel 41f29ae - applet.interface.i2c_master: replace "scan-read" and "scan-write" commands with "scan"
<_whitenotifier> [GlasgowEmbedded/glasgow] electroniceel 89c5c05 - applet.interface.i2c_master: move scan command from interact to I2CMasterInterface
<_whitenotifier> [glasgow] whitequark commented on pull request #166: applet.interface.i2c_master: add "scan" command - https://git.io/JeCgP
<_whitenotifier> [glasgow] electroniceel commented on pull request #166: applet.interface.i2c_master: add "scan" command - https://git.io/JeCgp
<_whitenotifier> [glasgow] whitequark commented on pull request #166: applet.interface.i2c_master: add "scan" command - https://git.io/JeCgj
<_whitenotifier> [glasgow] electroniceel commented on pull request #166: applet.interface.i2c_master: add "scan" command - https://git.io/JeC2v
<_whitenotifier> [glasgow] whitequark commented on pull request #166: applet.interface.i2c_master: add "scan" command - https://git.io/JeC2f
<_whitenotifier> [glasgow] electroniceel commented on pull request #166: applet.interface.i2c_master: add "scan" command - https://git.io/JeC2I
<_whitenotifier> [glasgow] electroniceel opened pull request #168: applet.interface.i2c_master: do write scanning before read scanning t… - https://git.io/JeC2L
<_whitenotifier> [glasgow] whitequark reviewed pull request #168 commit - https://git.io/JeC2g
<_whitenotifier> [glasgow] electroniceel synchronize pull request #168: applet.interface.i2c_master: do write scanning before read scanning t… - https://git.io/JeC2L
<_whitenotifier> [glasgow] whitequark closed pull request #168: applet.interface.i2c_master: do write scanning before read scanning t… - https://git.io/JeC2L
<_whitenotifier> [GlasgowEmbedded/glasgow] whitequark pushed 1 commit to master [+0/-0/±1] https://git.io/JeC2S
<_whitenotifier> [GlasgowEmbedded/glasgow] electroniceel 9d7e113 - applet.interface.i2c_master: do write scanning before read scanning to reduce possible side-effects
ExeciN has joined #glasgow
carl0s has joined #glasgow
<ar> whitequark: sorry for a bit of an offtopic here, but do you take submissions for powerlinesinanime somewhere?
<whitequark> there's a "submission" link on the tumblr
<ar> oh
<ar> i guess i'm selectively blind
<_whitenotifier> [glasgow] whitequark opened issue #169: revD minispec - https://git.io/JeCVl
<_whitenotifier> [glasgow] electroniceel commented on issue #169: revD minispec - https://git.io/JeCVr
<_whitenotifier> [glasgow] whitequark commented on issue #169: revD minispec - https://git.io/JeCV6
<_whitenotifier> [glasgow] electroniceel commented on issue #169: revD minispec - https://git.io/JeCVD
<_whitenotifier> [glasgow] whitequark commented on issue #169: revD minispec - https://git.io/JeCVF
<_whitenotifier> [glasgow] electroniceel commented on issue #169: revD minispec - https://git.io/JeCVN
<_whitenotifier> [glasgow] whitequark commented on issue #169: revD minispec - https://git.io/JeCwU
<_whitenotifier> [glasgow] whitequark commented on issue #169: revD minispec - https://git.io/JeCwT
<_whitenotifier> [glasgow] whitequark commented on issue #169: revD minispec - https://git.io/JeCwk
<_whitenotifier> [glasgow] electroniceel commented on issue #169: revD minispec - https://git.io/JeCwL
<_whitenotifier> [glasgow] whitequark commented on issue #169: revD minispec - https://git.io/JeCwt
JimGM0UIN has joined #glasgow
<_whitenotifier> [glasgow] whitequark commented on issue #169: revD minispec - https://git.io/JeCwq
<_whitenotifier> [glasgow] electroniceel commented on issue #169: revD minispec - https://git.io/JeCw3
<_whitenotifier> [glasgow] whitequark commented on issue #169: revD minispec - https://git.io/JeCwc
<_whitenotifier> [glasgow] electroniceel commented on issue #169: revD minispec - https://git.io/JeCw4
carl0s has quit [Remote host closed the connection]
<_whitenotifier> [glasgow] whitequark commented on issue #169: revD minispec - https://git.io/JeCwz
<_whitenotifier> [glasgow] electroniceel commented on issue #169: revD minispec - https://git.io/JeCwg
<_whitenotifier> [glasgow] whitequark commented on issue #169: revD minispec - https://git.io/JeCwb
<_whitenotifier> [glasgow] electroniceel commented on issue #169: revD minispec - https://git.io/JeCrv
<_whitenotifier> [glasgow] whitequark commented on issue #169: revD minispec - https://git.io/JeCrf
umarcor has quit [Read error: Connection reset by peer]
umarcor has joined #glasgow
<_whitenotifier> [glasgow] electroniceel commented on issue #169: revD minispec - https://git.io/JeCrG
<_whitenotifier> [glasgow] whitequark commented on issue #169: revD minispec - https://git.io/JeCrn
<electronic_eel> whitequark: since we are talking revD - have you considered using an ecp5+dram on revD, but keeping the fx2?
<electronic_eel> and some lvds connector, so we could create things like a gigE addon and start developing the ip connection for revE this way?
<whitequark> have not, I think that would be a bit too risky
<electronic_eel> but there are several applications that are currently limited by short-term-buffering speed
<whitequark> wouldn't a PSRAM solve that easier?
<electronic_eel> usb stuff like the openvizsla, ethernet decoding, the tracing that was posted some weeks ago,...
<electronic_eel> does the ice40 have enough power to do more sophisticated compression
<electronic_eel> and psram is very limited in comparison to stuff like ddr3l
<whitequark> the primary use case for revD is old parallel interfaces
<electronic_eel> could also be extended a bit with one lvds port
<electronic_eel> you mentioned risk. I think revE is much riskier, since we need to develop fx3 and ip connection in one go
<electronic_eel> and ecp5
<electronic_eel> this way we could start with just ecp5 and put the ethernet stuff on an addon for revD to start developing on it
<whitequark> the idea for revD was to spend as much effort on it as possible, ideally getting revD0 into production
<whitequark> and focus on revE instead
<whitequark> for revE, the dev platform is versa-ecp5 + fx3 devkit
<whitequark> so i could begin developing it right now if i wanted
<whitequark> it's actually depending more on nmigen than any hardware
<whitequark> i don't see the fx3 interface as particularly complex
<whitequark> the ip stack certainly is
<whitequark> in fact, most of the ip stack will be developed solely in sim
<electronic_eel> just sleep on it (does that work as phrase in english as it does in german?)
<electronic_eel> was just an idea
<whitequark> i've considered it multiple times before
<electronic_eel> I prefer to not do too many steps at once in development, even if there is stuff like devboards an so on
<electronic_eel> I can't really judge the risk of switching to ecp5
<whitequark> i partially agree
<whitequark> i would really like to avoid having two toolchains instead of one, for example
<electronic_eel> it is just that I see them being used by like Greg Davill
<whitequark> ecp5 toolchain is also very very expensive to ship
<whitequark> since it's like half a gig of code iirc
<electronic_eel> you mean nextpnr?
<whitequark> yeah
<daveshah> It shouldn't be that much bigger than iCE40, I'd have thought
<daveshah> But the two combined certainly add up
<electronic_eel> ^ there is the expert
<daveshah> One concern would be getting the fx2 interface reliable again with different IO hardware etc
<whitequark> yeah, that bothers me
<whitequark> ecp5 is more flexible here
<whitequark> there is also the issue of applets instantiating ice40-specific logic
<whitequark> which can make sense sometimes, like for PLLs
<whitequark> i really do think revD being almost entirely layout changes is a good idea
<whitequark> speaking of which
<whitequark> where the fuck are we going to find the reset line for the i2c mux :(
ExeciN has quit [Quit: so long king Bowser]
<electronic_eel> either one more io expander or the leds like ktemkin suggested
<whitequark> probably leds :(
<whitequark> i guess the FX2 LED is a perfect candidate?
<whitequark> always high
<electronic_eel> yes
<whitequark> attn: emily
ExeciN has joined #glasgow
<whitequark> if you thought putting ice firmware in fx2 flash was gross...
<electronic_eel> we could also add the spi flash and mux it with the i2c reset to make it more fun
<whitequark> no.
<whitequark> i absolutely refuse.
<electronic_eel> oh come on
<whitequark> i mean it doesn't even win us anything
<whitequark> maybe slightly faster configuration from nvm?
<whitequark> but that's not even common
<electronic_eel> a big spi flash could be used from gateware (or boneless) to read data from in a setup without host
<whitequark> if we can stuff a PSRAM connected to FPGA, we can stuff an SPI flash using 1 more FPGA ball
<whitequark> and we have way more than 1
<whitequark> the PSRAM would be either QSPI or HyperRAM
<whitequark> i'm not sure this is an especially important use case
<whitequark> but i'm not opposed to adding a DNP SO-8 footprint at least
<electronic_eel> yeah, if we have enough space that would be nice
<whitequark> we couldn't port this back to revC though
<_whitenotifier> [glasgow] electroniceel commented on issue #169: revD minispec - https://git.io/JeCot
<electronic_eel> no, I don't think there is enough space and balls left on revC
<electronic_eel> but if you really wanted, you could maybe abuse the lvds port and cook up some special addon board for it
<whitequark> yeah
<whitequark> i guess it's not really abuse
<whitequark> because the lvds port is just gpios with optional comparators
<electronic_eel> does the bitstream for the iCE40HX8k always have the same size or does it depend on the package?
<whitequark> same size
<whitequark> there are only two hx dice iirc
<whitequark> 1k and 8k
<electronic_eel> yeah, they won't respin the die. but there might be some hard internal reconfiguration which changes.
<electronic_eel> some manufacturers leave the dies as they are and you can use whatever functions are on them - like the stm32s
<electronic_eel> other manufacturers have a lot of hard fuses that change how the die behaves. ti does this with some of their processors
<whitequark> nope, they are totally identical
<electronic_eel> so you can actually use 8K luts on the LP4K too?
<electronic_eel> or HX4K
<whitequark> yes
<whitequark> up3k too
<whitequark> in fact those are purely package options
<whitequark> and nmigen has to add special code to remap the names back to the dice
<whitequark> which totally exposes this situation
<electronic_eel> yeah, on the stm32 you can also find this out by looking at the die ids. They are not in the datasheets, but in some header files.
<sorear> doesn’t # of initialized brams affect things
<electronic_eel> sorear: I think yes. But I was more concerned about if the size increases when we use the BG256 package on revD
<electronic_eel> that would have meant considering another eeprom/flash
<electronic_eel> but since the size is the same, we can keep our dual eeprom hack,
<whitequark> yes, reusing the exact same fpga die is another way to lower risk
craigo has quit [Ping timeout: 265 seconds]
craigo has joined #glasgow