clk_cts
|
|--cts_inst1
|--CTB02Q
|--cts_inst2
|--CTB02Q
####
sub trace_sig_down_hier {
my $vdb=shift;
my $module=shift;
my $signal=shift;
my $instance=shift;
my $level=shift;
print "DEBUG: $module:$module:$signal:$instance:$level\n";
my($imod,$iname,$port,$l,@connections);
SIG:foreach my $sig (sort &rvp::get_modules_signals($vdb,$module)) {
next SIG if ($sig ne $signal);
for (($imod,$iname,$port,$l) =
&rvp::get_first_signal_port_con($vdb,$module,$sig );
$imod;
($imod,$iname,$port,$l) =
&rvp::get_next_signal_port_con($vdb)) {
print "DC:$imod,$iname,$port,\n";
if(&rvp::module_exists($vdb,$module)) {
my $full_path = $instance . "/" . $iname;
$level++;
my @sub_conns = &trace_sig_down_hier($vdb,$imod,$port,$full_path,$level);
push @connections,@sub_conns;
}
my $sig_path;
if ($instance) {
$sig_path = $instance . "/" . $port;
}else{
$sig_path = $module . "/" . $port;
}
push @connections, $sig_path;
#print "SUB : $sig_path\n";
}
}
return @connections;
}
####
11:57_dcollins_HOME_[267]>./tk_verilog.pl
HL: no_gated_clk_cts_1:no_gated_clk_cts_1:
5 : clk_cts
DEBUG: no_gated_clk_cts_1:no_gated_clk_cts_1:clk_cts:no_gated_clk_cts_1:0
DC:cts_env_1,cts_inst,y,
DC:cts_env_1,cts2_inst,y,
DC:cts_env_3,cts3_inst,y,
####
HL: no_gated_clk_cts_1:no_gated_clk_cts_1:
5 : clk_cts
DEBUG: no_gated_clk_cts_1:no_gated_clk_cts_1:clk_cts:no_gated_clk_cts_1:0
DC:cts_env_1,cts_inst,y,
DEBUG: cts_env_1:cts_env_1:y:no_gated_clk_cts_1/cts_inst:1
DC:CTB02Q,cts_inst,Y,
DEBUG: CTB02Q:CTB02Q:Y:no_gated_clk_cts_1/cts_inst/cts_inst:2