Earlier quoted context omitted.
I received an ice40 hx8k breakout board two days ago, my first foray into FPGA. Looking forward to playing with IceStorm over the weekend. Stock for these seems OK, at least in the UK where I am based. It was ordered from Farnell. Mouser also have them in stock, but the situation may be different in other countries.
It's not much problem getting one or two chips (but sometimes you have to pay even 10x or more the retail price to scalpers). The issue is that if you have a design of an actual product in mind rather than just learning, then at current climate you have to secure all needed stock (+30% just in case) of chips before you even start. This is because even if you successfully complete the prototype, everything is working…
F4PGA: Open FPGA Tooling: Xilinx 7-Series, Lattice iCE40/ECP5, QuickLogic EOS S3
31–32 of 32 posts
Re: F4PGA: Open FPGA Tooling: Xilinx 7-Series, Lattice iCE40/ECP5, QuickLogic EOS S3
#32How is an fpga different from an emulator? From what I've read it looks like just a microcontroller that emulates a cpu chip.
- fixed-function ASICs tend to be very efficient (as they are optimized for a fixed function) but are inflexible; cost can be very low in volume but design and lead time can be high
- FPGAs can provide much of the the functionality and efficiency of fixed-function ASICs, with increased flexibility - and overhead - due to reconfigurability; per-device cost is usually higher than an ASIC but may be good for low-volume designs; design and lead time are much shorter; they're also great for prototyping
- CPUs offer extreme flexibility due to software programmability, with commensurate overhead and potential loss of efficiency; highly optimized for software; (application) design/implementation time is usually lowest, and, for some applications, cost may be cheaper than an FPGA or a low-volume ASIC.
These aren't absolute rules, and there are also other intermediate points like as FPGAs with embedded CPU cores or soft CPU cores, CPUs with reconfigurable logic, etc..
I think it's interesting that over time many functions are "softwarized" when it just becomes cheaper and easier to put them into either a cheap commodity microcontroller or a CPU that is already in your device. I've seen designs (posted on HN I think?) where a vintage hardware CPU is implemented on a cheap modern microcontroller as a sort of drop-in replacement/upgrade for the original hardware.
I also like the flexibility of generic FPGA systems that can implement and/or replicate a range of hardware with highly accurate functionality and timing. It's also fun to design your own CPU and then run code on it at hardware speed, or your own custom network device that runs at line rate (see also programmable switching chips.)