Red de conocimiento informático - Material del sitio web - ¿Cómo expresar la multiplicación de dos matrices 4x4 y la inversión de una sola matriz en código verilog?

¿Cómo expresar la multiplicación de dos matrices 4x4 y la inversión de una sola matriz en código verilog?

input[63:0] A0, //A0 representa la primera fila de la matriz A, donde A0[63:48] A0 [47:32] A0[31:16] A0 [15:0] representa los cuatro en la elementos de la primera fila (cada elemento está representado por 16 bits), de la siguiente manera

input[63:0] A1,

input[63:0] A2,

entrada[63:0] A3,

entrada[63:0] B0,

entrada[63:0] B1,

entrada[63 :0] B2,

Entrada[63:0] B3,

salida[63:0] C0,

salida[63:0] C1,

salida[63:0] C2,

salida[63:0] C3,

Supongamos que C = AB; C0[63:48] = A0[63:48]*B0[63:48] A0 [47.32]*B1[63:48] A0[31:16]*B2[63:48] A0 [15:0] *B3[63:48]; //encuentra C0[47:32] C0[31:16] C0[15:0] según la fórmula .........

/ / Utilice el mismo método para encontrar C1 C2 C3

// Esto es solo una comprensión personal y solo como referencia. Hay mejores formas de comunicarnos y aprender con usted.

Si necesita encontrar la inversa de una matriz, primero debe determinar si la matriz es una matriz degenerada.

En términos generales, existen métodos de matrices adjuntas y transformaciones elementales. método

En mi opinión, FPGA es más adecuado para utilizar el método de transformación elemental para encontrar la inversa de una matriz.

Sin embargo, la matriz inversa implicará división. FPGA utiliza aritmética de punto fijo y la división provocará pérdida de precisión.

Los datos se pueden ampliar 1000 veces durante el funcionamiento.

La precisión de esto no es alta. Para hacerlo bien, los datos deben codificarse en formato de punto flotante. . . .