diff options
author | David Shah <dave@ds0.me> | 2019-04-03 16:08:33 +0100 |
---|---|---|
committer | David Shah <dave@ds0.me> | 2019-04-03 16:08:33 +0100 |
commit | 6fffe24177f9b99d6c332c18e343648cf33d4397 (patch) | |
tree | a75edfc7a224b588af0d7d7656915db8246d4506 /generic/arch.cc | |
parent | a05593da624d08e6b5c0356448238639479dd250 (diff) | |
download | nextpnr-6fffe24177f9b99d6c332c18e343648cf33d4397.tar.gz nextpnr-6fffe24177f9b99d6c332c18e343648cf33d4397.tar.bz2 nextpnr-6fffe24177f9b99d6c332c18e343648cf33d4397.zip |
generic: GUI Python bindings
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'generic/arch.cc')
-rw-r--r-- | generic/arch.cc | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/generic/arch.cc b/generic/arch.cc index 01f7ef55..08146b65 100644 --- a/generic/arch.cc +++ b/generic/arch.cc @@ -18,6 +18,7 @@ */ #include <math.h> +#include <iostream> #include "nextpnr.h" #include "placer1.h" #include "router1.h" @@ -201,7 +202,10 @@ void Arch::setDelayScaling(double scale, double offset) // --------------------------------------------------------------- -Arch::Arch(ArchArgs args) : chipName("generic"), args(args) {} +Arch::Arch(ArchArgs args) : chipName("generic"), args(args) { + // Dummy for empty decals + decal_graphics[IdString()]; +} void IdString::initialize_arch(const BaseCtx *ctx) {} @@ -469,7 +473,13 @@ bool Arch::route() { return router1(getCtx(), Router1Cfg(getCtx())); } // --------------------------------------------------------------- -const std::vector<GraphicElement> &Arch::getDecalGraphics(DecalId decal) const { return decal_graphics.at(decal); } +const std::vector<GraphicElement> &Arch::getDecalGraphics(DecalId decal) const { + if (!decal_graphics.count(decal)) { + std::cerr << "No decal named " << decal.str(this) << std::endl; + log_error("No decal named %s!\n", decal.c_str(this)); + } + return decal_graphics.at(decal); +} DecalXY Arch::getBelDecal(BelId bel) const { return bels.at(bel).decalxy; } |