#!/usr/bin/perl # # Turn a netlist into a wire-wrap list. # This version correctly places as many connections as possible in # the first layer of connections. What it doesn't do, is to use # geographical information about component placement to sort the # wire list. As a result you can zig-zag all over the board, for # now. # # Vince # # # Open the netlist. open(INPUT, "NetList.txt") || die "NetList.txt: $!"; # # Ignore the headers and stuff. while ( !~ /^Net/) { }; # # Read in the netlist. @list1 = @list2 = (); while () { next if /^$/; @f = split(/\s+/); if ($f[0]) { $signal = $f[0] if $f[0]; $start = "$f[1].$f[2]"; $level = 1; next; } die unless $signal; $end = "$f[1].$f[2]"; if ($level == 1) { push(@list1, "$start\t$end"); } else { push(@list2, "$start\t$end"); } $start = $end; $level = 3 - $level; } # # Lay out the wires. foreach $connection (sort @list1) { print "$connection\n"; } foreach $connection (sort @list2) { print "$connection\n"; }