Home > Community > Forums > Digital Implementation > Adding Routing blockage around boundary of block

Email

* Required Fields

Recipients email * (separate multiple addresses with commas)

Your name *

Your email *

Message *

Contact Us

* Required Fields
First Name *

Last Name *

Email *

Company / Institution *

Comments: *

 Adding Routing blockage around boundary of block 

Last post Tue, Jul 1 2014 11:54 PM by NaikGangadhar. 0 replies.
Started by NaikGangadhar 01 Jul 2014 11:54 PM. Topic has 0 replies and 395 views
Page 1 of 1 (1 items)
Sort Posts:
  • Tue, Jul 1 2014 11:54 PM

    • NaikGangadhar
    • Not Ranked
    • Joined on Fri, Jun 27 2014
    • Bangalore, Karnataka
    • Posts 1
    • Points 5
    Adding Routing blockage around boundary of block Reply

    Hi All,

     

    I would like share the the script to create the routing blockage around the boundary of block.

     Note :

    1) This is technology specific script.

    2) You have edit the metal layer name as per your requirement.

     

    Proc is as follows :

     proc createRouteBlkBoundray {width} {

    ## Create rectilinear floorplan shape

    #

    set fplanPolygon [dbShape -output polygon [dbGet top.fplan.boxes]]

    #

    # Create routing blockage around inside of block boundary with width $blkgWidth

    #

    set blkgWidth $width

    set sizeValue [expr 0 - $blkgWidth]

    set shrunkBox [dbShape $fplanPolygon SIZE $sizeValue]

    set donut [dbShape $fplanPolygon ANDNOT $shrunkBox]

          foreach rect $donut {

       set xl [lindex $rect 0]

       set yl [lindex $rect 1]

       set xu [lindex $rect 2]

       set yu [lindex $rect 3]


       if [ expr $xl > $xu ] {

        set xdiff [expr $xl - $xu] 

       } else {

        set xdiff [expr $xu - $xl]

       }


       if [ expr $yl > $yu ] {

        set ydiff [expr $yl - $yu] 

       } else {

        set ydiff [expr $yu - $yl]

       }


       if {[ expr $xdiff - $width] == "0" } {

        #set layer "vertical"

                   #  -layer needs to change as per your technology or as per your requirement 

        createRouteBlk -box $rect -layer {M3 M5}

       } else {

        #set layer "horizonal"

                  #  -layer needs to change as per your technology or as per your requirement  

        createRouteBlk -box $rect -layer {M1 M2 M4 M6}

       }

          }


    }

    Usage is as follows :

     #createRouteBlkBoundray <width in um>

    In case of 0.5 micron, type below 

     createRouteBlkBoundray 0.5

     

    Regards,

    Gangadhar Naik

     

    Regards, Gangadhar Naik
    • Post Points: 5
Page 1 of 1 (1 items)
Sort Posts:
Started by NaikGangadhar at 01 Jul 2014 11:54 PM. Topic has 0 replies.