Home > Community > Forums > Custom IC SKILL > Binary Data Bus via programming script

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: *

 Binary Data Bus via programming script 

Last post Thu, Aug 14 2014 11:33 AM by jaleco. 8 replies.
Started by jaleco 21 Jul 2014 09:01 AM. Topic has 8 replies and 584 views
Page 1 of 1 (9 items)
Sort Posts:
  • Mon, Jul 21 2014 9:01 AM

    • jaleco
    • Top 100 Contributor
    • Joined on Wed, Mar 21 2012
    • Albuquerque, NM
    • Posts 74
    • Points 1,060
    Binary Data Bus via programming script Reply

     Is there a simple, automated way of placing vias from a data bus in a binary pattern to instances like decoders?

     

    • Post Points: 20
  • Tue, Jul 29 2014 8:55 AM

    • theopaone
    • Top 50 Contributor
    • Joined on Tue, Feb 12 2013
    • Cedar Park, TX
    • Posts 136
    • Points 2,050
    Re: Binary Data Bus via programming script Reply

     Can you include a picture? I think the interactive router can create busses but I'm not sure how to execute it from SKILL.

    • Post Points: 20
  • Tue, Jul 29 2014 9:18 AM

    • jaleco
    • Top 100 Contributor
    • Joined on Wed, Mar 21 2012
    • Albuquerque, NM
    • Posts 74
    • Points 1,060
    Re: Binary Data Bus via programming script Reply
    Sure, attached is a close up of a small data bus with the first two sets of via connections in the order [0000] [0001].
    • Post Points: 5
  • Tue, Jul 29 2014 9:19 AM

    • jaleco
    • Top 100 Contributor
    • Joined on Wed, Mar 21 2012
    • Albuquerque, NM
    • Posts 74
    • Points 1,060
    Re: Binary Data Bus via programming script Reply
    Sorry, I meant [00000], [00001]....is the order shown for the select signals in the image.  Looking for a way to lay down these via connections automatically.
    • Post Points: 20
  • Tue, Jul 29 2014 9:24 AM

    Re: Binary Data Bus via programming script Reply

    Assuming that you have the connectivity described in a source schematic, this is precisely the kind of thing that the pin to trunk router capability of VSR is good at - you select the horizontal bus and use "Compose Trunk" to mark them as trunks, and then use the Pin to Trunk mode to route them all up.

    There's a Rapid Adoption Kit on using the Pin to Trunk router which can be found on the support site here.

    Regards,

    Andrew.

    • Post Points: 20
  • Tue, Jul 29 2014 9:52 AM

    • jaleco
    • Top 100 Contributor
    • Joined on Wed, Mar 21 2012
    • Albuquerque, NM
    • Posts 74
    • Points 1,060
    Re: Binary Data Bus via programming script Reply

    Andrew,

    thank you so much for the tip.  I will read more about both kits on pin to trunk routing.  For clarification, it looks like these kits are meant for version 6, and XL mode - is that correct?  I do some work still in v5, in L mode, for lack of licenses.  Can the kits be installed with v5?

    • Post Points: 20
  • Tue, Jul 29 2014 9:57 AM

    Re: Binary Data Bus via programming script Reply

    The Virtuoso Space-based Router only exists in IC61X, and this functionality is for IC616 in particular. It also requires some GXL licensing (the router requires VLS GXL tokens).

    If you want this with L in IC5141, you'll have to write some dedicated SKILL code; I don't think you'll find anything built-in which does quite what you want in such an old release. Sorry!

    Regards,

    Andrew.

    • Post Points: 20
  • Thu, Aug 14 2014 11:21 AM

    • jaleco
    • Top 100 Contributor
    • Joined on Wed, Mar 21 2012
    • Albuquerque, NM
    • Posts 74
    • Points 1,060
    Re: Binary Data Bus via programming script Reply

    Being without the GXL license for either version 5 or 6, I adapted the SlotMetal.il form to create a Program Binary Bus form, and changed its enterPath function to an enterPoints function.

    The attached code will accept points for via connections between a data bus and the least significant instance in a one-dimensional array - eg row or column of decoders - and place all the remaining via connections to the array. 

    It incorporates some checks for duplicate point entry and to ensure there are sufficient bits to program the number of instances in the array.  This is only set up to operate using v5 commands, but it shouldn't be too hard to modify.  I have already included a variable in the code to store the results of dbGetDatabaseType(), but it isn't used.

    Assumptions are that the data bus has consistent pitch between all signals and uses the same via connection for all inputs; there is consistent pitch between each true and complement pair (this does not require them to be adjacent though); the programming is conventional binary order from least significant instance to most significant in one direction (up, down, left or right) - no mirroring. 

    The core of the program uses the via parameters from the form to create a via symbolic for each point entered, for each cell instance, using a binary repeating pattern, modifying the X or Y coord for each via placement with respect to the initial point selected for each respective bit from LSB to MSB.

    I don't have the benefit of the SKILL IDE and it hasn't been evaluated and given a LINT score, so please forgive any opportunities to improve the code!

    • Post Points: 5
  • Thu, Aug 14 2014 11:33 AM

    • jaleco
    • Top 100 Contributor
    • Joined on Wed, Mar 21 2012
    • Albuquerque, NM
    • Posts 74
    • Points 1,060
    Re: Binary Data Bus via programming script Reply
    Trying again to attach SKILL file....
    • Post Points: 5
Page 1 of 1 (9 items)
Sort Posts:
Started by jaleco at 21 Jul 2014 09:01 AM. Topic has 8 replies.