From 031d8e811f9ce00f0c72e697789f991834d1f8f2 Mon Sep 17 00:00:00 2001 From: David Shah Date: Tue, 12 Jun 2018 13:40:22 +0200 Subject: ice40: Adding a placement validity checker Signed-off-by: David Shah --- ice40/arch_place.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 ice40/arch_place.h (limited to 'ice40/arch_place.h') diff --git a/ice40/arch_place.h b/ice40/arch_place.h new file mode 100644 index 00000000..19b0635f --- /dev/null +++ b/ice40/arch_place.h @@ -0,0 +1,31 @@ +/* + * nextpnr -- Next Generation Place and Route + * + * Copyright (C) 2018 Clifford Wolf + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + */ + +#ifndef ICE40_ARCH_PLACE_H +#define ICE40_ARCH_PLACE_H + +#include "nextpnr.h" +// Architecure-specific placement functions + +// Whether or not a given cell can be placed at a given Bel +// This is not intended for Bel type checks, but finer-grained constraints +// such as conflicting set/reset signals, etc +bool isValidBelForCell(Chip *chip, CellInfo *cell, BelId bel); + +#endif -- cgit v1.2.3 From 47eeda40bce5b520f1c5aafb52f5b4c11b799d60 Mon Sep 17 00:00:00 2001 From: David Shah Date: Tue, 12 Jun 2018 13:45:59 +0200 Subject: Implement the placement validity checker Signed-off-by: David Shah --- ice40/arch_place.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ice40/arch_place.h') diff --git a/ice40/arch_place.h b/ice40/arch_place.h index 19b0635f..8f8ce806 100644 --- a/ice40/arch_place.h +++ b/ice40/arch_place.h @@ -26,6 +26,6 @@ // Whether or not a given cell can be placed at a given Bel // This is not intended for Bel type checks, but finer-grained constraints // such as conflicting set/reset signals, etc -bool isValidBelForCell(Chip *chip, CellInfo *cell, BelId bel); +bool isValidBelForCell(Design *design, CellInfo *cell, BelId bel); #endif -- cgit v1.2.3