read_verilog/link_design support redirection
This commit is contained in:
parent
c3624ed631
commit
8c23d8ef83
|
|
@ -20,9 +20,15 @@ namespace eval sta {
|
||||||
|
|
||||||
define_cmd_args "link_design" {[top_cell_name]}
|
define_cmd_args "link_design" {[top_cell_name]}
|
||||||
|
|
||||||
proc link_design { {top_cell_name ""} } {
|
proc_redirect link_design {
|
||||||
variable current_design_name
|
variable current_design_name
|
||||||
|
|
||||||
|
check_argc_eq0or1 "link_design" $args
|
||||||
|
if { $args == "" } {
|
||||||
|
set top_cell_name ""
|
||||||
|
} else {
|
||||||
|
set top_cell_name [lindex $args 0]
|
||||||
|
}
|
||||||
if { $top_cell_name == "" } {
|
if { $top_cell_name == "" } {
|
||||||
if { $current_design_name == "" } {
|
if { $current_design_name == "" } {
|
||||||
sta_error 593 "missing top_cell_name argument and no current_design."
|
sta_error 593 "missing top_cell_name argument and no current_design."
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ using sta::readVerilogFile;
|
||||||
%inline %{
|
%inline %{
|
||||||
|
|
||||||
bool
|
bool
|
||||||
read_verilog(const char *filename)
|
read_verilog_cmd(const char *filename)
|
||||||
{
|
{
|
||||||
Sta *sta = Sta::sta();
|
Sta *sta = Sta::sta();
|
||||||
NetworkReader *network = sta->networkReader();
|
NetworkReader *network = sta->networkReader();
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,10 @@ namespace eval sta {
|
||||||
# Defined by SWIG interface Verilog.i.
|
# Defined by SWIG interface Verilog.i.
|
||||||
define_cmd_args "read_verilog" {filename}
|
define_cmd_args "read_verilog" {filename}
|
||||||
|
|
||||||
|
proc_redirect read_verilog {
|
||||||
|
read_verilog_cmd $args
|
||||||
|
}
|
||||||
|
|
||||||
define_cmd_args "write_verilog" {[-sort] [-include_pwr_gnd]\
|
define_cmd_args "write_verilog" {[-sort] [-include_pwr_gnd]\
|
||||||
[-remove_cells cells] filename}
|
[-remove_cells cells] filename}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1804,7 +1804,7 @@ VerilogReader::makeModuleInstNetwork(VerilogModuleInst *mod_inst,
|
||||||
if (make_black_boxes) {
|
if (make_black_boxes) {
|
||||||
cell = makeBlackBox(mod_inst, parent_module);
|
cell = makeBlackBox(mod_inst, parent_module);
|
||||||
linkWarn(198, filename_, mod_inst->line(),
|
linkWarn(198, filename_, mod_inst->line(),
|
||||||
"module %s not found. Creating black box for %s.",
|
"module %s not found. Creating black box for %s.",
|
||||||
mod_inst->moduleName(),
|
mod_inst->moduleName(),
|
||||||
verilogName(mod_inst));
|
verilogName(mod_inst));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue