Help! Bus notation on schematics
CADForums.net Forum Index CADForums.net
Discussion of AutoCAD and other CAD software.
 
 FAQFAQ   MemberlistMemberlist     RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Google
 
Web cadforums.net
Help! Bus notation on schematics

 
Post new topic   Reply to topic    CADForums.net Forum Index -> Cadence
Author Message
JC
Guest





Posted: Fri Oct 28, 2005 12:10 am    Post subject: Help! Bus notation on schematics Reply with quote

Hi,

Using the Cadence schematic tool, I have a cell instantiated 128 times,
Icell1<127:0>.

I want groups of 4 cells at the time to have the same input, so there will
be 32 signals, x<31:0> going to 128 cells.

I can label the bus to the input

etc., x<1>, x<1>, x<1>, x<1>, x<0>, x<0>, x<0>, x<0>

but it is a very long string.

What is the syntax to abbreviate it, such as

etc., ((x<1>) *4), ((x<0>) *4)

or something even shorter such as

bit=0; (((x<bit + 1>) *4) *32)



Thanks,

Joe
joe.clark@nospm@adtran.com

Back to top
Bernd Fischer
Guest





Posted: Fri Oct 28, 2005 12:10 pm    Post subject: Re: Help! Bus notation on schematics Reply with quote

Virtuoso Schematic Editor User Guide,
Section: Multiple-Bit Wire Connections
Section: Wire-to-Iterated Instance Connections
Section: Multiple-Bit Wire Naming Conventions


Bernd

JC wrote:
Quote:
Hi,

Using the Cadence schematic tool, I have a cell instantiated 128 times,
Icell1<127:0>.

I want groups of 4 cells at the time to have the same input, so there will
be 32 signals, x<31:0> going to 128 cells.

I can label the bus to the input

etc., x<1>, x<1>, x<1>, x<1>, x<0>, x<0>, x<0>, x<0

but it is a very long string.

What is the syntax to abbreviate it, such as

etc., ((x<1>) *4), ((x<0>) *4)

or something even shorter such as

bit=0; (((x<bit + 1>) *4) *32)



Thanks,

Joe
joe.clark@nospm@adtran.com







Back to top
Gerry Vandevalk
Guest





Posted: Tue Nov 01, 2005 8:33 am    Post subject: Re: Help! Bus notation on schematics Reply with quote

All:

I defy anyone at Cadence to tell me exactly how bus ripping works.
The documents below describe a subset legal bus definitions that work, but
other esoteric combinations work.
The custom memory group at my ex-employer used some pretty wild combinations
that worked.
As a matter of fact, they would write bus def's just like you describe them
( something like <4*i<31:0>> and they would get the bus you describe .. )
I will ask former member of the group for the syntax he uses and post it!

-- Gerry




"Bernd Fischer" <""bernd.fischer\"@xignal-A%&HY%$v#&G=.de"> wrote in message
news:3se81dFnsi5dU1@individual.net...
Quote:
Virtuoso Schematic Editor User Guide,
Section: Multiple-Bit Wire Connections
Section: Wire-to-Iterated Instance Connections
Section: Multiple-Bit Wire Naming Conventions


Bernd

JC wrote:
Hi,

Using the Cadence schematic tool, I have a cell instantiated 128 times,
Icell1<127:0>.

I want groups of 4 cells at the time to have the same input, so there
will be 32 signals, x<31:0> going to 128 cells.

I can label the bus to the input

etc., x<1>, x<1>, x<1>, x<1>, x<0>, x<0>, x<0>, x<0

but it is a very long string.

What is the syntax to abbreviate it, such as

etc., ((x<1>) *4), ((x<0>) *4)

or something even shorter such as

bit=0; (((x<bit + 1>) *4) *32)



Thanks,

Joe
joe.clark@nospm@adtran.com








Back to top
Andrew Beckett
Guest





Posted: Thu Nov 10, 2005 1:10 am    Post subject: Re: Help! Bus notation on schematics Reply with quote

Oh, it's really not as complicated as all that! Starting with the one
that is wanted, here's a variety of examples of varying complexity (the
examples are followed with an representation of the sequence they
expand to).

Put simply - 0:n*m repeats each bit m times, whereas (0:n)*m repeats
the whole 0:n range m times one after the other. Then you can concatenate
them too, and further group them with parentheses, and so on.

