Aprender cómo funciona el FPGA desde el transistor hacia arriba es muy ambicioso. Hay muchas cosas dentro de un FPGA, y en su mayor parte nunca tiene que entenderlo hasta el nivel de detalle que está buscando. De hecho, probablemente sea mejor si ignoras esas cosas al principio y aprendes algunas cosas prácticas de FPGA en su lugar.
La razón por la que no necesita conocer esos detalles es porque el compilador FPGA lo hará por usted. Al usar VHDL o Verilog, le dices al compilador de FPGA lo que quieres y se da cuenta de cómo hacerlo por ti. No necesita saber qué se programa en las LUT, dónde se encuentra esa LUT o cómo enrutar las señales a / desde la LUT. Esto también ayuda cuando te mueves de un FPGA a otro. Un Spartan-6 tiene una arquitectura LUT diferente a la del Spartan-3, y no quiere tener que aprender una arquitectura completamente nueva para cada chip que use.
Luego, a medida que se adentre en él, aprenderá más sobre el funcionamiento interno del FPGA. No hasta el nivel de transistor, pero aprenderá acerca de los diferentes tipos de recursos de enrutamiento de señales, RAM, bloques de E / S, lógica de transporte, etc. Conocer este tipo de lógica lo ayudará a hacer un mejor uso del FPGA. Tu lógica más pequeña y más rápida.
Una forma realmente genial de conocer los aspectos internos de un FPGA Xilinx es escribir algunos códigos VHDL / Verilog y compilarlos. Luego, utilice el Editor de FPGA de Xilinx para entrar y examinar lo que hizo el compilador, observando el enrutamiento de la señal, el uso del segmento, las LUT y los Flip-flops. Esto me resulta muy útil para comprender por qué mi lógica era más grande de lo que pensé que debería ser. Supongo que el 95% del tiempo no tiene que comprender el funcionamiento interno de un FPGA con más detalle de lo que le dará el Editor de FPGA.