Home > Community > Forums > Custom IC SKILL > Uniquify Bus List in the Schematic

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

 Uniquify Bus List in the Schematic 

Last post Thu, Jul 26 2012 11:50 AM by skillseeker. 2 replies.
Started by skillseeker 26 Jul 2012 10:33 AM. Topic has 2 replies and 1386 views
Page 1 of 1 (3 items)
Sort Posts:
  • Thu, Jul 26 2012 10:33 AM

    Uniquify Bus List in the Schematic Reply

     Hello,

    I am trying to report the buses in the schematic. When i am reporting them i want to be able to uniquify the buses. For example.

     

    If i have TRIM<7:0> Bus split into TRIM<4:0> , TRIM<7:5> i want to report only one bus TRIM<7:0>

       vectorNets = setof(x cvId~>nets x~>numBits > 1) ;

    The command is what i am using to get the BUSES in the design but would like to get help to report only one unique bus.

     

    Thanks

     

     

    • Post Points: 20
  • Thu, Jul 26 2012 11:00 AM

    • dmay
    • Top 25 Contributor
    • Joined on Thu, Jul 17 2008
    • Allen, TX
    • Posts 394
    • Points 7,420
    Re: Uniquify Bus List in the Schematic Reply

    Here is something to get you started. As it is, it assumes that the bus is consecutive. It uses the minimum and maximum bits to define the range and then always reports them low to high. You will need to adjust it to get what you want, but it gives you one way to look at the problem using the expanded buses as found in the signals list.

     procedure(fullBuses(@optional (cv geGetEditCellView()))
      let((busList)
        busTable = makeTable("busTable" nil)
        foreach(sig cv~>signals
            bus = parseString(sig~>name "<>")
            when(length(bus) > 1
                busTable[car(bus)] = cons(evalstring(cadr(bus)) busTable[car(bus)])
            )
        )
        foreach(busName busTable
            bits = busTable[busName]
            if(length(bits) > 1
                busList = cons(sprintf(nil "%s<%d:%d>" busName apply('min bits) apply('max bits)) busList)
                busList = cons(sprintf(nil "%s<%d>" busName car(bits)) busList)
            )
        )
        busList
      ) ;let
    ) ;proc

    Derek

    • Post Points: 5
  • Thu, Jul 26 2012 11:50 AM

    RE: Uniquify Bus List in the Schematic Reply
    Thanks for your help i will try this and let you know how it went...

    Thanks
    Devender Poreddy
    • Post Points: 5
Page 1 of 1 (3 items)
Sort Posts:
Started by skillseeker at 26 Jul 2012 10:33 AM. Topic has 2 replies.