FPGAwars: Exploring the Open Side of the FPGAs
fpgawars.github.io
fpgawars.github.io
If either EN or ES is in your browser’s list of acceptable languages, the first one found will be used. If that list does not contain any of those, the default is ES.
Honest question: what else do you need? To be able to speak solely in basque when in Murcia?
This is plain wrong. I could give you (just making a quick Google search) hundreds of examples where you can see it's not true. Co-official languages are just second-class citizens here. Not only dozens of official web sites are Spanish language only, but also those who offer language selection mostly just change the menu option titles, but the actual content is only in Spanish.
Even Spain's anti-covid mobile application (Radar Covid) -whose UI is just a couple of messages, nothing very hard to translate- got translated to all the official languages only recently.
https://portal.mineco.gob.es/gl-es/comunicacion/Paxinas/defa... (I chose "GL", but the news are still in "ES")
https://www.casareal.es/GL/Paginas/home.aspx (the same)
https://industria.gob.es/renove/paginas/index.aspx (where's my language menu?)
https://www.rtve.es/ (no languages for our public televison website?)
This last one is a good example, because everybody, regardless of his language, funds RTVE through taxes, yet its live contents are mostly Spanish language only.
And we can find similar examples for the other topics. But no, I don't care what they do or speak in Murcia, I just want to have the same rights that someone from Murcia has in my region.
So, am I understanding correctly that your answer to “what else do you need?” is that when you go to Murcia, you are expecting to be able to have access to galician/basque/catalan TV, justice, healthcare, public servants, etc., as when people from Murcia go elsewhere?
No, you got me wrong. What I wanted to say is that, _in my region_, where a co-official language is spoken, I want to have the same rights that people from Murcia have _here_, in my region!
Zynq 7000 family is a more affordable entry point, but resources are more limited in every regard, and uses a slower, more power consuming process.
Lattice-based boards are great because they are supported by open source tooling, and available in many indie buildouts (ECP5 or or ice). They are not so high end though, by far, compared to Xilinx parts.
Intel (ex-Altera) seems to have good stuff, but not as advanced as Xilinx. They are used on the mist and mister systems for hardware retro game emulation, a quite active scene.
I like the lattice stuff for experimenting because you can do the whole stack with free software.
They are cheap and are supported by the FOSS toolchain. So you won't waste money or wrestle with crappy and/or expensive commercial tools, and can concentrate on learning FPGA.
Neither of these have high speed serial interfaces (for things like ethernet, PCIe, HDMI, etc.), but they're fun starting points.
I'd love to get into making my own FPGA boards, but man, BGAs are scary from a hobbyist perspective. The Spartan 6 LX9 is neat (from a hobbyist perspective) in that it's a big QFP.
If you’re just wanting to learn and experiment, like myself, then Digilent makes a lot of nicely packaged boards. The Nexys A7 is a capable board.
!
As someone working in this area, the USB interface is the boring standard bit and the actual analogue bit is both difficult and determines quality.
For what purpose do you want an open source DAC? Would you be happy with a chip doing USB to I2S for you and then doing the DAC yourself?
Or is this more of a marketing game of adding hiss / distortion / lowpass / other non-idealities that perceptually improve quality and convincing people to use your DAC to do it rather than software? It seems a bit unlikely.
If I had to guess, it would be that the narrowly defined task of a DAC has been thoroughly solved and commodified while the high end of the space differentiates itself with industrially relevant features like failover, monitoring, durability, and compatibility. But then why the interest in a DIY DAC? Maybe I'm reading too much into this, it's all curiosity driven, and I shouldn't interpret a desire for DIY DACs as a statement that audio DACs aren't a solved problem.
Unfortunately, this phenomenon seems to make it quite hard to find genuinely well designed equipment. I would love to get a small A/V receiver with high efficiency, the ability to drive a load of varying impedance from 1-16 ohms (possibly frequency dependent), and better linearity and noise characteristics than I can perceive. Actually buying such a thing is not so easy due to all the snake oil and the fact that almost no one reviews equipment on any objective axis.
There is one genuine complication that I’m aware of: analog audio connections tend to be old, bad designs. RCA is single-ended. XLR is a decent design, but it’s rare in home audio. Speaker wires, in all their silver-plated glory, aren’t twisted. So inductively coupled noise is everywhere, especially at 50-60 Hz. Ground loops are hard to avoid. Unlike RF, audio should have a flat response down to 20 Hz, so cheap, small tranformers are out of the question. Nice isolation hardware isn’t that expensive, but it would still add up if you wanted to build an A/V receiver with a bunch of isolated inputs and outputs. With professional systems, you are much more likely to encounter differential signaling, but you are also likely to have very, very long wires and rather low signal voltages from microphones and such. This can result in unpleasantness like AM radio becoming audible if you have non-linearities that might accidentally rectify the radio signal.
I would like to see the audio world move to digital signaling for everything, but good luck getting everything to interoperate.
Matching impedance is necessary for connecting high-impedance output stages like tubes to low-impedance circuits like speakers. But transistor amps are generally already operating with low impedance outputs.
XLR connectors are huge. One can get DVD players that are too slim to accomodate XLR plugs.
With RCA, you have none of these benefits. Heck, with RCA stereo, unless one end is isolated or you cut one of the shields, you cannot avoid a ground loop — the stereo connection by itself contains a ground loop.
Unfortunately a lot of the advancement, especially in the high end space, is proprietary. I read a somewhat vague article about some of the more recent innovations, and one that stood out was the need to set the Initial Condition of the Delta Sigma Modulator in a specific way. Delta Sigma quantization noise is notoriously poorly behaved, and because of its periodicity, it was actually perceptible even at its lower levels.
I would agree that audio DACs are indeed a "solved" problem, but at this point so is pretty much everything in integrated circuit design. Most advances in design are very incremental. The need for innovation comes from the continued push to reduce power and cost. Eventually you have to change process node - smaller transistors means a smaller die and lower cost, and also lower power for many circuits. That tends to be very challenging for a lot of mixed-signal circuits because the smaller transistors are worse in analog domains. You end up having to play a lot of tricks to make things work, but its pretty well understood and nothing revolutionary.
So you're right that within the industry we already have the analog side as re-usable IP. However, someone starting from scratch - and especially starting with a FPGA - would need a lot of analog design experience. Analog silicon design is an even more rare skill (we are, I think, hiring if you have this).
What we are generally doing is support features; headphone detect, power management, power amplification (built-in boost converters etc), as well as post-processing and EQ. You can use EQ to compensate for the nonlinear response of tiny speakers in mobile phones.
(An odd side effect of the hardware pipeline and my role in software support is that anything you can actually see on the public website is very out of date compared to what's in development and heavily NDAd)
I'm still not clear why the OP wanted an open source DAC.
ESS "sabre32" DAC ICs are widely regarded as excellent and even integrated into high end audio products, yet they can be bought in small quantities for 12$ each: http://www.shawelectronics.com/es9018k2m.html
It's a USB stack implemented as pure gateware - no hard/soft CPU needed, although I think you can hook one up if you want to.
edit: Here is the actual USB core that's in there: https://github.com/im-tomu/valentyusb/
Its actually not that much for the bare minimum needed, though the USB docs are pretty daunting.
If you go with USB1, you basically just need enough to answer the descriptor and set interface queries and set up the endpoints (in particular the isochronous endpoint for audio is a bit more complex). If you stick to exactly one supported format and sample rate and don't include any control units, you can basically skip all the audio class control messages.
For USB1, in a pinch, you can use a cheap generic 24MHz usb logic analyzer and pulseview to decode the raw usb protocol for debugging (though with 24MHz you get some corruption in the capture from clock drift, you need at least 48MHz for more reliable signal sampling).
I'd guess you can make do with ~1k LOC in this case.
https://es.m.wikipedia.org/wiki/Juan_Gonz%C3%A1lez_G%C3%B3me...