Los FPGAs en realidad no tiene "puertas" de por sí. Por lo general, tienen Look-Up Tables (LUTs). LUTs generalmente se implementan con Sram. Por ejemplo, Spartan 3 FPGAs de 16 bits Sram; es decir, cuatro direcciones de las entradas de producir una señal de salida. La "programación" se realiza mediante la carga de la SRAM con un patrón de bits que representa la tabla de verdad, de tal manera que, por ejemplo, 2-entrada XOR, tiene dirección 00 = salida 0, dirección 01 = salida 1, la dirección 10 = salida 1, la dirección 11 = salida 0.
Todo esto significa que los FPGAs en realidad tienen muchos, muchos extra e innecesaria de puertas para realizar la misma función de lógica. Si usted necesita FPGAs para la reprogramabilidad y la creación rápida de prototipos, entonces este es genial!!! De hecho, algunas personas de implementar el diseño por primera vez en la FPGA, depurar y, a continuación, pasar a un ASIC, que será más pequeño, más rápido y consume menos energía, todo mientras se hace la misma cosa que la FPGA.
Los modernos microprocesadores también son canalizadas. Por ejemplo, en un simple programa FPGA, una muy grande cálculo de la participación de varios añade, y tal vez algunos se multiplica y una comparación puede llevarse a cabo en el mismo ciclo de reloj. Hacer todo este trabajo en un ciclo de reloj significa que el ciclo de reloj debe ser de largo. En un pipeline de ejecución (que es posible implementar en FPGAs y se utiliza a menudo para lograr la temporización de cierre), la gran cálculo se divide en trozos, y cada pieza se ejecuta en uno mucho más corto ciclo de reloj. Todavía tiene aproximadamente la misma cantidad de tiempo para hacer el cálculo, pero la ventaja es que después de la primera pieza se calcula y el primer parcial dato se ha trasladado a la segunda pieza, la primera pieza inmediatamente puede comenzar el proceso de la segunda datum. El cálculo de la primera todavía va a tardar muchos ciclos para completar, pero una vez que se realiza un nuevo cálculo será completado durante cada ciclo de reloj.
Así, en una palabra, los FPGAs han genérico de la lógica, mientras que la CPU tiene una lógica específica. FPGA ha de enrutamiento genérico, mientras que la CPU ha específicas de enrutamiento. FPGA puede ser canalizado, pero la CPU es definitivamente canalizado.