Hay varios programas:
- Programa en lenguaje C que convierten imágenes a memorias ROM en VHDL
- nesmem2vhd.py: Script en Python que convierte memorias de la NES a memorias ROM en VHDL. Para verilog nesmem2vrl.py
- rvinstr2vhd.py: Script en Python que convierte el volcado de memoria de instrucciones del RISC-V en memoria ROM de instrucciones en VHDL. Se utiliza el RARS (https://github.com/TheThirdOne/rars) para volcar en memoria (formato de exportación: Text-Data segment window).
- [vhdlrom2vrl.py] (src/vhdlrom2vrl.py): Script en Python que convierte una memoria ROM VHDL a verilog
Ejemplos:
- examples hay ejemplos de imágenes y las memorias resultantes en VHDL
- examples/nesrom hay ejemplos de las memorias de la NES en VHDL y verilog
- examples/nesrom/projects ejemplos de projectos (por ahora solo la Tabla de Nombres) (VHDL, verilog, icestudio)
- examples/instr hay ejemplos de las memorias de instrucciones del RISC-V.
Se debe guardar la imagen en formato .ppm .pgm o .pbm en ASCII. Para ello se puede usar programa como gimp o irfanview.
Luego compilar el código fuente y ejecutar el programa para convertir en un fichero VHDL
Lee el fichero img2rom.htm o la versión markdown img2rom.md
Tienes ejemplos VHDL examples/vhd
There are 3 different codes
- Code in C language to convert a image into a VHDL ROM memory
- nesmem2vhd.py: Python script to convert NES dump memories into VHDL ROM memories (or verilog: nesmem2vrl.py )
- rvinstr2vhd.py: Python script to convert RISC-V memory dump file (using RARS https://github.com/TheThirdOne/rars) into VHDL ROM instruction memory (export format: Text-Data segment window)
- vhdlrom2vrl.py: Python script to convert a VHDL ROM into verilog
You can save any image into an ASCII .ppm .pgm or .pbm format using image software, such as gimp or irfanview.
Then, compile the source and run the executable to convert it into a VHDL ROM memory file
Read the img2rom.htm (in Spanish) o the markdown version img2rom.md
Check the examples examples/vhd
- examples some images and their resulting VHDL ROM memories
- examples/nesrom NES PPU memories in VHDL and verilog
- examples/nesrom/projects NES Name Table implementation example (VHDL, verilog, icestudio)
- examples/instr examples of RISC-V ROM