diff options
author | gatecat <gatecat@ds0.me> | 2021-02-12 22:40:41 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-12 22:40:41 +0000 |
commit | f1ccc0e20531f63355e3da7c6c5f4f39a684fa3f (patch) | |
tree | 09175eb6facecba7890beadcd5cccac2e6b50417 /fpga_interchange/arch.cc | |
parent | cede6825859217e15a0d41cd4cc51b6129902aad (diff) | |
parent | 033cc6731b18c89ee0ffbd0be9eab4d2d157980f (diff) | |
download | nextpnr-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.cc | 18 |
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 |