Ok. I'm new to FPGAs (haven't yet picked one up) but have a bit of a crazy idea that I wanted to run by those that have a lot more knowledge than I.
Here's my situation:
I'm redesigning a KB controller board so that I can remove dependency on jumpers to route signals from my GPIO pins (board was originally a monolithic MCU <-> KB breakout/interface board but I needed SPI, which screwed everything up). So, I'm looking at reducing waste and increasing usefulness of the PCB as production runs are 3 board minimums. To this end, I want to be able to dynamically change the signal routing for the majority of GPIO pins on the board.
At this time, I've settled on likely using a number of multi-channel analog switch ICs that provide the equivalent to SPDT physical switches. Most ICs that I'm saying are limited to 2-4 individually-addressable channels. This means close to 20-25 ICs in order to cover all GPIO. That's a lot of chips.
So, I'm wondering if a low-cost, low-power FPGA of some sort may be able to cover this use case. Note that this is purely hobby use, not intended for profit.
My requirements would be:
- 3.3v supply
- low enough current draw to be useful in BLE applications
- reconfigurable via SPI (allows the MCU to self-configure - ok if needs to be implement)
- 35+ GPIOs to the MCU
- 70+ possible endpoints on PCB to map to
- routed signal to be input/output agnostic
- surface mount, if discrete IC
- low-profile, if a supporting board is needed
Does this sort of use case seem like something that can be done in a relatively low-priced FPGA or similar device (actual logic units necessary is miniscule)? One of my reasons for exploring this possibility is the desire to implement more complex things like RISC-V softcores, so getting acquainted with the rolling is definitely needed.