From 3e343bbda7a3f619207e8c96dead8af08a178cb3 Mon Sep 17 00:00:00 2001 From: Keith Rothman <537074+litghost@users.noreply.github.com> Date: Mon, 8 Apr 2019 15:59:51 -0700 Subject: [PATCH] Add fuzzer for documenting pin to pad relationship for part. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com> --- fuzzers/075-pins/Makefile | 23 +++++++++++++++++++++++ fuzzers/075-pins/generate.sh | 6 ++++++ fuzzers/075-pins/generate.tcl | 16 ++++++++++++++++ fuzzers/Makefile | 1 + 4 files changed, 46 insertions(+) create mode 100644 fuzzers/075-pins/Makefile create mode 100644 fuzzers/075-pins/generate.sh create mode 100644 fuzzers/075-pins/generate.tcl diff --git a/fuzzers/075-pins/Makefile b/fuzzers/075-pins/Makefile new file mode 100644 index 00000000..cedfc7f9 --- /dev/null +++ b/fuzzers/075-pins/Makefile @@ -0,0 +1,23 @@ +N := 1 +SPECIMENS := $(addprefix build/specimen_,$(shell seq -f '%03.0f' $(N))) +SPECIMENS_OK := $(addsuffix /OK,$(SPECIMENS)) + +database: $(SPECIMENS_OK) + +pushdb: + cp build/specimen_001/*_package_pins.csv ${XRAY_DATABASE_DIR}/$(XRAY_DATABASE)/ + +$(SPECIMENS_OK): + bash generate.sh $(subst /OK,,$@) + touch $@ + +run: + $(MAKE) clean + $(MAKE) database + $(MAKE) pushdb + touch run.ok + +clean: + rm -rf build run.ok + +.PHONY: database pushdb run clean diff --git a/fuzzers/075-pins/generate.sh b/fuzzers/075-pins/generate.sh new file mode 100644 index 00000000..e6b0e2c6 --- /dev/null +++ b/fuzzers/075-pins/generate.sh @@ -0,0 +1,6 @@ +#!/bin/bash -x + +source ${XRAY_GENHEADER} + +${XRAY_VIVADO} -mode batch -source $FUZDIR/generate.tcl + diff --git a/fuzzers/075-pins/generate.tcl b/fuzzers/075-pins/generate.tcl new file mode 100644 index 00000000..d5d45718 --- /dev/null +++ b/fuzzers/075-pins/generate.tcl @@ -0,0 +1,16 @@ +create_project -force -part $::env(XRAY_PART) design design +set_property design_mode PinPlanning [current_fileset] +open_io_design -name io_1 + +set fp [open $::env(XRAY_PART)_package_pins.csv w] +puts $fp "pin,site,tile" +foreach pin [get_package_pins] { + set site [get_sites -quiet -of_object $pin] + if { $site == "" } { + continue + } + + set tile [get_tiles -of_object $site] + + puts $fp "$pin,$site,$tile" +} diff --git a/fuzzers/Makefile b/fuzzers/Makefile index ac61f733..e3bc6100 100644 --- a/fuzzers/Makefile +++ b/fuzzers/Makefile @@ -103,6 +103,7 @@ ifneq ($(BITONLY),Y) $(eval $(call fuzzer,072-ordered_wires,)) $(eval $(call fuzzer,073-get_counts,)) $(eval $(call fuzzer,074-dump_all,005-tilegrid 072-ordered_wires)) +$(eval $(call fuzzer,075-pins,)) endif endif $(eval $(call fuzzer,100-dsp-mskpat,005-tilegrid))