|  | # Copyright (C) 2017-2020  The Project X-Ray Authors. | 
|  | # | 
|  | # Use of this source code is governed by a ISC-style | 
|  | # license that can be found in the LICENSE file or at | 
|  | # https://opensource.org/licenses/ISC | 
|  | # | 
|  | # SPDX-License-Identifier: ISC | 
|  | YOSYS = $(XRAY_DIR)/third_party/yosys/yosys | 
|  | PART = xc7a35tcsg324-1 | 
|  | BIT2FASM_ARGS = --part "$(XRAY_DIR)/database/artix7/$(PART)" --verbose | 
|  | SOURCES = mem.init mem_1.init top.v VexRiscv_Linux.v | 
|  |  | 
|  | all: top.fasm top.bits segprint.log | 
|  |  | 
|  | clean: | 
|  | @rm -f *.edif | 
|  | @rm -f *.bit | 
|  | @rm -f *.bin | 
|  | @rm -f *.bits | 
|  | @rm -f *.fasm | 
|  | @rm -f *.log | 
|  | @rm -rf build | 
|  |  | 
|  | .PHONY: all clean | 
|  |  | 
|  | $(YOSYS): | 
|  | cd $(XRAY_DIR)/third_party/yosys && make config-gcc && make -j$(shell nproc) | 
|  |  | 
|  | top.edif: $(YOSYS) synth.ys $(SOURCES) | 
|  | $(YOSYS) -s synth.ys -l yosys.log | 
|  |  | 
|  | top.bit: $(VIVADO) top.edif top.xdc top.tcl | 
|  | mkdir -p build | 
|  | cd build && $(XRAY_VIVADO) -mode batch -source ../top.tcl -nojournal -tempDir build -log vivado.log -verbose | 
|  | python3 $(XRAY_UTILS_DIR)/clean_json5.py < build/iobuf_report.json5 > build/iobuf_report.json | 
|  | cp build/*.bit ./ | 
|  |  | 
|  | top.fasm: top.bit | 
|  | PYTHONPATH="$(XRAY_DIR):$(XRAY_DIR)/utils:$(XRAY_DIR)/third_party/fasm" \ | 
|  | PATH="$(XRAY_DIR)/build/tools:$(PATH)" \ | 
|  | $(XRAY_BIT2FASM) $(BIT2FASM_ARGS) \ | 
|  | top.bit >top.fasm \ | 
|  | || (rm -f top.fasm && exit 1) | 
|  |  | 
|  | top.bits: top.bit | 
|  | $(XRAY_BITREAD) -part_file $(XRAY_DIR)/database/artix7/$(PART).yaml -o top.bits -z -y top.bit | 
|  |  | 
|  | segprint.log: top.bits | 
|  | $(XRAY_SEGPRINT) -z -D -b top.bits > segprint.log |