i A PHYSICAL IMPLEMENTATION WITH CUSTOM LOW POWER ...
i A PHYSICAL IMPLEMENTATION WITH CUSTOM LOW POWER ...
i A PHYSICAL IMPLEMENTATION WITH CUSTOM LOW POWER ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
#*************************PLACING inp1 ************************#<br />
# Placing Pins inp1<br />
set BANK_NO [expr {$NUMBER_OF_MODULES<br />
-1}]<br />
set Y_LOC $DIE_HEIGHT_ALU_STRIPE<br />
#The subtraction of the input pin spacing is necessary<br />
set X_LOC [expr {$INP1_OFFSET + $CHIP_OFFSET - $INPUT_PIN_SPACING}]<br />
set FLAG 0<br />
set PINS_PER_ALU_COUNT 1<br />
set PIN_COUNT [expr {($NUMBER_OF_MODULES*32)-1}]<br />
for {set i $PIN_COUNT} {$i > -1} {decr i 1} {<br />
if {$PINS_PER_ALU_COUNT == 33} {<br />
if {$FLAG == 0} {<br />
set X_LOC [expr {($X_LOC - (31*$INPUT_PIN_SPACING)) + $PIN_BANK_SPACING +<br />
$INTER_ALU_DISTANCE_MIN}]<br />
set FLAG 1<br />
} else {<br />
set X_LOC [expr {($X_LOC - (31*$INPUT_PIN_SPACING)) + $PIN_BANK_SPACING +<br />
$INTER_ALU_DISTANCE_MAX}] set FLAG 0<br />
}<br />
set PINS_PER_ALU_COUNT 2<br />
} else {<br />
set X_LOC [expr {$X_LOC<br />
+ $INPUT_PIN_SPACING}]<br />
incr PINS_PER_ALU_COUNT 1<br />
}<br />
set PIN_NAME "inp1\\\[$i\\\]"<br />
puts "$PIN_NAME $X_LOC<br />
$Y_LOC"<br />
preassignPin stripe $PIN_NAME<br />
-loc $X_LOC $Y_LOC -layer 2<br />
}<br />
#**************PLACING inp2 pins and<br />
sel bus pins************************#<br />
#Placing Pins inp2<br />
set PIN_COUNT [expr {($NUMBER_OF_MODULES*32)-1}]<br />
set Y_LOC $DIE_HEIGHT_ALU_STRIPE<br />
set X_LOC [expr {$INP2_OFFSET + $CHIP_OFFSET<br />
-$INPUT_PIN_SPACING}]<br />
set FLAG 0<br />
set PINS_PER_ALU_COUNT 1<br />
set BANK_COUNT [expr {$NUMBER_OF_MODULES<br />
-1}]<br />
for {set i $PIN_COUNT} {$i > -1} {decr i 1}<br />
{<br />
if {$PINS_PER_ALU_COUNT == 33} {<br />
set X_LOC [expr {$X_LOC + $INPUT_PIN_SPACING}]<br />
set PIN_NAME "sel_bus\\\[$BANK_COUNT\\\]"<br />
puts "$PIN_NAME"<br />
preassignPin stripe $PIN_NAME -loc $X_LOC $Y_LOC -layer 2<br />
decr BANK_COUNT 1<br />
if {$FLAG == 0} {<br />
set X_LOC [expr {($X_LOC<br />
- (32*$INPUT_PIN_SPACING)) + $PIN_BANK_SPACING +<br />
$ INTER_ALU_DISTANCE_MIN}]<br />
set FLAG 1<br />
} else {<br />
set X_LOC [expr {($X_LOC - (32*$INPUT_PIN_SPACING))<br />
+ $PIN_BANK_SPACING +<br />
$ INTER_ALU_DISTANCE_MAX}]<br />
set FLAG 0<br />
}<br />
set PINS_PER_ALU_COUNT 2<br />
} else {<br />
175