Skip to content

Nahrání_jiného_programu_do_simulace

Jaroslav Körner edited this page May 29, 2023 · 3 revisions

Nahrání jiného programu

Pro změnu programu v simulaci tb_run_program.vhd je potřeba změnit soubor: program.mem přesunout jej do správného adresáře.

1. hex dump

Vzorové programy jsou připraveny v souborech .txt v adresáři: RISC-V/programs/. Pro překlad vlastního kódu lze například použít online překladač.

2. Aktualizace .mem souboru

Python script RISC-V/programs/vivado_datafile_generator.py slouží pro přepis hex-dump souboru do různých formátu:

  • CEO - slouží pro konfigurátor IP jader (ten se v poslední návrhu procesoru již nevyužívá, nahradil jej popis paměti přímo v XPM),
  • MEM - je formát pro blokové paměti. Programy z tohoto formátu načítá simulace.
  • RAW - slouží k ukládání na SD kartu pro desku ZedBoard.
python.exe .\vivado_datafile_generator.py --help
usage: vivado_datafile_generator.py [-h] -i INPUT [-o OUTPUT] 
                                    [-r RADIX] [-f FORMAT]    

Aplication for generating COE, RAW and MEM files. For VHDL ROM
initialization. Specific types: 
- COE file is used for Xilinx Vivado block ram IP core. 
- MEM file is used for block ram. 
- RAW file is used for loading program into FPGA memory from SD card.

options:
  -h, --help            show this help message and exit       
  -i INPUT, --input INPUT
                        input file
  -o OUTPUT, --output OUTPUT
                        output file
  -r RADIX, --radix RADIX
                        radix
  -f FORMAT, --format FORMAT
                        file format

Pro vygenerování nového souboru .mem s obsahem paměti ze souboru sum.txt zadejte příkaz:

python3 vivado_datafile_generator.py -i sum.txt -o program.mem

Pro vygenerování nového souboru .raw s obsahem paměti ze souboru led_test.txt zadejte příkaz:

python3 vivado_datafile_generator.py -i led_test.txt -o program.raw

3. Nahraní nového programu do simulace

Simulace (test bench) tb_run_program.vhd spouští program uložený do souboru: program.mem. Pro spuštěné nového programu je potřeba vygenerovaný soubor ve formátu .mem přesunout do adresáře ./RISC-V.srcs/sources_1/new/ a restartovat simulaci.

Nyní již můžete spustit simulaci s novým programem.