Juggling gates [reconfigurable systems]
Chris B. Edwards · Electronic Systems and Software · 2003
Teams around the world are looking closely at reconfigurable architectures that can couple the performance of hardwired datapaths with the flexibility of software. The ultimate reconfigurable piece of silicon is the field-programmable gate array (FPGA). Its logic elements can be configured to form any type of logic with varying degrees of efficiency. A programmable processor goes a long way towards satisfying the need for a reconfigurable system as all you have to do is load different software to get it to do a different job. But, as it does its job on a cycle-by-cycle basis, the programmable processor can also be pretty slow. Where the processor has a distinct advantage over hardwired logic lies in implementing complex state machines. For one, state machines are sequential in nature, which suits the processor. Second, the processor can handle arbitrarily complex conditions to trigger the move from one state to another. Its speed is only limited by the speed at which the processor can perform the necessary comparison instructions. Hardwired logic, on the other hand, is difficult to design and verify when the state space is large.