Advice sought on using blankets and net classes - Page 1
Forum section: electronics / general

author: andyturk
author_rank: Frequent Contributor
timestamp: November 23, 2014, 04:18:17 pm
content: I'm trying to assign groups of signals to different net classes in a schematic using blankets. Seems like it should be a simple thing to do, but my attempts aren't working. Specifically, when I have two blankets and associated parameter sets specifying distinct classes, the second blanket somehow refers to the class created in the first. I.e., it's almost like I can create only one blanket on a schematic sheet.I've attached what it looks like on my screen. I used the highlighter tool (bottom right of window) to click on the border of the DDR_ADDR blanket. However, Altium highlights the data lines because that was the first blanket created on the sheet. The parameter sets attached to the blankets specify ClassName values of "DDR_ADDR" and "DDR_DATA" (the parameter sets themselves have the same names too).Is there some project option that needs to be enabled first?

author: T3sl4co1l
author_rank: Super Contributor
timestamp: November 23, 2014, 06:05:55 pm
content: Hmm, check under Project Options / Classes / Generate Net Classes etc.Tim

author: andyturk
author_rank: Frequent Contributor
timestamp: November 23, 2014, 09:15:00 pm
content: Hmm, I already turned on everything that seemed related:At the top of the "Class Generation" tab in Project Options, these are enabled:"Generate Net Classes for Buses""Generate Net Classes for Components""Generate Net Classes for Named Signal Harness"Lower down under "Use-Defined Classes" these are enabled:"Generate Component Classes""Generate Net Classes"

author: AlfBaz
author_rank: Super Contributor
timestamp: November 24, 2014, 01:32:42 am
content: hmm never tried blankets to assign nets to a net class, good to know if you get it working.With the data buss you can simply draw a small section of buss wire and attach the net label DDR_D[31..0] and the net class will be automatically generated.Your address buss, however, is a problem because you have DDR_A(number) and DDR_BA(number). In the past I've just cheated and called banking lines DDR_A14,15 and 16, which was fine because I was doing the software as wellI did create a net class for the DDR control lines by attaching a net class directive to each of the control lines to a port that exited the sheet. A bit tedious but it did the job

author: T3sl4co1l
author_rank: Super Contributor
timestamp: November 24, 2014, 02:07:24 am
content: I use blankets regularly...What you've done apparently should work, I don't know why it's not.Tim

author: AlfBaz
author_rank: Super Contributor
timestamp: November 24, 2014, 06:02:52 am
content: Quote from: AlfBaz on November 24, 2014, 01:32:42 amOk just tried it and it works a treat. Thanks for the tip AndyAs for your problem, I'm looking at your attached picture and notice that the net class name is in red instead of the default blue.Is it possible you have set thenameof the directive rather than it'svalue?

author: andyturk
author_rank: Frequent Contributor
timestamp: November 24, 2014, 03:51:53 pm
content: I've got the same string for the parameter set name and the ClassName value. (screen grab attached)Do you guys (who have this feature working) already have PCBs in your project? I'm still at the schematic only stage. Also, if you use the highlighter tool to click on the edge of your blanket, does it color only the nets defined in the blanket? Maybe my understanding of highlighting is wrong.Altium is great. Except when it's not.

author: AlfBaz
author_rank: Super Contributor
timestamp: November 24, 2014, 10:20:27 pm
content: Quote from: andyturk on November 24, 2014, 03:51:53 pmYes it does work. The net classes are created in the PCB doc with blanketed nets included in their respective classes.This highlight thing is something else I've never used but it's doing the same thing as your schematic, which ever blanket you lay down first is the one that gets highlighted regardless which one you select.I normally ALT click a net which selects all instances of it on the page. Same if you ALT click a buss with a net label of the style NET[y..x] (which also automatically creates a net class) it will select all member nets of that class. This, however, also doesn't work with blankets (doesn't select anything) so I may stick to my original method

author: andyturk
author_rank: Frequent Contributor
timestamp: November 25, 2014, 02:31:43 pm
content: I made a small test project to play with this functionality and class generation for nets in blankets seems to work there. Unfortunately, you have to use the PCB tool to actually see them. The highlighter in the Schematic tool won't show classes correctly. I think that's a bug, but maybe it's trying to do something else.

author: Christe4nM
author_rank: Unknown
timestamp: November 25, 2014, 08:00:39 pm
content: Sometimes (re)compiling the schematic sheet helps. Otherwise I'm at a guess why Altium doesn't do this correctly as it should.