x<0:31*4>

0,0,0,0,1,1,1,1,2,2,2,2....,31,31,31,31

x<(0:31)*4>

0,1,2,3,4,5,6,...31,0,1,2,3,4,5,6,...31,...

x<(0:31*2)*2>

0,0,1,1,2,2,3,3,...,31,31,0,0,1,1,2,2,3,3,...,31,31

x<0:31*2,31:0*2>

0,0,1,1,2,2,3,3,...,31,31,31,31,30,30,29,29,...,2,2,1,1,0,0

x<(0:31,31:0)*2>

0,1,2,3,4,...,31,31,30,29,...,2,1,0,0,1,2,3,4,...,31,31,30,29,...,2,1,0

Regards,

Andrew.

On Mon, 31 Oct 2005 21:33:38 -0500, "Gerry Vandevalk" <g_vandevalk@yahoo.com>
wrote:

Quote:
All:

I defy anyone at Cadence to tell me exactly how bus ripping works.
The documents below describe a subset legal bus definitions that work, but
other esoteric combinations work.
The custom memory group at my ex-employer used some pretty wild combinations
that worked.
As a matter of fact, they would write bus def's just like you describe them
( something like <4*i<31:0>> and they would get the bus you describe .. )
I will ask former member of the group for the syntax he uses and post it!

-- Gerry




"Bernd Fischer" <""bernd.fischer\"@xignal-A%&HY%$v#&G=.de"> wrote in message
news:3se81dFnsi5dU1@individual.net...
Virtuoso Schematic Editor User Guide,
Section: Multiple-Bit Wire Connections
Section: Wire-to-Iterated Instance Connections
Section: Multiple-Bit Wire Naming Conventions


Bernd

JC wrote:
Hi,

Using the Cadence schematic tool, I have a cell instantiated 128 times,
Icell1<127:0>.

I want groups of 4 cells at the time to have the same input, so there
will be 32 signals, x<31:0> going to 128 cells.

I can label the bus to the input

etc., x<1>, x<1>, x<1>, x<1>, x<0>, x<0>, x<0>, x<0

but it is a very long string.

What is the syntax to abbreviate it, such as

etc., ((x<1>) *4), ((x<0>) *4)

or something even shorter such as

bit=0; (((x<bit + 1>) *4) *32)



Thanks,

Joe
joe.clark@nospm@adtran.com






Back to top
Gerry Vandevalk
Guest





Posted: Mon Nov 14, 2005 1:10 am    Post subject: Re: Help! Bus notation on schematics Reply with quote

Yes it can be easy, but you can nest them in complex ways and they still
work.
(negative counting works too in x<31:0> arrays or more complex like
y<31:0:-2> (i think!) )

by the way ... don't you mean

x<0:31>*4

expands to

x<0>,x<0>,x<0>,x<0>,x<1>,x<1>, ... ,x<31>,x<31>

etc.

-- Gerry

"Andrew Beckett" <andrewb@DcEaLdEeTnEcTe.HcIoSm> wrote in message
news:hkt4n156ucsjit4plg4ojnfp376b60po3d@4ax.com...
Quote:
Oh, it's really not as complicated as all that! Starting with the one
that is wanted, here's a variety of examples of varying complexity (the
examples are followed with an representation of the sequence they
expand to).

Put simply - 0:n*m repeats each bit m times, whereas (0:n)*m repeats
the whole 0:n range m times one after the other. Then you can concatenate
them too, and further group them with parentheses, and so on.

x<0:31*4

0,0,0,0,1,1,1,1,2,2,2,2....,31,31,31,31

x<(0:31)*4

0,1,2,3,4,5,6,...31,0,1,2,3,4,5,6,...31,...

x<(0:31*2)*2

0,0,1,1,2,2,3,3,...,31,31,0,0,1,1,2,2,3,3,...,31,31

x<0:31*2,31:0*2

0,0,1,1,2,2,3,3,...,31,31,31,31,30,30,29,29,...,2,2,1,1,0,0

x<(0:31,31:0)*2

0,1,2,3,4,...,31,31,30,29,...,2,1,0,0,1,2,3,4,...,31,31,30,29,...,2,1,0

Regards,

Andrew.

