Author Topic: Any way to define a bus as "equal track lengths"?  (Read 3473 times)

0 Members and 1 Guest are viewing this topic.

Offline 8086Topic starter

  • Super Contributor
  • ***
  • Posts: 1085
  • Country: gb
    • Circuitology - Electronics Assembly
Any way to define a bus as "equal track lengths"?
« on: June 07, 2014, 11:40:42 pm »
I'm doing a design with some DDR3 SDRAM, is there a way in the schematic to tell altium that the data/address bus needs to route to equal lengths?

I can do differential pairs but I can't see a way to do a whole 16 bit wide bus...
 

Online T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 22387
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Any way to define a bus as "equal track lengths"?
« Reply #1 on: June 08, 2014, 01:50:43 am »
Directive - Design rule - something about net class or bus class.  Then add a length matching rule (can be on schematic as well) for that class.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline marshallh

  • Supporter
  • ****
  • Posts: 1462
  • Country: us
    • retroactive
Re: Any way to define a bus as "equal track lengths"?
« Reply #2 on: June 08, 2014, 02:55:02 am »
Create a net class, put all the nets in it, and specify length. The former part is done in the SCH editor and the latter part in the PCB editor
Verilog tips
BGA soldering intro

11:37 <@ktemkin> c4757p: marshall has transcended communications media
11:37 <@ktemkin> He speaks protocols directly.
 

Online AlfBaz

  • Super Contributor
  • ***
  • Posts: 2187
  • Country: au
Re: Any way to define a bus as "equal track lengths"?
« Reply #3 on: June 08, 2014, 03:12:25 am »
Firstly you need to make sure you have a netclass for the group/s. These are normally generated automatically if somewhere on your schematic you lay down a bus (Place bus) and you add a net label that encompasses that group, something along the lines of data[15..0], where data0, data1 etc are net labels for the individual pins/wires

If, for example you wanted to make your data, address and control lines matched and you didn't already have bus's labelled as described above then simply place a bus connected to nothing with a net label including the [...] thingy. You then Place->Directives->PCB Layout and attach it to the bus wire, edit it adding the DRC rules you want.

The names of the control lines are not usually suitable for grouping with [...]. With those you can create a net class as Tim stated with the Place->Directives->NetClass. Double click it and give it a name such as ctrl_bus. Copy it and add it to all the control lines you wish to add to that class.

The only way I know how to add a PCB Layout directive to these (since you cant draw a bus and label it ctrl_bus) is to wire them into a harness and place the pcb layout directive on the signal harness wire

 

Offline 8086Topic starter

  • Super Contributor
  • ***
  • Posts: 1085
  • Country: gb
    • Circuitology - Electronics Assembly
Re: Any way to define a bus as "equal track lengths"?
« Reply #4 on: June 08, 2014, 12:32:24 pm »
Thanks guys. I have managed to do it with a combination of blanket boxes, applying net class to each.

 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf