my $object = { name => $name ,
port_list => [] ,
verilog_list => [] ,
signal_list => [] ,
instance_list => [] };
####
{
package Signal;
sub _define{
my $type = shift ;
my $name = shift ;
my $width = shift ;
if(($type ne "reg") && ($type ne "wire")) {
printf("\n***** ERROR: Wrong Signal type %s\n",$type);
exit(1);
}
my $object = { type => $type ,
name => $name ,
width => $width };
bless($object,__PACKAGE__);
return $object;
}
sub print_defn {
my $self = shift;
printf("\t%s",$self->{type});
if(($self->{width})!=1) {
printf("\t[%d:0]",($self->{width})-1)
}
else {
print(" ");
}
printf("\t\t\t%s;\n",$self->{name});
}
}
####
sub _define{
my $class = shift ;
my $type = shift ;
my $name = shift ;
my $width = shift ;
if(($type ne "reg") && ($type ne "wire")) {
printf("\n***** ERROR: Wrong Signal type %s\n",$type);
exit(1);
}
my $object = { type => $type ,
name => $name ,
width => $width };
bless($object, $class);
return $object;
}