Implementing configurable I/O blocks on a microcontroller IC is by now an established practice. These blocks in the past have been implemented either as register-configured fixed logic or as an array ...
We have always had programmable analog circuits. Any circuit that makes outputs change as a function of inputs is in some way programmable. Examples include gain change as a function of voltage or ...