From e848a7b08d090573c9461f945d46391cef295b5b Mon Sep 17 00:00:00 2001 From: "Emil J. Tywoniak" Date: Tue, 27 May 2025 17:19:40 +0200 Subject: [PATCH] sdc: fix --- passes/cmds/sdc.cc | 7 +++++-- passes/cmds/stubs.sdc | 5 ----- tests/various/sdc.sdc | 5 +++++ 3 files changed, 10 insertions(+), 7 deletions(-) create mode 100644 tests/various/sdc.sdc diff --git a/passes/cmds/sdc.cc b/passes/cmds/sdc.cc index 28a32faff..0343c6b09 100644 --- a/passes/cmds/sdc.cc +++ b/passes/cmds/sdc.cc @@ -19,7 +19,9 @@ static bool parse_flag(char* arg, const char* flag_name, T& flag_var) { return false; } -// TODO return values like json_to_tcl on result.json +// TODO return values like json_to_tcl on result.json? +// TODO vectors +// TODO cell arrays? static int sdc_get_pins_cmd(ClientData, Tcl_Interp *interp, int objc, Tcl_Obj* const objv[]) { @@ -82,7 +84,7 @@ static int sdc_get_ports_cmd(ClientData, Tcl_Interp *interp, int objc, Tcl_Obj* for (; i < objc; i++) { patterns.push_back(Tcl_GetString(objv[i])); } - log("get_pins patterns:\n"); + log("get_ports patterns:\n"); for (auto pat : patterns) { log("\t%s\n", pat.c_str()); } @@ -179,6 +181,7 @@ struct SdcObjects { sniff_module(hierarchy, top); } void dump() { + log("Dumping detected design objects visible to SDC constraints\n"); log("Ports:\n"); for (auto name : ports) { log("\t%s\n", name.c_str()); diff --git a/passes/cmds/stubs.sdc b/passes/cmds/stubs.sdc index c219e77ea..8659ca392 100644 --- a/passes/cmds/stubs.sdc +++ b/passes/cmds/stubs.sdc @@ -44,7 +44,6 @@ stub delete_power_rails stub endgroup stub get_bel_pins stub get_bels -stub get_cells stub get_clocks stub get_debug_cores stub get_debug_ports @@ -52,16 +51,13 @@ stub get_generated_clocks stub get_hierarchy_separator stub get_iobanks stub get_macros -stub get_nets stub get_nodes stub get_package_pins stub get_path_groups stub get_pblocks -stub get_pins stub get_pips stub get_pkgpin_bytegroups stub get_pkgpin_nibbles -stub get_ports stub get_power_rails stub get_property stub get_site_pins @@ -71,7 +67,6 @@ stub get_slrs stub get_speed_models stub get_tiles stub get_timing_arcs -stub get_wires stub group_path stub make_diff_pair_ports stub remove_cells_from_pblock diff --git a/tests/various/sdc.sdc b/tests/various/sdc.sdc new file mode 100644 index 000000000..69efcb40a --- /dev/null +++ b/tests/various/sdc.sdc @@ -0,0 +1,5 @@ +puts "SDC constraints file says hello from arbitrary Tcl execution" +set_false_path -from [get_pins s1/sa] -to [get_pins s1/sb] +puts "This should print something:" +puts [get_ports {slink_clk_o slink_*_o}] +puts "Did it?" \ No newline at end of file