En mi proyecto de electrónica digital necesito calcular el producto de punto de dos vectores a y b (256 longitudes de cada uno). Siguiendo el concepto básico, necesito calcular \ $ \ sum_ {k = 1} ^ {256} a_kb_k \ $. Cada elemento de los vectores es un número binario de 4 bits. Esto no parece ser una tarea difícil en verilog, donde puedo implementar esto como en XILINX ISE.
sum=0;
for(i=0,i<256,i=i+1)
suma = suma + \ $ a_ib_i \ $
Furthur necesito implementar esto en FPGA. Pero aquí me confundí en dos conceptos:
-
¿Debo escribir el módulo para el "sumador completo" y agregar las entradas de la suma anterior y \ $ a_i b_i \ $ bit por bit y almacenar la salida en suma. O simplemente xilinx implementará automáticamente el sumador completo durante la síntesis.
-
Es válido para usar en bucle al escribir siempre @ (condición) porque en FPGA tenemos el reloj como señal de control. O, en este caso, también xilinx implementará / controlará el bucle for por señal de reloj.