On Mon, 31 Oct 2005 21:33:38 -0500, "Gerry Vandevalk"
g_vandevalk@yahoo.com
wrote:

All:

I defy anyone at Cadence to tell me exactly how bus ripping works.
The documents below describe a subset legal bus definitions that work, but
other esoteric combinations work.
The custom memory group at my ex-employer used some pretty wild
combinations
that worked.
As a matter of fact, they would write bus def's just like you describe
them
( something like <4*i<31:0>> and they would get the bus you describe .. )
I will ask former member of the group for the syntax he uses and post it!

-- Gerry




"Bernd Fischer" <""bernd.fischer\"@xignal-A%&HY%$v#&G=.de"> wrote in
message
news:3se81dFnsi5dU1@individual.net...
Virtuoso Schematic Editor User Guide,
Section: Multiple-Bit Wire Connections
Section: Wire-to-Iterated Instance Connections
Section: Multiple-Bit Wire Naming Conventions


Bernd

JC wrote:
Hi,

Using the Cadence schematic tool, I have a cell instantiated 128 times,
Icell1<127:0>.

I want groups of 4 cells at the time to have the same input, so there
will be 32 signals, x<31:0> going to 128 cells.

I can label the bus to the input

etc., x<1>, x<1>, x<1>, x<1>, x<0>, x<0>, x<0>, x<0

but it is a very long string.

What is the syntax to abbreviate it, such as

etc., ((x<1>) *4), ((x<0>) *4)

or something even shorter such as

bit=0; (((x<bit + 1>) *4) *32)



Thanks,

Joe
joe.clark@nospm@adtran.com






Back to top
Roger Light
Guest





Posted: Mon Nov 14, 2005 1:10 pm    Post subject: Re: Help! Bus notation on schematics Reply with quote

Roger Light wrote:

Quote:
Is it possible to have the naming skip a wire? So if the bus wires I
want to name are every other wire? Something like:

a<0> b<0> a<1> b<1> a<2> b<2

Answering my own question, as long as the bus is named elsewhere, I can
leave out the net tap *name* and just use the index:

<0> <0> <1> <1> <2> <2>

From comphelp.pdf section "Tapping Wire Intersections by Name".

Thanks,

Roger
Back to top
Roger Light
Guest





Posted: Mon Nov 14, 2005 1:10 pm    Post subject: Re: Help! Bus notation on schematics Reply with quote

Andrew Beckett wrote:

Quote:
Put simply - 0:n*m repeats each bit m times, whereas (0:n)*m repeats
the whole 0:n range m times one after the other. Then you can concatenate
them too, and further group them with parentheses, and so on.

Man, that was useful. I've always used <0:31> with expansion, but had no
idea it was that powerful. Thank you!

Is it possible to have the naming skip a wire? So if the bus wires I
want to name are every other wire? Something like:

a<0> b<0> a<1> b<1> a<2> b<2>

Or is naming this possible all in one go?

Most of the reason for me wanting to do that is solved by iterated
instances anyway - I didn't know about them either. I guess I should
read more of the documentation, but there is just so much to get through.

Thanks again,

Roger
Back to top
Joe Clark
Guest





Posted: Tue Nov 15, 2005 5:10 pm    Post subject: Re: Help! Bus notation on schematics Reply with quote

Thanks for the answers and ideas, guys.

Joe



"JC" <no@spam.com> wrote in message
news:adbdd$43616149$d0fb9763$31862@API-DIGITAL.COM...
Quote:
Hi,

Using the Cadence schematic tool, I have a cell instantiated 128 times,
Icell1<127:0>.

I want groups of 4 cells at the time to have the same input, so there will
be 32 signals, x<31:0> going to 128 cells.

I can label the bus to the input

etc., x<1>, x<1>, x<1>, x<1>, x<0>, x<0>, x<0>, x<0

but it is a very long string.

What is the syntax to abbreviate it, such as

etc., ((x<1>) *4), ((x<0>) *4)

or something even shorter such as

bit=0; (((x<bit + 1>) *4) *32)



Thanks,

Joe
joe.clark@nospm@adtran.com







Back to top
 
Post new topic   Reply to topic    CADForums.net Forum Index -> Cadence All times are GMT
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Windows Server DSP VoIP Electronics New Topics
Powered by phpBB