m4ssi has quit [Remote host closed the connection]
rohitksingh has joined ##openfpga
mumptai has joined ##openfpga
gsi__ is now known as gsi_
kristianpaul has quit [Remote host closed the connection]
kristianpaul has joined ##openfpga
ayjay_t has joined ##openfpga
m_w has joined ##openfpga
<tnt>
daveshah: is there a way from python to specify a max delay for cross clock path ?
<daveshah>
No, not yet
<daveshah>
I'm planning a major overhaul of timing analysis soon
<daveshah>
(strictly speaking there are some structures for these constraints in place but nothing creates or looks at them yet)
<tnt>
ok, I guess I'll wait a bit and rely on prayer in the mean time :p
<emeb>
thanks for pulling the SB_SPI/SB_I2C stuff
zem has quit [Ping timeout: 246 seconds]
<emeb>
tried '--placer-heap' on my up5k 6502 project - works fine, a bit quicker to build and slightly faster timing.
<emeb>
thumbs up!
zem has joined ##openfpga
<emeb>
time comparison for full build (includes yosys, icebram, icepack, etc): w/o heap 25s, with heap 16s
<emeb>
speed comparison: w/o heap 16.99MHz, with heap 17.49MHz
<whitequark>
it's probably noise
<whitequark>
run it a few more times with a different seed
<emeb>
I've run it 3-4 times already and it's been consistently *slightly* faster.
<whitequark>
interesting
<whitequark>
it's been noise in my designs, i think
<daveshah>
It can sometimes handle chains better than SA
<emeb>
ah - that might do it. I've got a bunch of wide adders.
<daveshah>
This can give an improvement on ECP5, which uses relative constraints for the muxes and DRAMs
<azonenberg_work>
i need to build myself an ECP5 design with some Ethernet on it
<azonenberg_work>
and play around a bit
<azonenberg_work>
say one copper and one optic port
<azonenberg_work>
that will give me an excuse to try the serdes, do some cross clock stuff, etc
<azonenberg_work>
should be a nice stress test for the tools
<azonenberg_work>
daveshah: also, you might konw
<azonenberg_work>
what's the current status of systemverilog in yosys?
<azonenberg_work>
structs and enums are my two big requirements to start using yosys for a lot more projects
<azonenberg_work>
(since i started porting all of my old ISE code over to SV)
<daveshah>
Not much progress on those
<daveshah>
Last I heard clifford was trying to persuade the person who did interfaces to look at structs
<azonenberg_work>
Once my construction is done and i'm not quite so busy, i might want to put a fair amount of time into proper SV support
<daveshah>
At least some of the interface stuff might be reusable for structs
<azonenberg_work>
Unless there's somewhere my time would be better spent
<azonenberg_work>
That would be nice
<azonenberg_work>
(also unions)
<azonenberg_work>
It's funny, i actually started using interfaces when i was learning SV, then stopped almost immediately because Vivado didn't support arrays of them
<daveshah>
I think SV support is a big important todo
<azonenberg_work>
which made any kind of NoC, router, etc very hard to do
<azonenberg_work>
My new preferred portable paradigm for that is one struct of inputs and one of outputs
<azonenberg_work>
which pretty much all tools (that support SV at least) seem to handle reliably, both for single instances and arrays
<azonenberg_work>
But yeah, really the two killer features for yosys+nextpnr to be useful to me are support for nontrivial sized devices with serdes (ecp5 is on the low end of that, but might be useful for some projects)
<azonenberg_work>
and SV
lexano has quit [Ping timeout: 245 seconds]
<daveshah>
Yeah, I think this year we really want to look at the "industrial" side of things more
<daveshah>
Progress is being made on DSP inference
<emeb>
\o/
<emeb>
need to try out some of my SDR projects again.
<daveshah>
Yeah, it's -dsp for synth_ice40
<azonenberg_work>
daveshah: well, 7 series is the ultimate requirement because ecp5 is still too small for a lot of what i want to do
<azonenberg_work>
like, i could definitely do some of my smaller projects on ecp5's
<azonenberg_work>
but i've stayed with 7 series because of easy migation from tiny to huge
<daveshah>
There may well be some 7 series progress this year
<daveshah>
Not so sure about SERDES etc
<azonenberg_work>
One annoyance is that ecp5 doesn't have a 1mm package option
<azonenberg_work>
which makes cheap batch fab PCBs off limits
<daveshah>
Yup
<azonenberg_work>
i have to go to a real fab
<whitequark>
i think 0.8 is good enough?
<whitequark>
i remember looking at this for hx8k
<TD-Linux>
osh park 4 layer can easily do ecp5
<azonenberg_work>
full fanout?
<daveshah>
FWIW, the Versa board hooks up both a transceivers SGMII and GPIO RGMII to both the PHYs
<daveshah>
If you want something off the shelf to play with Ethernet
<azonenberg_work>
daveshah: ooh
<daveshah>
But no optics or 10GbE
<TD-Linux>
if not full, very close. I did the ulx3s on oshpark
<azonenberg_work>
$200 too, not a bad price
<azonenberg_work>
when i have some spare time i might pick itup
<daveshah>
It's not a bad board at all
<daveshah>
Only problem is the fact its only got a 45k and not an 85k
<daveshah>
Whereas the cheapo board with almost no peripherals is an 85k
<daveshah>
idek
<whitequark>
pretty sure azonenberg_work could just rework it
<whitequark>
the FPGA is what, $15?
<azonenberg_work>
lol
<TD-Linux>
yeah the cheapest 85k board is pretty useless, I used mine for like 1 day before building the ulx3s. not even a working oscillator by default
<whitequark>
ECP5 is absurdly cheap
<TD-Linux>
$30
<azonenberg_work>
yeah i will definitely have to look into it
<azonenberg_work>
i'm used to working with $100+ FPGAs :p
<daveshah>
$5 qty1 for "12k" LUTs
<daveshah>
Actually a fully tested 25k die
<daveshah>
Slightly cheaper than an iCE40, but a bit more expensive to use
<daveshah>
*ice40hx8k
lexano has joined ##openfpga
cr1901_modern1 has quit [Quit: Leaving.]
cr1901_modern has joined ##openfpga
<sorear>
how does "more expensive to use" break down? voltage regulators? decoupling? level shifters? oscillators?
<tnt>
more pcb area, bga ...
<whitequark>
hx8k is bga
rohitksingh has quit [Ping timeout: 268 seconds]
<daveshah>
Finer pitch BGA, at least one more power rail, more decoupling, quite possibly beefier power supplies
<tnt>
whitequark: isn't the 4k the same as the 8k ?
<whitequark>
tnt: tqfp is a worse package than bga
<whitequark>
it's fucking gigantic and it's way harder to solder
<davidc__>
whitequark: eh, depends on your gear
<whitequark>
davidc__: in most cases.
<tnt>
yeah, I get more bridge to rework with tqfp than qfn ... but with bga, if I fuckup, I get not a chance to fix it basically.
<daveshah>
I've had large tqfps arrive with bent leads from mouser
<davidc__>
as tnt said
<daveshah>
Not fun
<whitequark>
no hot air, only toaster oven?
<daveshah>
Easy enough to fuck up a fine pitch qfp too
<davidc__>
I've done plenty of PQFP208s before, and 0.65mm BGAs at home. I'd still rather the PQFP-208 since I can figure out whether a failure is a soldering problem, or a circuit problem
<daveshah>
tbf tqfp is the only option if you only have a soldering iron and no air
<q3k>
eh BGA is easier than people put it
<q3k>
yes, not being to inspect sucks
* sorear
imagines daveshah trying to do pcb rework in a vacuum
<whitequark>
lol
<daveshah>
Well, people do soldering and rework in nitrogen to avoid oxidation
<TD-Linux>
hx8k can easily be done with 2 layer board
<TD-Linux>
also the power consumption is less so you can get away with linear regulators more often
<TD-Linux>
(maybe you can with the 12k too though)
<daveshah>
A not maxed out 12k should be fine with linear regs
<q3k>
TD-Linux: depends if you wanna break out all the pins though
<q3k>
i can't imagine breaking out the caBGA 121 fully on 2 layers
<TD-Linux>
q3k, oh yeah nevermind. I had thought that hx8k was available in tqfp
<TD-Linux>
(I did a 1k in 2 layers)
<tnt>
TD-Linux: well .. the 4k is avail in tqfp ... and 4k = 8k AFAIK.
emily has quit [Quit: Updating details, brb]
emily has joined ##openfpga
<tnt>
daveshah: Is there a way to get more than 1 path in the timing report ? Like if I want the 10 worst ones ?
<daveshah>
No, unfortunately not. I'll put it on my todo list for timing improvements though
<tnt>
tx
<azonenberg_work>
daveshah: if you can't afford a $50 walmart toaster oven
<azonenberg_work>
you probably can't afford any parts that only come in BGA
<azonenberg_work>
-> there is no reason not to use BGA if you need to and can afford the pcb/chip
<azonenberg_work>
davidc__: and my rule is easy, if a BGA is involved i assume it's a circuit problem and not a soldering problem
<tnt>
azonenberg_work: you'd be surprised how hard it is to find a suitable oven around here ...
<azonenberg_work>
Because my BGA solder failure rate is so low that i can't even accurately measure it
<azonenberg_work>
i tombstoned an 0.35mm 2x2 ball WLCSP and nudged it back into place with tweezers and hot air
<davidc__>
azonenberg_work: Sure, but when the circuit problem is an undocumented "feature" from the IC manufacturer, it sure is tempting to call it a soldering problem!
<TD-Linux>
you also need to cut stencils for your design
<azonenberg_work>
then when i was starting out i had one ftg256 that i didn't cook long enouhg
<azonenberg_work>
a bit of flux and a second oven cycle and it was fine
<TD-Linux>
(well technically not if you only want to do the bga)
<azonenberg_work>
didnt pull the chip or anything
<azonenberg_work>
TD-Linux: you can flux + tweezer a BGA if you're hand soldering the rest
<azonenberg_work>
i use paste for my bgas because i paste the whole rest of the pcb
<azonenberg_work>
davidc__: And that's my point, though
<azonenberg_work>
If you suspect a BGA soldering defect, look at everything else first
<tnt>
Took me 3 tries to solder a 1mm pitch hyperram 26 ball bga :/
<azonenberg_work>
because BGA assembly yield is so high that it should be the absolute last thing you consider
<azonenberg_work>
tnt: how?
<azonenberg_work>
handheld hot air, or a sane convection oven?
<davidc__>
BTW, my favourite BGA "trick" is to use kapton tape to align the BGA (really useful when the BGA has a significant package overhang and its hard to see whether the balls are lined up
<azonenberg_work>
tnt: well thats your problem then, that is a much more difficult process than an oven
<azonenberg_work>
tnt: this is what i use
<bubble_buster>
mmmm pizza
<emeb>
hmm... "inference of signed iCE40 DSP arithmetic is currently not supported."
mumptai has quit [Remote host closed the connection]
emily has quit [Quit: Updating details, brb]
emily has joined ##openfpga
genii has quit [Read error: Connection reset by peer]
Asu has quit [Quit: Konversation terminated!]
Zorix has quit [Ping timeout: 240 seconds]
<gruetzkopf>
i mostly use ghetto vapor phase tbh
zem has quit [Ping timeout: 272 seconds]
emily has quit [Remote host closed the connection]
emily has joined ##openfpga
Bike has joined ##openfpga
Zorix has joined ##openfpga
<azonenberg_work>
gruetzkopf: ghetto vapor phase? what is this, one of those "suicide water heater" gadgets in a 5-gallon bucket with some galden ht200 in it?
<gruetzkopf>
naah, less ghetto
<gruetzkopf>
even-bottom deep fryer
<gruetzkopf>
with (rendundant power cutout by temp sensor, placed so that quite a lot of the medium remains liquid
<gruetzkopf>
still wouldn't ever let it run unattended
emeb has quit [Quit: Leaving.]
zem has joined ##openfpga
azonenberg_work has quit [Ping timeout: 250 seconds]