He implementado algunos circuitos con Quartus en un Cyclone 5 FPGA. Esto se ha hecho para mi tesis de maestría. Tengo que justificar si el número de elementos lógicos utilizados por mi implementación es "esperado" o no. Durante la clase de mi supervisor, tuve un pequeño ejemplo que muestra cómo puedo construir una LUT de 8 bits con una LUT más pequeña y un multiplexor. Tengo que hacer las mismas cosas pero con un FPGA concreto.
He consultado la hoja de datos del Altera Cyclone V y he encontrado que utilizan el Módulo de Lógica Adaptativa en lugar del Elemento Lógico "simple". Sin embargo, cuando quiero verificar el número de elemento lógico utilizado por esta LUT de 8 bits, la respuesta se da como elemento lógico. En este punto, tengo varias preguntas:
- En este archivo , está escrito que 2 4 bits de LUT independientes se pueden implementar en un ALM. ¿Significa que se pueden implementar LUT de 1 8 bits en un ALM? Si no, ¿cuántos ALM se necesitan?
- Cuando configuro solo una LUT en mi diseño y compilación, el número de elementos lógicos utilizados es 34. Este número es un poco inesperado, ya que he leído que un ALM debería ser equivalente a 2 elementos lógicos. Es eso correcto ? En este caso, ¿este valor parece correcto?
Gracias de antemano
EDITAR:
Para ayudarte, este es el código de mi elemento (eliminé líneas para que la publicación quede clara):
module sbox_lu(input logic[7:0] in,
output logic[7:0] out);
always_comb
case (in)
'h0 : out = 8'h20;
'h1 : out = 8'h8d;
'h2 : out = 8'hb2;
...
'hfc : out = 8'h53;
'hfd : out = 8'hb4;
'hfe : out = 8'h6;
'hff : out = 8'hfe;
endcase
endmodule
Como sugirió duskwuff, estas son algunas capturas de pantalla del planificador de chips: i.stack.imgur.com/WCXL3.png
i.stack.imgur.com/WzX7p.png
La primera imagen es una vista "global" del chip. Podemos ver que se utilizan 5 LAB. Si hago zoom en el grupo superior derecho, obtengo la segunda imagen. En la parte inferior izquierda de LAB, solo se usa un ALM. Si vuelvo a la segunda imagen, podemos ver que se usan 33 ALMS. Si agrego uno del grupo de abajo, obtengo los 34 ALM. Cuando hago clic en el ALM usado, puedo ver la ruta y que cada ALM se puede ver como 6 LUT. Si me refiero al documento anterior, necesitaría 4 ALM para los 6 LUT y 3 2: 1 multiplexor para manejar los últimos 2 bits. De esta manera, no entiendo realmente por qué se usan 34 ALM. Además, el ALM de la parte inferior izquierda de LAB está vacío.