aboutsummaryrefslogtreecommitdiffstats
path: root/fpga_interchange/arch.cc
diff options
context:
space:
mode:
Diffstat (limited to 'fpga_interchange/arch.cc')
-rw-r--r--fpga_interchange/arch.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/fpga_interchange/arch.cc b/fpga_interchange/arch.cc
index 8fd4d9dc..9263f3c4 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
@@ -563,6 +564,16 @@ TimingClockingInfo Arch::getPortClockingInfo(const CellInfo *cell, IdString port
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