19 lines
		
	
	
		
			1016 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			1016 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| PROJECT_NAME=SOC
 | |
| DB_DIR=/usr/share/nextpnr/prjxray-db
 | |
| CHIPDB_DIR=/usr/share/nextpnr/xilinx-chipdb
 | |
| PART=xc7a35tcpg236-1
 | |
| VERILOGS=$1
 | |
| BOARD_FREQ=100
 | |
| CPU_FREQ=100
 | |
| 
 | |
| set -ex
 | |
| yosys -DCMODA7 -DBOARD_FREQ=$BOARD_FREQ -DCPU_FREQ=$CPU_FREQ -p "scratchpad -set xilinx_dsp.multonly 1" -p "synth_xilinx -nowidelut -flatten -abc9 -arch xc7 -top SOC; write_json ${PROJECT_NAME}.json" ${VERILOGS}
 | |
| nextpnr-xilinx --chipdb ${CHIPDB_DIR}/xc7a35tcpg236-1.bin --xdc BOARDS/cmod_a7.xdc --json ${PROJECT_NAME}.json --write ${PROJECT_NAME}_routed.json --fasm ${PROJECT_NAME}.fasm
 | |
| fasm2frames --part ${PART} --db-root ${DB_DIR}/artix7 ${PROJECT_NAME}.fasm > ${PROJECT_NAME}.frames
 | |
| xc7frames2bit --part_file ${DB_DIR}/artix7/${PART}/part.yaml --part_name ${PART} --frm_file ${PROJECT_NAME}.frames --output_file ${PROJECT_NAME}.bit
 | |
| #To send to SRAM:
 | |
| openFPGALoader --freq 30e6 -c digilent --fpga-part xc7a35 femtosoc.bit
 | |
| #To send to FLASH: 
 | |
| # openFPGALoader --freq 30e6 -c digilent --fpga-part xc7a35tcpg236 -f femtosoc.bit
 |