--- wishbone.pl 2009-08-30 11:36:15.520240129 +0200 +++ wishbone.pl_mod 2009-09-03 07:01:29.148541129 +0200 @@ -191,6 +191,7 @@ }; sub read_defines { +my $arg = @ARGV; $priority=0; $masters=0; $slaves=0; @@ -225,10 +226,10 @@ if ($a =~ /^(interconnect)( *)(=)( *)(crossbarswitch|sharedbus)(;?)$/) { $interconnect = $5; } - if ($a =~ /^(signal_groups)( *)(=)( *)([0-1])(;?)($*)/) { + if ($a =~ /^(signal_groups)( *)(=)( *)([0-1])(;?)($arg)/) { $signal_groups = $5; }; - if ($a =~ /^(use_cyc_sel)( *)(=)( *)([0-1])(;?)($*)/) { + if ($a =~ /^(use_cyc_sel)( *)(=)( *)([0-1])(;?)($arg)/) { $use_cyc_sel = $5; }; if ($a =~ /^(mux_type)( *)(=)( *)(mux|andor|tristate)(;?)$/) { @@ -237,7 +238,7 @@ if ($a =~ /^(optimize)( *)(=)( *)(speed|area);?$/) { $optimize = $5; }; - if ($a =~ /^(dat_size|adr_size|tgd_bits|tga_bits|tgc_bits|granularity)( *)(=)( *)([0-9]+)(;?)($*)/) { + if ($a =~ /^(dat_size|adr_size|tgd_bits|tga_bits|tgc_bits|granularity)( *)(=)( *)([0-9]+)(;?)($arg)/) { $dat_size = $5 if $1 eq 'dat_size'; $adr_size = $5 if $1 eq 'adr_size'; $tgd_bits = $5 if $1 eq 'tgd_bits'; @@ -246,20 +247,20 @@ $granularity = $5 if $1 eq 'granularity'; }; - if ($a =~ /^(rename)(_)(tga|tgc|tgd)( *)(=)( *)([a-zA-Z_-]+)(;?)($*)/) { + if ($a =~ /^(rename)(_)(tga|tgc|tgd)( *)(=)( *)([a-zA-Z_-]+)(;?)($arg)/) { if ($3 eq "tga"){$rename_tga=$7}; if ($3 eq "tgc"){$rename_tgc=$7}; if ($3 eq "tgd"){$rename_tgd=$7}; }; # master port setup - if ($a =~ /^(master)( *)([A-Za-z0-9_-]+)($*)/) { + if ($a =~ /^(master)( *)([A-Za-z0-9_-]+)($arg)/) { if($1 eq "master") { master_init($3); }; $a = ; - until ($a =~ /^(end master)($*)/) { - if ($a =~ /^( *)(dat_size|adr_o_hi|adr_o_lo|lock_o|err_i|rty_i|tga_o|tgc_o|priority)( *)(=)( *)(0x)?([0-9a-fA-F]*)(;?)($*)/) { + until ($a =~ /^(end master)($arg)/) { + if ($a =~ /^( *)(dat_size|adr_o_hi|adr_o_lo|lock_o|err_i|rty_i|tga_o|tgc_o|priority)( *)(=)( *)(0x)?([0-9a-fA-F]*)(;?)($arg)/) { $master[$masters]{"$2"}=$7; if (($2 eq "rty_i") && ($7 == 1)) { $rty_i++; }; @@ -273,23 +274,23 @@ if ($2 eq "priority") { $priority += $7; }; }; #end if - if ($a =~ /^( *)(type)( *)(=)( *)(ro|wo|rw)(;?)($*)/) { + if ($a =~ /^( *)(type)( *)(=)( *)(ro|wo|rw)(;?)($arg)/) { $master[$masters]{"$2"}=$6; }; # priority for crossbarswitch - if ($a =~ /^( *)(priority)(_)([0-9a-zA-Z_]*)( *)(=)( *)([0-9]*)(;?)($*)/) { + if ($a =~ /^( *)(priority)(_)([0-9a-zA-Z_]*)( *)(=)( *)([0-9]*)(;?)($arg)/) { $master[$masters]{("priority_"."$4")}=$8; }; $a = ; }; }; # slave port setup - if ($a =~ /^(slave)( *)([A-Za-z0-9_-]+)($*)/) { + if ($a =~ /^(slave)( *)([A-Za-z0-9_-]+)($arg)/) { if ($1 eq "slave") { slave_init($3); }; $a = ; - until ($a =~ /^(end slave)($*)/) { - if ($a =~ /^( *)(dat_i|dat_o|sel_i|adr_i_hi|adr_i_lo|lock_i|tga_i|tgc_i|err_o|rty_o|baseadr|size|baseadr1|size1|baseadr2|size2|baseadr3|size3|cyc_i)( *)(=)( *)(0x)?([0-9a-fA-F]+)(;?)($*)/) { + until ($a =~ /^(end slave)($arg)/) { + if ($a =~ /^( *)(dat_i|dat_o|sel_i|adr_i_hi|adr_i_lo|lock_i|tga_i|tgc_i|err_o|rty_o|baseadr|size|baseadr1|size1|baseadr2|size2|baseadr3|size3|cyc_i)( *)(=)( *)(0x)?([0-9a-fA-F]+)(;?)($arg)/) { $slave[$slaves]{"$2"}=$7; if (($2 eq "rty_o") && ($7 == 1)) { $rty_o++; }; @@ -300,7 +301,7 @@ if (($2 eq "tga_i") && ($7 == 1)) { $tga_i++; }; }; #end if - if ($a =~ /^( *)(type)( *)(=)( *)(ro|wo|rw)(;?)($*)/) { + if ($a =~ /^( *)(type)( *)(=)( *)(ro|wo|rw)(;?)($arg)/) { $slave[$slaves]{"$2"}=$6; }; $a = ; };