Cómo cargar archivos coe en roms generadas por blockrom
Otro método:
La inicialización de ROM de Xilinx es Importar la documentación al Coe es muy engorroso.
En realidad archivos mif y hexadecimal, existen software especializados para generarlos.
El formato del archivo Coe es el siguiente:
MEMORY_INITIALIZATION_RADIX=10
MEMORY_INITIALIZATION_VECTOR=
512, 515, 518, 522, 525, 528, 531, 535, 538, 54
. . . . . . . .12, 23;
Nota: Las primeras 2 líneas no se mueven, los números después de RADIX representan decimales, aquí tomamos decimales. Utilice un punto y coma al final
Los pasos clave de matlab son los siguientes. Tomemos como ejemplo una tabla de senos de 10 bits muestreada 1000 veces en un ciclo.
n=0:999; y=round(sin(2*pi*0.001*n)*512) 512; //se agrega 512 al final para evitar números negativos
y=mod(y, 1024); //Como son 10 dígitos, no hay 1024. Tome el resto de 1024 y convierta 1024 a 0
dlmwrite('b.txt', y) ; //dlmwrite La función separa los datos del resultado con comas.
Obtenga el archivo b.txt, ábralo con el Bloc de notas, agregue
MEMORY_INITIALIZATION_RADIX=10 en la parte superior
MEMORY_INITIALIZATION_VECTOR=
; y Agregar un punto y coma al final de los datos
Finalmente guárdelo como y seleccione la extensión .coe. coe, después de importar el archivo a la ROM, haga clic en el botón que muestra o muestra los datos iniciales (no todos los ISE son iguales), esto indica que los datos se han importado correctamente.
Para los módulos ROM, la tarea principal es generar el archivo .coe correspondiente.
Generar archivo ROM .coe.
Generar archivo .coe para ROM
clc
Borrar todo
Cerrar todo
x = linspace(0, pi/2, 1024 ); Tome 1024 puntos equidistantes entre [0, 2pi]
y_cos = cos(x);
y_sin = sin(x ); >
y_cos = y_cos * 2^16;
y_sin = y_sin * 2^16
fid = fopen('D. /cos_coe:/ cos_coe.txt', 'wt'); fprintf(fid, ' . 0f \n ' , y_cos);
fclose(fid
fid = fopen('D: /sin_coe.txt' , 'wt');
fprintf(fid, ' .0f \n ' , y_sin);
fclose(fid);
fprint(fid, ' .0f \n ' , y_sin);
fclose(fid);
p>2. En el directorio raíz del disco D, cambie los sufijos de cos_coe.txt y sin_coe.txt a .coe. Abra el archivo, use la función de reemplazo de texto para reemplazar los espacios entre cada línea con "," (¡puede usar el poderoso UltraEdit!) y agregue un punto y coma ";" a la última línea. Finalmente, agregue las siguientes dos líneas al principio del archivo:
memory_initialization_radix=10;
memory_initialization_vector=
Luego, guarde el archivo y salga.
3. Cargue el archivo coe en la ROM generada por BLOCKROM. Cree un nuevo IP Core para BLOCKROM en "Memorias y elementos de almacenamiento----gt; RAM y ROM-----gt; Block Memory Generator v2.4". Seleccione "rom de puerto único" en la página 1, seleccione ancho de bits 16 y profundidad 1024 en la página 2, descargue el archivo coe que se muestra a continuación en la página 3 y luego haga doble clic en "Finalizar" para completar la generación del núcleo IP. Si el archivo coe generado es incorrecto, el cuadro frente al navegador mostrará el nombre del archivo en rojo. Los principales tipos de errores del archivo coe son base de datos incorrecta y longitud de datos incorrecta.
Simulación de rom MODELSIM.
Cuando uses chips Xilinx para el desarrollo de FPGA, necesitas usar ROM y debes realizar una simulación de ROM. Después de un día de arduo trabajo, finalmente puedes hacer la simulación. Ahora escribiré el proceso. tu referencia.
1. Primero, debe compilar el archivo de la biblioteca XINLINX. Las tres bibliotecas más utilizadas son xinlixcorelib, unisims y simprims. Consulte el artículo anterior para conocer el proceso de compilación.
2. Modelsim no admite archivos mif y solo admite archivos HEX. Debe descargar el archivo DLL convert_hex2ver.dll en la dirección de descarga:
/bbs/read. .php?tid=1562amp ;fpage=2
3. Modifique el archivo de configuración modelsim.ini en el directorio de instalación de Modelsim
Lista de objetos cargados dinámicamente para aplicaciones Verilog PLI
; Veriuser = veriuser.
Modificar
Lista de objetos cargados dinámicamente para aplicaciones Verilog PLI
Veriuser = C:/Modeltech_6.1e/ win32/convert_hex2ver.dll
Donde C:/Modeltech_6.1e/win32/convert_hex2ver.dll es la ubicación donde se guarda el archivo dll
4. Copie el rom.v y la rom. .mif en el mismo directorio y luego cargue la biblioteca de simulación XIlinx durante la simulación y luego siga el proceso de simulación general. Luego puedes simular de acuerdo con el proceso de simulación general.