Quiero implementar medio sumador usando FPGA. Para esto necesito diseñar CLB, más específicamente LUT para medio sumador. Sé que LUT solo da una salida. Pero, para medio sumador obtenemos dos salidas. Uno para suma y otro para llevar.
¿Cómo puedo diseñar CLB para medio sumador?
¿Cómo puedo obtener dos salidas de LUT? ¿Que estoy haciendo mal?
Del estudio, lo que entendí sobre FPGA es que esta imagen representa el componente básico de FPGA, que es CLB. CLB consta de LUT, D-Flipflop y MUX.
LUT se utiliza para configurar cualquier tipo de puertas lógicas. AND, OR, NOT o cualquier otra puerta lógica compleja. Al usar el programa, almacenamos la salida de la tabla de verdad para, por ejemplo, la puerta AND en LUT. Y mientras le damos entrada a FPGA, pasa por LUT a través de la barra de direcciones y accede a la dirección de memoria específica en LUT. Y luego la salida de LUT pasa por dos caminos. Aquí, debemos elegir si queremos que nuestra salida sea a través de un circuito combinacional o un circuito secuencial. Usamos MUX para este propósito de selección. 0 para circuito combinacional y 1 para circuito secuencial.
¿Estoy en lo correcto Lo que entendí hasta ahora?
¿Cuándo necesitamos elegir un circuito secuencial y un circuito combinacional?
Tiene un dispositivo Zynq-7020, que contiene un chip FPGA Artix-7. El CLB para este FPGA se describe aquí . Es mucho más complejo de lo que imaginabas. El CLB contiene dos segmentos, y cada segmento tiene 4 LUT y 8 elementos de almacenamiento (flip-flops o pestillos).
Además, cada LUT tiene dos salidas, O5 y O6. O5 está conectado a una "cadena de transporte" que proporciona una conexión muy corta a una tabla de búsqueda, segmento o CLB vecino. Esto está diseñado específicamente para ser la salida de acarreo de un sumador o contador.
Como lo mencionó Chris en los comentarios, en lugar de tratar de administrar toda esta complejidad usted mismo, con herramientas de síntesis modernas (es decir, herramientas desarrolladas en los últimos 20 años), por lo general logrará mejores resultados simplemente escribiendo en su Verilog que tratando de assign X = A + B;
configurar el CLB usted mismo.
el fotón
chris stratton
FC Akhi
mitu raj