108 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
PCF_PATH ?= constraints
 | 
						|
 | 
						|
 | 
						|
ifeq ($(BOARD),Fomu)
 | 
						|
 | 
						|
$(info Setting constraints and implementation args for BOARD Fomu)
 | 
						|
 | 
						|
# Different Fomu hardware revisions are wired differently and thus
 | 
						|
# require different configurations for yosys and nextpnr.
 | 
						|
# Configuration is performed by setting the environment variable FOMU_REV accordingly.
 | 
						|
 | 
						|
FOMU_REV ?= pvt
 | 
						|
 | 
						|
ifeq ($(FOMU_REV),evt1)
 | 
						|
YOSYSFLAGS  ?= -D EVT=1 -D EVT1=1 -D HAVE_PMOD=1
 | 
						|
PNRFLAGS    ?= --up5k --package sg48
 | 
						|
CONSTRAINTS ?= $(PCF_PATH)/$(BOARD)-evt2.pcf
 | 
						|
else ifeq ($(FOMU_REV),evt2)
 | 
						|
YOSYSFLAGS  ?= -D EVT=1 -D EVT2=1 -D HAVE_PMOD=1
 | 
						|
PNRFLAGS    ?= --up5k --package sg48
 | 
						|
CONSTRAINTS ?= $(PCF_PATH)/$(BOARD)-$(FOMU_REV).pcf
 | 
						|
else ifeq ($(FOMU_REV),evt3)
 | 
						|
YOSYSFLAGS  ?= -D EVT=1 -D EVT3=1 -D HAVE_PMOD=1
 | 
						|
PNRFLAGS    ?= --up5k --package sg48
 | 
						|
CONSTRAINTS ?= $(PCF_PATH)/$(BOARD)-$(FOMU_REV).pcf
 | 
						|
else ifeq ($(FOMU_REV),hacker)
 | 
						|
YOSYSFLAGS  ?= -D HACKER=1
 | 
						|
PNRFLAGS    ?= --up5k --package uwg30
 | 
						|
CONSTRAINTS ?= $(PCF_PATH)/$(BOARD)-$(FOMU_REV).pcf
 | 
						|
else ifeq ($(FOMU_REV),pvt)
 | 
						|
YOSYSFLAGS  ?= -D PVT=1
 | 
						|
PNRFLAGS    ?= --up5k --package uwg30
 | 
						|
CONSTRAINTS ?= $(PCF_PATH)/$(BOARD)-$(FOMU_REV).pcf
 | 
						|
else
 | 
						|
$(error Unrecognized FOMU_REV value. must be "evt1", "evt2", "evt3", "pvt", or "hacker")
 | 
						|
endif
 | 
						|
 | 
						|
IMPL := neorv32_Fomu_$(FOMU_REV)_$(ID)
 | 
						|
 | 
						|
endif
 | 
						|
 | 
						|
 | 
						|
ifeq ($(BOARD),iCESugar)
 | 
						|
$(info Setting constraints and implementation args for BOARD iCESugar)
 | 
						|
 | 
						|
CONSTRAINTS ?= $(PCF_PATH)/$(BOARD).pcf
 | 
						|
PNRFLAGS    ?= --up5k --package sg48 --ignore-loops --timing-allow-fail
 | 
						|
IMPL        ?= neorv32_$(BOARD)_$(ID)
 | 
						|
 | 
						|
endif
 | 
						|
 | 
						|
 | 
						|
ifeq ($(BOARD),UPduino)
 | 
						|
$(info Setting constraints and implementation args for BOARD UPduino)
 | 
						|
 | 
						|
UPduino_REV ?= v3
 | 
						|
 | 
						|
CONSTRAINTS ?= $(PCF_PATH)/$(BOARD)_v3.pcf
 | 
						|
PNRFLAGS    ?= --up5k --package sg48 --ignore-loops --timing-allow-fail
 | 
						|
IMPL        ?= neorv32_$(BOARD)_$(UPduino_REV)_$(ID)
 | 
						|
 | 
						|
endif
 | 
						|
 | 
						|
ifeq ($(BOARD),iCEBreaker)
 | 
						|
$(info Setting constraints and implementation args for BOARD iCEBreaker)
 | 
						|
 | 
						|
CONSTRAINTS ?= $(PCF_PATH)/$(BOARD).pcf
 | 
						|
PNRFLAGS    ?= --up5k --package sg48 --ignore-loops --timing-allow-fail
 | 
						|
IMPL        ?= neorv32_$(BOARD)_$(ID)
 | 
						|
 | 
						|
endif
 | 
						|
 | 
						|
 | 
						|
 | 
						|
ifeq ($(BOARD),OrangeCrab)
 | 
						|
$(info Setting constraints and implementation args for BOARD OrangeCrab)
 | 
						|
 | 
						|
DEVICE_SERIES = ecp5
 | 
						|
 | 
						|
OrangeCrab_REV ?= r02-25F
 | 
						|
 | 
						|
CONSTRAINTS ?= $(PCF_PATH)/$(BOARD).lpf
 | 
						|
PNRFLAGS    ?= --25k --package CSFBGA285 --ignore-loops --timing-allow-fail
 | 
						|
IMPL        ?= neorv32_$(BOARD)_$(OrangeCrab_REV)_$(ID)
 | 
						|
 | 
						|
endif
 | 
						|
 | 
						|
ifeq ($(BOARD),AlhambraII)
 | 
						|
$(info Setting constraints and implementation args for BOARD AlhambraII)
 | 
						|
 | 
						|
CONSTRAINTS ?= $(PCF_PATH)/$(BOARD).pcf
 | 
						|
PNRFLAGS    ?= --hx8k --package tq144:4k --ignore-loops --timing-allow-fail
 | 
						|
IMPL        ?= neorv32_$(BOARD)_$(ID)
 | 
						|
 | 
						|
endif
 | 
						|
 | 
						|
 | 
						|
ifeq ($(BOARD),ULX3S)
 | 
						|
$(info Setting constraints and implementation args for BOARD ULX3S)
 | 
						|
 | 
						|
DEVICE_SERIES = ecp5
 | 
						|
 | 
						|
CONSTRAINTS ?= $(PCF_PATH)/$(BOARD).lpf
 | 
						|
PNRFLAGS    ?= --85k --freq 25 --package CABGA381 --ignore-loops --timing-allow-fail
 | 
						|
IMPL        ?= neorv32_$(BOARD)_$(ID)
 | 
						|
 | 
						|
endif
 |