forked from tanchou/Verilog
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Batchfile
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Batchfile
		
	
	
	
	
	
| @echo off
 | |
| setlocal
 | |
| 
 | |
| rem === Aller à la racine du projet ===
 | |
| cd /d %~dp0\..
 | |
| 
 | |
| rem === Config de base ===
 | |
| set DEVICE=GW2AR-LV18QN88C8/I7
 | |
| set BOARD=tangnano20k
 | |
| set TOP=top_uart_loopback
 | |
| set CST_FILE=%TOP%.cst
 | |
| set JSON_FILE=runs/%TOP%.json
 | |
| set PNR_JSON=runs/pnr_%TOP%.json
 | |
| set BITSTREAM=runs/%TOP%.fs
 | |
| 
 | |
| rem === Créer le dossier runs si nécessaire ===
 | |
| if not exist runs (
 | |
|     mkdir runs
 | |
| )
 | |
| 
 | |
| echo === Étape 1 : Synthèse avec Yosys ===
 | |
| yosys -p "read_verilog -sv src/verilog/%TOP%.v src/verilog/uart_rx.v src/verilog/uart_tx.v; synth_gowin -top %TOP% -json %JSON_FILE%"
 | |
| if errorlevel 1 goto error
 | |
| 
 | |
| echo === Étape 2 : Placement & Routage avec nextpnr-himbaechel ===
 | |
| nextpnr-himbaechel --json %JSON_FILE% --write %PNR_JSON% --device %DEVICE% --vopt cst=constraints/%CST_FILE% --vopt family=GW2A-18C
 | |
| if errorlevel 1 goto error
 | |
| 
 | |
| echo === Étape 3 : Packing avec gowin_pack ===
 | |
| gowin_pack -d %DEVICE% -o %BITSTREAM% %PNR_JSON%
 | |
| if errorlevel 1 goto error
 | |
| 
 | |
| echo === Étape 4 : Flash avec openFPGALoader ===
 | |
| openFPGALoader -b %BOARD% %BITSTREAM%
 | |
| if errorlevel 1 goto error
 | |
| 
 | |
| echo === Compilation et flash réussis ===
 | |
| goto end
 | |
| 
 | |
| :error
 | |
| echo === Une erreur est survenue ===
 | |
| 
 | |
| :end
 | |
| endlocal
 | |
| pause
 |