28.11.2012 Views

i A PHYSICAL IMPLEMENTATION WITH CUSTOM LOW POWER ...

i A PHYSICAL IMPLEMENTATION WITH CUSTOM LOW POWER ...

i A PHYSICAL IMPLEMENTATION WITH CUSTOM LOW POWER ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!