aboutsummaryrefslogtreecommitdiffstats
path: root/fpga_interchange/arch.cc
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2021-02-12 22:40:41 +0000
committerGitHub <noreply@github.com>2021-02-12 22:40:41 +0000
commitf1ccc0e20531f63355e3da7c6c5f4f39a684fa3f (patch)
tree09175eb6facecba7890beadcd5cccac2e6b50417 /fpga_interchange/arch.cc
parentcede6825859217e15a0d41cd4cc51b6129902aad (diff)
parent033cc6731b18c89ee0ffbd0be9eab4d2d157980f (diff)
downloadnextpnr-f1ccc0e20531f63355e3da7c6c5f4f39a684fa3f.tar.gz
nextpnr-f1ccc0e20531f63355e3da7c6c5f4f39a684fa3f.tar.bz2
nextpnr-f1ccc0e20531f63355e3da7c6c5f4f39a684fa3f.zip
Merge pull request #582 from litghost/add_xdc_parser
Add XDC parser to FPGA interchange
Diffstat (limited to 'fpga_interchange/arch.cc')
-rw-r--r--fpga_interchange/arch.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/fpga_interchange/arch.cc b/fpga_interchange/arch.cc
index 583813f0..1abf6f30 100644
--- a/fpga_interchange/arch.cc
+++ b/fpga_interchange/arch.cc
@@ -33,6 +33,7 @@
#include "router2.h"
#include "timing.h"
#include "util.h"
+#include "xdc.h"
NEXTPNR_NAMESPACE_BEGIN
@@ -558,6 +559,23 @@ TimingClockingInfo Arch::getPortClockingInfo(const CellInfo *cell, IdString port
return info;
}
+// -----------------------------------------------------------------------
+
+void Arch::read_logical_netlist(const std::string &filename) {}
+void Arch::write_physical_netlist(const std::string &filename) const {}
+
+void Arch::parse_xdc(const std::string &filename)
+{
+ TclInterp interp(getCtx());
+ auto result = Tcl_EvalFile(interp.interp, filename.c_str());
+ if (result != TCL_OK) {
+ log_error("Error in %s:%d => %s\n", filename.c_str(), Tcl_GetErrorLine(interp.interp),
+ Tcl_GetStringResult(interp.interp));
+ }
+}
+
+// -----------------------------------------------------------------------
+
#ifdef WITH_HEAP
const std::string Arch::defaultPlacer = "heap";
#else