_whitenotifier has joined ##openfpga
<_whitenotifier> [whitequark/Glasgow] whitequark pushed 3 commits to master [+0/-0/±8] https://git.io/fpbi4
<_whitenotifier> [whitequark/Glasgow] whitequark 1c5d1be - gateware, applet: more imports cleanup. NFC.
<_whitenotifier> [whitequark/Glasgow] whitequark 1e00822 - gateware.uart: simplify. NFC.
<_whitenotifier> [whitequark/Glasgow] whitequark 9f617b2 - gateware.uart: start porting to nMigen.
<_whitenotifier> [whitequark/Glasgow] whitequark pushed 1 commit to master [+0/-0/±1] https://git.io/fpbiK
<_whitenotifier> [whitequark/Glasgow] whitequark 73e1a47 - gateware.i2c: start porting to nMigen.
_whitelogger has joined ##openfpga
jcreedon has quit [Quit: Connection closed for inactivity]
<zkms> damn, with nextpnr's --opt-timing my designs are almost hitting 90MHz, this is some good stuff!
oeuf is now known as egg|zzz|egg
<Flea86> zkms: Nice one. Which FPGA target?
<zkms> ice40 hx8k
<Flea86> Cool.. ice cold even :)
bubble_buster has quit [Ping timeout: 252 seconds]
bubble_buster has joined ##openfpga
unixb0y has quit [Ping timeout: 246 seconds]
unixb0y has joined ##openfpga
dj_pi has joined ##openfpga
<zkms> kind of want to pull out my scope and try it on real hardware >_>;
dj_pi has quit [Ping timeout: 244 seconds]
<gruetzkopf> neat
Richard_Simmons has joined ##openfpga
Bob_Dole has quit [Ping timeout: 252 seconds]
Miyu has quit [Ping timeout: 250 seconds]
catplant has joined ##openfpga
<prpplague> <zkms> kind of want to pull out my scope and try it on real hardware >_>;
<prpplague> zkms: TMI, you should keep that kind of "stuff" to yourself
pie___ has joined ##openfpga
pie___ has quit [Remote host closed the connection]
pie___ has joined ##openfpga
rohitksingh has joined ##openfpga
catplant has quit [Ping timeout: 252 seconds]
rohitksingh has quit [Ping timeout: 250 seconds]
rohitksingh has joined ##openfpga
catplant has joined ##openfpga
catplant has quit [Quit: WeeChat 2.2]
catplant has joined ##openfpga
Bike has quit [Quit: Lost terminal]
catplant has quit [Read error: Connection timed out]
catplant has joined ##openfpga
pie__ has joined ##openfpga
pie___ has quit [Remote host closed the connection]
_whitelogger_ has joined ##openfpga
oter has joined ##openfpga
oter has quit [Ping timeout: 268 seconds]
_whitelogger has joined ##openfpga
Laksen has quit [Quit: Leaving]
azonenberg_work has quit [Read error: Connection reset by peer]
azonenberg_work has joined ##openfpga
Miyu has joined ##openfpga
jevinskie has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Miyu has quit [Ping timeout: 245 seconds]
jevinskie has joined ##openfpga
Bob_Dole has joined ##openfpga
Richard_Simmons has quit [Ping timeout: 250 seconds]
_whitelogger has joined ##openfpga
Bike has joined ##openfpga
sunxi_fan has joined ##openfpga
azonenberg_work has quit [Ping timeout: 268 seconds]
Miyu has joined ##openfpga
indy has quit [Ping timeout: 250 seconds]
indy has joined ##openfpga
sunxi_fan has quit [Ping timeout: 268 seconds]
Flea86 has quit [Quit: Goodbye and thanks for all the dirty sand ;-)]
sunxi_fan has joined ##openfpga
sunxi_fan has quit [Ping timeout: 240 seconds]
miek has quit [Ping timeout: 252 seconds]
sunxi_fan has joined ##openfpga
sunxi_fan has quit [Ping timeout: 245 seconds]
sunxi_fan has joined ##openfpga
cr1901_modern1 has joined ##openfpga
cr1901_modern has quit [Ping timeout: 246 seconds]
Bob_Dole has quit [Remote host closed the connection]
cr1901_modern1 has quit [Quit: Leaving.]
cr1901_modern has joined ##openfpga
Bob_Dole has joined ##openfpga
sunxi_fan1 has joined ##openfpga
sunxi_fan1 has quit [Read error: Connection reset by peer]
sunxi_fan1 has joined ##openfpga
rohitksingh has quit [Ping timeout: 240 seconds]
rohitksingh has joined ##openfpga
sunxi_fan has quit [Ping timeout: 244 seconds]
miek has joined ##openfpga
sunxi_fan1 has quit [Ping timeout: 240 seconds]
sunxi_fan has joined ##openfpga
sunxi_fan has quit [Ping timeout: 250 seconds]
sunxi_fan has joined ##openfpga
sunxi_fan1 has joined ##openfpga
sunxi_fan has quit [Ping timeout: 250 seconds]
sunxi_fan1 has quit [Ping timeout: 245 seconds]
sunxi_fan has joined ##openfpga
Richard_Simmons has joined ##openfpga
Bob_Dole has quit [Ping timeout: 250 seconds]
<tnt> daveshah: on the ice40, is cout based on I1/I2/I3 or on I1/I2/cin
<tnt> ?
<daveshah> tnt: I1/I2/cin
<daveshah> I3 can optionally be connected to cin too
<daveshah> but this is configurable, I3 can be used as logic too if you want
<tnt> ok. I was hoping the connection to the cout logic was after that configurable mux :p
<daveshah> no
azonenberg_work has joined ##openfpga
pie__ has quit [Ping timeout: 250 seconds]
Laksen has joined ##openfpga
egg|zzz|egg is now known as egg|nomz|egg
_whitelogger has joined ##openfpga
azonenberg_work has quit [Ping timeout: 246 seconds]
Laksen has quit [Quit: Leaving]
egg|nomz|egg is now known as egg|egg
sunxi_fan has left ##openfpga [##openfpga]
s_frit has quit [Remote host closed the connection]
s_frit has joined ##openfpga
azonenberg_work has joined ##openfpga
pie__ has joined ##openfpga
<mithro> Anyone here want to help me figure out how to improve the critical path on this USB core? I don't quite understand how to read the nextpnr critical path output...
<whitequark> post it at least
<whitequark> mithro: also, use https://github.com/YosysHQ/yosys/pull/722
<daveshah> mithro: https://github.com/YosysHQ/nextpnr/pull/171 might get slightly better QoR
<daveshah> And definitely use what whitequark just posted too
<mithro> It's likely I'm doing something stupid too
<mithro> whitequark: Do you just want a post of the nextpnr output, or how to build the complete system?
<whitequark> mithro: start with a nextpnr log
* swetland kicks himself
<mithro> hey swetland
<whitequark> mithro: actually, start by rebuilding yosys with #722
<swetland> forgot the 12.1K 0402 bias resistor in my ethernet pmod kit
<whitequark> and looking at it again
<whitequark> maybe that will be enlightening
<swetland> going to cram in a 12K 0603 and hope for the best
<swetland> heya
<daveshah> Just make a tiny nick into the resistor
<daveshah> That should take the resistance slightly up :P
<mithro> whitequark: Well, here is the current output while I do that - https://gist.github.com/mithro/2cb7ae32afb239827c5303b306ab6c92
<whitequark> daveshah: have i told you the story about a company i used to interact with (very vaguely)
<whitequark> that was selling sonars
<swetland> daveshah: ha
<daveshah> whitequark: yeah
<whitequark> they calibrated every single device by having a student sit down and file down a 1206 resistor
<swetland> ahahahah
<whitequark> that isnt even in the top 5 worst things they did in production
<whitequark> which gives you an idea
<whitequark> mithro: well yes, the timing path is currently just abc giving you a finger
<qu1j0t3> is that so terrible?
<whitequark> qu1j0t3: the sonars were made for -25 °C under ice fishing
<qu1j0t3> hm.
<whitequark> and they used commercial range atmegas
<swetland> I forgot how tiny 0402s are. thank the gods for tweezers and stereo microscopes
<qu1j0t3> whitequark: i see
<whitequark> then they binned the devices by whether they survived 24 hours in a climatic chamber
<tnt> mithro: that's just yosys, not next-pnr ?
<whitequark> and literally binned about half of them which didnt
<whitequark> and still had like 90% returns
<pie__> anti-climactic chamber
<gruetzkopf> heh
<tnt> Oh nm, it was cropped
<mithro> tnt: Hrm, it seems to have truncated the log...
<swetland> iirc the industrial range mcus aren't terribly pricier are they?
azonenberg_work has quit [Ping timeout: 250 seconds]
<whitequark> swetland: they also wrote the entire firmware in assembly for an obsolete atmega
<whitequark> that was nrnd
<whitequark> when they made it
<tnt> mithro: but ... it met timing.
<whitequark> and atmel promptly stopped making it
<swetland> like not nearly enough that trying to "cut costs" like that would make any sense
<tnt> mithro: so what's your problem ?
<whitequark> swetland: the lead designer was a firm believer in russian component base
<whitequark> except the Angstrom factory is not able to makea 7805 clone that survives more than a month without failing short
<mithro> tnt: None yet, but I'm about to try and make it work on the up5k and wanted to understand better the process for figuring out how to improve it
<qu1j0t3> pie__: hehe
<whitequark> which wouldnt be so bad if they didnt put the AA battery inside the milled metal sonar probe
<whitequark> so when it died the battery wedged itself shut
<pie__> uh.
<whitequark> in the most expensive part of the device
<qu1j0t3> :/
<qu1j0t3> ok ok i'm convinced
<qu1j0t3> this should be in your book
<whitequark> they also used an audio range amplifier for the sonar probe
<whitequark> the ultrasound sonar probe
<whitequark> from sometime in the early 70s iirc
<swetland> some people exist solely that they may be a cautionary tale for others
<whitequark> another soviet part
<tnt> mithro: what device is that timing report for ?
<whitequark> it only came in DIP and the board was a double sided SMT
<whitequark> so they hired more students to bend the leads of the DIP
<mithro> tnt: 8k lp
<whitequark> and solder it as if it was SMT
<pie__> doh
<pie__> i mean besides being horribly wasteful that doesnt seem so bad
<whitequark> its a fucking cassette player amplifier
<whitequark> why the fuck are you using it for fucking ultrasound
<pie__> i was just referring to the soldering job
<whitequark> its not even a GOOD cassette player amplifier
<whitequark> you could have literally used a $0.1 TI part
<pie__> ye.
<whitequark> also the lead designer doesnt trust pick and place machines
<whitequark> so he made the whole board 1206 and bigger
<whitequark> and has students assemble them
<whitequark> the students divide roughly into two categories
<whitequark> smart and strong
<catplant> oh this shit
<whitequark> depending on what they do with components that dont fit
<pie__> O_O
<whitequark> iirc there was filing down of an smps inductor involved too
<pie__> ‏0_0
<whitequark> for some reason
<Adluc> stating that someone "doesnt trust pick and place machines" seems enough to get the image i guess :D
<pie__> O_0
<whitequark> mithro: Info: ICESTORM_LC: 5584/ 7680 72%
<pie__> do not look into future with remaining eye
<whitequark> how do you think this is going to fit into up5k
<mithro> whitequark: When I change up the SoC config I can get it down to about 3.5k
<tnt> mithro: well, you look for names you recognize and try to figure out what it corresponds to :p In your case usbsoc_usbsoc_interface_adr[3] / usb_endpointout1_outbuf_asyncfifo1_re / usb_endpointout1_outbuf_rdport_adr[7]
<catplant> oooh usb
<tnt> unfortunately the destination name is completely eaten up ...
<mithro> rebuilding Yosys and nextpnr now
<Adluc> whitequark: how did it continue?
<swetland> presumably you fold some of the LUTs. similar to how one puts a 5.25" floppy in a 3" drive
<whitequark> Adluc: i dunno
<whitequark> swetland: AAAAAAA
<qu1j0t3> whitequark: I feel I've seen the software equivalent of that project a few times
<Adluc> whitequark: is there any logic why that guy was doing such choices?
<Adluc> if any ofc
<tnt> mithro: but ... you have about 8 layer of logic. To get any change of running at 48 M in an UP5k you need to get it down to 5 at most.
<swetland> okay, time to stuff the rest of this board and see if it catches fire or not
<whitequark> Adluc: i think it was some weird form of nationalism
<whitequark> combined with
<whitequark> general uh
<whitequark> i don t know probably no logic there no
<whitequark> tnt: mithro: i'll make it even easier
<whitequark> you will never have an entire usb core running at 48 M in an UP5K
<whitequark> i could barely get a vga character generator urnning at slightly more than that
<whitequark> the best chance you have is to make a gearbox
<whitequark> that will *maybe* work
<daveshah> What concerns me more is that the previous tinyfpga core passed timing with the vendor tools and still wasn't reliable on the up5k
<tnt> whitequark: well luke's old core worked at 48M (with icecube)
<daveshah> I think it worked sometimes on some boards but not others
<tnt> daveshah: well luke's default code had latches in it ...
<tnt> when fixed up, it always worked for me.
<tnt> I'll try to wire up a usb port on an icebreaker and build it.
<daveshah> Yes, I know Mario got it working on icevision board too with similar fixes
<daveshah> But there were sometimes reliability issues
<mithro> daveshah: There are sometimes reliability issues with his old core full stop...
<tnt> hehe :)
<daveshah> Yes, my Ex prototypes are useless for this reason
<catplant> wonder how much'd be freed if using an external phy
<mithro> That is part of the reason he did the rewrite
<catplant> like ULPI
<mithro> I know that the core had a lot more margin before I started playing with it
<mithro> So it is likely I've just done something stupid
<tnt> mithro: why do you target the up5k btw ?
<mithro> tnt: It's what is on the Tomu FPGA (Fomu) -- plus the inbuilt SPRAM and stuff is nice
<tnt> oh, the tomu fpga uses an up5k.
<tnt> I thought it was an 8k on there, my bad.
<mithro> tnt: It's better for micropython
<daveshah> I'm excited about the mysterious 28nm FDSOI FPGAs Lattice have hinted about in their press releases
<daveshah> Should be faster and lower power
<sorear> link?
<daveshah> It's still pretty vague, but I found a transcript of one of their investor conference calls mentioning tapeouts that was a few months ago
<sorear> oh huh, that was a while ago
<pie__> whats FDSOI
<pie__> oops, didnt notice the link
<swetland> I declare a limited victory
<swetland> 25M osc is live. 50M refclk from phy is live. RX0/1 look good. link lights up
<swetland> but
<swetland> I got the PMOD GND and 3V3 backwards
<pie__> ye cannae change the laws of physics capn
* pie__ flips polarity anyway
gruetzkopf is now known as gruetze_
gruetze_ is now known as gruetzkopf
<tnt> swetland: seriously ? how did you manage that :)
azonenberg_work has joined ##openfpga
<swetland> tnt: failed to double-check the header pinouts. amateur mistake
catplant has quit [Quit: WeeChat 2.2]
catplant has joined ##openfpga