|
|
researchv10 Dan Cross
NPROC=3
HWLIB=/n/coma/usr/tom/hw/lib
PINLIB=$HWLIB/*.pins /n/coma/usr/ucds/lib/lib/pins
PKGLIB=$HWLIB/*.pkg
ENVIRON="$ENVIRON
upper(){
echo \$* | tr a-z A-Z
}
paltype(){
sed -n '/^\.t[ ]/{
s/.*PAL//p
q
}' \$1
}"
WFILES=${JFILES:%.j=%.w}
GFILES=${JFILES:%.j=%.g}
AFILES=${JFILES:%.j=%.a}
FILES=${JFILES:%.j=%}
PALP=${PAL:%.e=%.p}
MIN=${PAL:%.e=%.min}
WHAT='again|annotate|check|clip|commit|draw|fix|list|net|pins|place|schematics|smoke|wr|wrap'
^($WHAT)\$:RN: $NAME.\\1
%.p: %.e
lde -W $stem.e >$stem.p
%.min: %.e %.p
lde -a $stem.e | quine | cover | hazard >$stem.ng
pal -d `paltype $stem.p` $stem.ng >/dev/null
mv $stem.ng $stem.min
'^([^.]+)\.drom\.([^.]+)$':R: \\1.min \\1.p
man=`upper $stem2`
type=`paltype $stem1.p`
pal -d $type $stem1.min | tee to | drom -w -t$man$type
sleep 5
drom -t$man$type >from
cmp to from
%.w: %.j
jraw -w -k $stem.j | sed 's/\$N00/$'$stem'/' >$stem.w
%.w: %.g
jraw -w $stem.g | sed 's/\$N00/$'$stem'/' >$stem.w
%.a: %.j %.w $NAME.wx
annotate $NAME.wx $stem.w
cat $stem.j >>$stem.a
%.A:V: %.g %.w $NAME.wx
Annotate $NAME.wx $stem.w
cat $stem.g >>$stem.a
%.annotate: $WFILES $NAME.wx
Annotate $NAME.wx $WFILES
for i in $FILES
do
cat $i.g >>$i.a
done
%.schematics: %.annotate
grawp $AFILES | pic | troff | gcan
%.list:Q: $NAME.wx
wxlist $prereq
%.smoke: %.wx %.pins
smoke -px $prereq >eyes
%.fx: %.wx
fizz cvt $stem.wx >$stem.fx
%.place: %.brd %.pkg %.fx
if [ ! -f $stem.pos ]; then touch $stem.pos; fi
cat $prereq >$stem.-pos
fizz place $stem.-pos $stem.pos
rm $stem.-pos
%.check: %.brd %.pkg %.fx %.pos
fizz check -uw $prereq
%.clip: %.brd %.pkg %.fx %.pos
fizz clip $prereq
%.draw:Q: %.brd %.pkg %.fx %.pos
fizz draw -p $prereq
%.wr: %.brd %.pkg %.fx %.pos
fizz wrap -c -v $prereq >N$target
if [ -f $target ]; then
rework $target N$target && mv NEW.wr N$target
else
mv N$target $target
fi
%.wrap:Q:
if [ -f N$stem.wr ]; then
wrap -s -r$ORIENT -d30 UN.wr
wrap -s -r$ORIENT -d30 RE.wr
else
wrap -s -r$ORIENT -d30 $stem.wr
fi
%.fix:
wrap -s -r$ORIENT -d30 fix.wr
%.commit:
mv N$stem.wr $stem.wr && rm -f UN.wr RE.wr .lastwire
$NAME.pins: $WFILES $PALP my.pins io.pins
ucds mkpins $prereq $PINLIB >pins.ng 2>errors
sed '/^\.[tT][tT]/s/[zZ]/g/g' pins.ng >$target
rm pins.ng
$NAME.wx: $NAME.pins $WFILES
ucds cdmglob -f -v $prereq >$NAME.wX 2>errors
sed '
/\/\//s/ .*\/\// /
/\.\//s/\([ ][ ]*[^/][^/]*\)\/.*\/\.\(\/.*\)/\1\2/
s/ \// /
' $NAME.wX >$target
rm $NAME.wX
$NAME.pkg: $NAME.wx my.pkg $PKGLIB
getpkgs $prereq >pkg.ng 2>errors
mv pkg.ng $target
pal:Q: $MIN
for i in $PALP
do
echo -n $i
echo `paltype $i` | findparts -n
done
my.pkg my.pins io.pins:
touch $target
name:
whatis NAME JFILES PAL WFILES GFILES FILES PALP MIN
TIDYLIST='*.ng fizz.* mon.out core eyes errors from to'
tidy:
rm -f $TIDYLIST
clean:
rm -f $NAME.pins $NAME.pkg *.[pw] *.[fw]x *.min $TIDYLIST
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.