Saturday, 2018-03-31

*** tpb has joined #yosys00:00
*** pie__ has joined #yosys00:09
*** pie_ has quit IRC00:10
emebZipCPU: your Harris link is borken:
*** digshadow has quit IRC01:13
*** jkiv has joined #yosys01:13
ZipCPUemeb: Is it?  Thanks!  Let me go double check on it ...01:21
ZipCPUSure is ...01:22
*** jkiv has quit IRC01:22
*** jkiv has joined #yosys01:23
emebZipCPU: Nice article though - I've been doing FPGA & ASIC DSP for many years and have used variations of those polynomial interpolators in a lot of places.01:24
ZipCPUOut of curiosity, have you ever seen this approach before?01:24
emebThe ones I did were similar = a set of CSD-based FIR filters to compute the coefficient terms, then a chain of multiply/add functions to compute the polynomial.01:26
emebI usually did 4th-order interpolators based on a paper published back in the 90's by some Finnish guys.01:26
ZipCPUyeah, the 3rd and 4th order filters do get a quite rapid increase in performance--but there is (of course) a cost associated with them01:27
emebHere's an open paper from Jussi Vesma who did the one I used -
* ZipCPU looks it up, and is surprised to find a full paper with no login required01:28
emebI know, right?01:28
jkiv> Interpol.pdf01:28
jkivevening, all01:30
ZipCPUInterpol via Wikipedia ... The International Criminal Police Organization01:30
jkiv(well, depending on where you are.)01:30
emebWhen I first started working with those we were building ASIC-based video modems, so we had a lot of gates to throw around. Now of course you can buy FPGAs with equivalent performance for a few dollars.01:30
ZipCPUSomehow I don't think that's what Interpol is referencing here.  :D01:30
* ZipCPU goes back to browsing the article ... it has a fascinating introduction01:31
emebLately I've done interpolators running at audio rates on DSP microcontrollers, but those are based on sinc (bandlimited) interpolation as described by J.O. Smith ->
tpbTitle: Digital Audio Resampling Home Page (at
ZipCPUI've looked at sinc interpolation.  Never really liked it much.  Just don't trust it at the interval edges.01:35
emebIt has much better frequency response than polynomial interpolation.01:35
emebbetter for audio01:35
ZipCPUPiecewise polynomials, on the other hand ... don't nearly require as much memory, can be done with less computation, ...01:36
emebbut sinc interpolation is not appropriate for hardware implementation01:36
ZipCPUYes.  I see your point there.  The filter I presented today can be a component of an ideal audio filter, but won't be that on its own.01:36
emebRight - you can put a nice "cleanup" FIR filter after it to get rid of the unwanted portion of the spectrum01:38
ZipCPU"Interpolation is generally considered as a time domain polynomial fitting problem which is not very practical for DSP applications.  This is because the time-domain characteristics of the signal are not known usually.  What is known is the frequency band of the signal."  ... nice01:39
ZipCPUemed: Actually, in another design of mine, I have "cleanup" filters both before and after the polynomial filter for just that purpose.01:39
emebMakes sense.01:40
ZipCPUThose cleanup filters are typically a combination of a CIC filter and something else, so its a cascaded rough filter with a further cleanup filter.01:40
emebWhen I do RF / SDR stuff I usually don't use any of these techniques though - Mainly I use CIC filters.01:40
ZipCPUYou know, that's the one thing I haven't really discussed how to build on the blog: a good CIC filter.01:40
emebThey can't get you arbitrary resampling ratios, but usually you can work around that.01:40
emebCICs are worth a mention.01:41
emebAt first they seem like magic until you look at all the little tricks that go into them.01:41
ZipCPUI don't know ... I used a series of block averages as an anti-aliasing filter when doing a 1024/1023 resampler ...01:41
ZipCPU"At first they seem like magic until you look at all the little tricks that go into them" <---- heheh!  Good.  See Clark's third law too.01:42
emebYeah - they are sufficiently advanced.01:42
emebBut the basic trick is just the old rectangular window implemented with a sum, delay and difference. Replace the delay with a rate change and whammo...01:43
ZipCPUIt is amazing how simple they become.01:43
emebYeah - I have a 2-channel 256x decimation CIC that fits into a Lattice LP4k with room to spare.01:44
tpbTitle: GitHub - emeb/iceRadio: C and Verilog sources for STM32F303 + iCE5LP4K Software Defined Radio (at
ZipCPUI should hope room to spare!  The goal is usually to do more than just filtering within an FPGA application ...01:45
ZipCPUOh, you're the guy doing the iceRadio work?01:45
emebThat's me.01:45
ZipCPUWelcome to the channel/discussion/forum!  It's a pleasure meeting you.01:46
* jkiv stars01:46
emebThanks! Good to be here.01:46
* ZipCPU browses
ZipCPUemeb: Is the circuit board for iceRadio of your own design?01:48
emebZipCPU: Yes01:48
emebOK - nice chatting. Gotta run01:52
ZipCPUSure!  It's getting late here, and ... I'm still reading that article.  (Good article)01:53
*** xrexeon has quit IRC02:01
ZipCPUemeb: When you get back, just wanted to share that that was an awesome article.  Thanks!02:10
emebZipCPU: the interpolator one? Yeah - worth saving.02:36
awygleoo, iceradio02:38
jkivany tips for reducing LUT use? lol02:38
jkivinitial version of my project was < 7860 req for 8k. after "optimizing" I find myself at 8000+02:39
*** gaussalpha has quit IRC02:39
emebperhaps you optimized for something other than utilization?02:43
*** digshadow has joined #yosys02:49
*** emeb has quit IRC02:54
*** m_w has quit IRC03:09
*** emeb_mac has joined #yosys03:24
*** proteusguy has quit IRC04:01
*** cemerick_ has quit IRC04:11
*** gaussalpha has joined #yosys04:17
*** jkiv has quit IRC04:47
*** digshadow has quit IRC05:20
*** dys has joined #yosys05:36
*** AlexDaniel has quit IRC05:52
*** dys has quit IRC06:18
*** digshadow has joined #yosys06:21
*** emeb_mac has quit IRC07:00
*** xerpi has joined #yosys07:04
*** dmin7 has joined #yosys08:38
*** xrexeon has joined #yosys09:14
*** indy has quit IRC09:18
*** indy has joined #yosys09:26
*** mjo_uk_ has quit IRC09:33
*** mjo-uk has joined #yosys09:37
*** xerpi has quit IRC09:37
*** leviathan has joined #yosys09:47
*** leviathan has quit IRC09:49
*** leviathanch has joined #yosys09:49
*** GuzTech has joined #yosys10:39
*** eduardo_ has joined #yosys11:08
*** eduardo__ has quit IRC11:12
*** cemerick has joined #yosys11:20
*** cemerick_ has joined #yosys11:22
*** cemerick has quit IRC11:25
*** cemerick_ has quit IRC11:46
*** dmin7 has quit IRC12:51
*** xerpi has joined #yosys13:43
*** AlexDaniel has joined #yosys14:02
*** proteusguy has joined #yosys14:31
*** dmin7 has joined #yosys14:42
*** xrexeon has quit IRC15:06
*** promach_ has joined #yosys15:08
*** xerpi has quit IRC15:47
*** emeb has joined #yosys16:10
*** cemerick_ has joined #yosys18:15
*** jkiv has joined #yosys18:18
*** cemerick has joined #yosys19:06
*** cemerick_ has quit IRC19:09
*** jkiv has quit IRC19:15
*** gaussbeta has joined #yosys19:23
*** gaussalpha has quit IRC19:23
*** cemerick_ has joined #yosys19:33
*** cemerick has quit IRC19:37
*** cemerick_ has quit IRC19:38
*** cemerick has joined #yosys19:38
*** cemerick_ has joined #yosys19:42
*** cemerick has quit IRC19:46
*** gaussbeta has quit IRC19:51
*** cemerick_ has quit IRC20:00
*** cemerick_ has joined #yosys20:14
*** indy has quit IRC20:39
*** indy has joined #yosys20:42
*** cemerick has joined #yosys20:44
*** cemerick_ has quit IRC20:46
*** mjo-uk has quit IRC20:49
*** cemerick has quit IRC20:51
*** gaussalpha has joined #yosys20:56
*** gaussalpha has quit IRC21:17
*** gaussalpha has joined #yosys21:18
*** jkiv has joined #yosys21:27
*** dmin7 has quit IRC21:33
*** jkiv has quit IRC21:35
*** promach_ has quit IRC21:49
*** cemerick has joined #yosys21:55
*** leviathanch has quit IRC22:28
*** GuzTech has quit IRC22:56
*** cemerick has quit IRC23:14

Generated by 2.13.1 by Marius Gedminas - find it at!