Schematic conventions for different supply rails












8












$begingroup$


I have two ICs in my circuit. They have different supply voltages, 3.3 and 2.7 volts. The voltages are subject to change as we refine the design. I'm trying to come up with labels for these rails. One common convention I see is to use the voltage, so one becomes 3V3 and the other 2V7, but the voltage per se is irrelevant and may change as the design develops.



Is there a convention that would capture the rail's purpose instead of the voltage? It's common to see VBAT, VREG, VIN, etc., but VU1 looks weird.










share|improve this question









$endgroup$








  • 4




    $begingroup$
    You mean VU1 as in voltage of the IC U1? Often, you may also see a combination of the two conventions you mentioned, using $sign$voltage_$purpose, e.g. +3V3_IO, +5V0_USB or -12V_ANALOG
    $endgroup$
    – Manu3l0us
    15 hours ago












  • $begingroup$
    No, OP means that there are two or more bus voltages that feed multiple devices each.
    $endgroup$
    – Transistor
    15 hours ago










  • $begingroup$
    @Transistor I got this one, but it's unclear to me what he wants to express with the label VU1, which he says it looks weird.
    $endgroup$
    – Manu3l0us
    15 hours ago










  • $begingroup$
    Name it after what it's supposed to supply. If it is supplying digital logic then it should have a name like 3V3. It's not a big deal to change the signal name later, if you change the voltage.
    $endgroup$
    – Lundin
    10 hours ago








  • 1




    $begingroup$
    Adding an underscore after the V may help. V_USB is clearer than VUSB, and even V_U1 would be pretty clear with the underscore though I think naming the chip by function would be better.
    $endgroup$
    – supercat
    8 hours ago
















8












$begingroup$


I have two ICs in my circuit. They have different supply voltages, 3.3 and 2.7 volts. The voltages are subject to change as we refine the design. I'm trying to come up with labels for these rails. One common convention I see is to use the voltage, so one becomes 3V3 and the other 2V7, but the voltage per se is irrelevant and may change as the design develops.



Is there a convention that would capture the rail's purpose instead of the voltage? It's common to see VBAT, VREG, VIN, etc., but VU1 looks weird.










share|improve this question









$endgroup$








  • 4




    $begingroup$
    You mean VU1 as in voltage of the IC U1? Often, you may also see a combination of the two conventions you mentioned, using $sign$voltage_$purpose, e.g. +3V3_IO, +5V0_USB or -12V_ANALOG
    $endgroup$
    – Manu3l0us
    15 hours ago












  • $begingroup$
    No, OP means that there are two or more bus voltages that feed multiple devices each.
    $endgroup$
    – Transistor
    15 hours ago










  • $begingroup$
    @Transistor I got this one, but it's unclear to me what he wants to express with the label VU1, which he says it looks weird.
    $endgroup$
    – Manu3l0us
    15 hours ago










  • $begingroup$
    Name it after what it's supposed to supply. If it is supplying digital logic then it should have a name like 3V3. It's not a big deal to change the signal name later, if you change the voltage.
    $endgroup$
    – Lundin
    10 hours ago








  • 1




    $begingroup$
    Adding an underscore after the V may help. V_USB is clearer than VUSB, and even V_U1 would be pretty clear with the underscore though I think naming the chip by function would be better.
    $endgroup$
    – supercat
    8 hours ago














8












8








8


1



$begingroup$


I have two ICs in my circuit. They have different supply voltages, 3.3 and 2.7 volts. The voltages are subject to change as we refine the design. I'm trying to come up with labels for these rails. One common convention I see is to use the voltage, so one becomes 3V3 and the other 2V7, but the voltage per se is irrelevant and may change as the design develops.



Is there a convention that would capture the rail's purpose instead of the voltage? It's common to see VBAT, VREG, VIN, etc., but VU1 looks weird.










share|improve this question









$endgroup$




I have two ICs in my circuit. They have different supply voltages, 3.3 and 2.7 volts. The voltages are subject to change as we refine the design. I'm trying to come up with labels for these rails. One common convention I see is to use the voltage, so one becomes 3V3 and the other 2V7, but the voltage per se is irrelevant and may change as the design develops.



Is there a convention that would capture the rail's purpose instead of the voltage? It's common to see VBAT, VREG, VIN, etc., but VU1 looks weird.







schematics






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 16 hours ago









iteriter

1826




1826








  • 4




    $begingroup$
    You mean VU1 as in voltage of the IC U1? Often, you may also see a combination of the two conventions you mentioned, using $sign$voltage_$purpose, e.g. +3V3_IO, +5V0_USB or -12V_ANALOG
    $endgroup$
    – Manu3l0us
    15 hours ago












  • $begingroup$
    No, OP means that there are two or more bus voltages that feed multiple devices each.
    $endgroup$
    – Transistor
    15 hours ago










  • $begingroup$
    @Transistor I got this one, but it's unclear to me what he wants to express with the label VU1, which he says it looks weird.
    $endgroup$
    – Manu3l0us
    15 hours ago










  • $begingroup$
    Name it after what it's supposed to supply. If it is supplying digital logic then it should have a name like 3V3. It's not a big deal to change the signal name later, if you change the voltage.
    $endgroup$
    – Lundin
    10 hours ago








  • 1




    $begingroup$
    Adding an underscore after the V may help. V_USB is clearer than VUSB, and even V_U1 would be pretty clear with the underscore though I think naming the chip by function would be better.
    $endgroup$
    – supercat
    8 hours ago














  • 4




    $begingroup$
    You mean VU1 as in voltage of the IC U1? Often, you may also see a combination of the two conventions you mentioned, using $sign$voltage_$purpose, e.g. +3V3_IO, +5V0_USB or -12V_ANALOG
    $endgroup$
    – Manu3l0us
    15 hours ago












  • $begingroup$
    No, OP means that there are two or more bus voltages that feed multiple devices each.
    $endgroup$
    – Transistor
    15 hours ago










  • $begingroup$
    @Transistor I got this one, but it's unclear to me what he wants to express with the label VU1, which he says it looks weird.
    $endgroup$
    – Manu3l0us
    15 hours ago










  • $begingroup$
    Name it after what it's supposed to supply. If it is supplying digital logic then it should have a name like 3V3. It's not a big deal to change the signal name later, if you change the voltage.
    $endgroup$
    – Lundin
    10 hours ago








  • 1




    $begingroup$
    Adding an underscore after the V may help. V_USB is clearer than VUSB, and even V_U1 would be pretty clear with the underscore though I think naming the chip by function would be better.
    $endgroup$
    – supercat
    8 hours ago








4




4




$begingroup$
You mean VU1 as in voltage of the IC U1? Often, you may also see a combination of the two conventions you mentioned, using $sign$voltage_$purpose, e.g. +3V3_IO, +5V0_USB or -12V_ANALOG
$endgroup$
– Manu3l0us
15 hours ago






$begingroup$
You mean VU1 as in voltage of the IC U1? Often, you may also see a combination of the two conventions you mentioned, using $sign$voltage_$purpose, e.g. +3V3_IO, +5V0_USB or -12V_ANALOG
$endgroup$
– Manu3l0us
15 hours ago














$begingroup$
No, OP means that there are two or more bus voltages that feed multiple devices each.
$endgroup$
– Transistor
15 hours ago




$begingroup$
No, OP means that there are two or more bus voltages that feed multiple devices each.
$endgroup$
– Transistor
15 hours ago












$begingroup$
@Transistor I got this one, but it's unclear to me what he wants to express with the label VU1, which he says it looks weird.
$endgroup$
– Manu3l0us
15 hours ago




$begingroup$
@Transistor I got this one, but it's unclear to me what he wants to express with the label VU1, which he says it looks weird.
$endgroup$
– Manu3l0us
15 hours ago












$begingroup$
Name it after what it's supposed to supply. If it is supplying digital logic then it should have a name like 3V3. It's not a big deal to change the signal name later, if you change the voltage.
$endgroup$
– Lundin
10 hours ago






$begingroup$
Name it after what it's supposed to supply. If it is supplying digital logic then it should have a name like 3V3. It's not a big deal to change the signal name later, if you change the voltage.
$endgroup$
– Lundin
10 hours ago






1




1




$begingroup$
Adding an underscore after the V may help. V_USB is clearer than VUSB, and even V_U1 would be pretty clear with the underscore though I think naming the chip by function would be better.
$endgroup$
– supercat
8 hours ago




$begingroup$
Adding an underscore after the V may help. V_USB is clearer than VUSB, and even V_U1 would be pretty clear with the underscore though I think naming the chip by function would be better.
$endgroup$
– supercat
8 hours ago










2 Answers
2






active

oldest

votes


















11












$begingroup$

Naming of things is an important topic. Software people perhaps discuss them more than most, as they have lots of variables and functions to name. Fortunately, you have only a handful.



Names have to meet a number of requirements.




  1. Be meaningful - you shouldn't have to look it up in a cross reference to understand it.


  2. Not cause confusion - not only be unique in scope but also not share too many leading characters with other names


  3. Be easy to use - a 50 character descriptive name takes a long time to read, and is easily mis-typed


  4. Not look weird? I don't think so. Who are you doing this schematic for? It's not to look pretty, it's to be correct. If you have an unusual requirement of several rails, all of about 3v, that you must not get mixed up, then weird looking names might be an asset rather than a liability.



There are conventions, like VCC and 3v3, which are not applicable to your situation. So you need to identify the function of these two rails, in a way that's meaningful to you, won't confuse you, and will tolerate small changes to the voltage later. Are they '3v_and_a_bit' and 'nearly_3v', or '3v_logic' and '3v_memory', or '3v_DSP' and '3v_analogue'. I'd often have rails like '3v3_raw', 3v3_filt1' and '3v3_filt2' when using supply filters to stop parts interfering with each other via the rails.






share|improve this answer











$endgroup$













  • $begingroup$
    I'm software people. I talk a lot about naming things. Like Phil Karlton.
    $endgroup$
    – iter
    6 hours ago



















7












$begingroup$

Refactoring



Although names are important, as Neil_UK writes in his answer, your main issue seems to be this:




the voltage per se is irrelevant and may change as the design develops




Neil_UK makes a reference to software development, and I will make another one: The solution to changing parameters is to refactor. If your rail changes from 3.3 volt to 3.0 volt, just change the name of the net. Since your new rail obviously changed due to a new or replaced component, you already had to make a lot of changes. A global search-and-replace on a net name is minor in comparison.



If you're nice to your future self you will mark this change in a changelog, preferably on the schematic, just as you would if you change the value of a component between revisions. This makes a change even less confusing.






share|improve this answer









$endgroup$













  • $begingroup$
    The problem isn't that the voltage may change. The problem is that we have two separate VDD rails. The refactoring that's coming is that we may end up both parts from the same regulator, or may end up having two separate ones. It's easy to replace the labels on a net. It's a lot more work to tear a single VDD rail into two.
    $endgroup$
    – iter
    6 hours ago











Your Answer





StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
});
});
}, "mathjax-editing");

StackExchange.ifUsing("editor", function () {
return StackExchange.using("schematics", function () {
StackExchange.schematics.init();
});
}, "cicuitlab");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "135"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f427181%2fschematic-conventions-for-different-supply-rails%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









11












$begingroup$

Naming of things is an important topic. Software people perhaps discuss them more than most, as they have lots of variables and functions to name. Fortunately, you have only a handful.



Names have to meet a number of requirements.




  1. Be meaningful - you shouldn't have to look it up in a cross reference to understand it.


  2. Not cause confusion - not only be unique in scope but also not share too many leading characters with other names


  3. Be easy to use - a 50 character descriptive name takes a long time to read, and is easily mis-typed


  4. Not look weird? I don't think so. Who are you doing this schematic for? It's not to look pretty, it's to be correct. If you have an unusual requirement of several rails, all of about 3v, that you must not get mixed up, then weird looking names might be an asset rather than a liability.



There are conventions, like VCC and 3v3, which are not applicable to your situation. So you need to identify the function of these two rails, in a way that's meaningful to you, won't confuse you, and will tolerate small changes to the voltage later. Are they '3v_and_a_bit' and 'nearly_3v', or '3v_logic' and '3v_memory', or '3v_DSP' and '3v_analogue'. I'd often have rails like '3v3_raw', 3v3_filt1' and '3v3_filt2' when using supply filters to stop parts interfering with each other via the rails.






share|improve this answer











$endgroup$













  • $begingroup$
    I'm software people. I talk a lot about naming things. Like Phil Karlton.
    $endgroup$
    – iter
    6 hours ago
















11












$begingroup$

Naming of things is an important topic. Software people perhaps discuss them more than most, as they have lots of variables and functions to name. Fortunately, you have only a handful.



Names have to meet a number of requirements.




  1. Be meaningful - you shouldn't have to look it up in a cross reference to understand it.


  2. Not cause confusion - not only be unique in scope but also not share too many leading characters with other names


  3. Be easy to use - a 50 character descriptive name takes a long time to read, and is easily mis-typed


  4. Not look weird? I don't think so. Who are you doing this schematic for? It's not to look pretty, it's to be correct. If you have an unusual requirement of several rails, all of about 3v, that you must not get mixed up, then weird looking names might be an asset rather than a liability.



There are conventions, like VCC and 3v3, which are not applicable to your situation. So you need to identify the function of these two rails, in a way that's meaningful to you, won't confuse you, and will tolerate small changes to the voltage later. Are they '3v_and_a_bit' and 'nearly_3v', or '3v_logic' and '3v_memory', or '3v_DSP' and '3v_analogue'. I'd often have rails like '3v3_raw', 3v3_filt1' and '3v3_filt2' when using supply filters to stop parts interfering with each other via the rails.






share|improve this answer











$endgroup$













  • $begingroup$
    I'm software people. I talk a lot about naming things. Like Phil Karlton.
    $endgroup$
    – iter
    6 hours ago














11












11








11





$begingroup$

Naming of things is an important topic. Software people perhaps discuss them more than most, as they have lots of variables and functions to name. Fortunately, you have only a handful.



Names have to meet a number of requirements.




  1. Be meaningful - you shouldn't have to look it up in a cross reference to understand it.


  2. Not cause confusion - not only be unique in scope but also not share too many leading characters with other names


  3. Be easy to use - a 50 character descriptive name takes a long time to read, and is easily mis-typed


  4. Not look weird? I don't think so. Who are you doing this schematic for? It's not to look pretty, it's to be correct. If you have an unusual requirement of several rails, all of about 3v, that you must not get mixed up, then weird looking names might be an asset rather than a liability.



There are conventions, like VCC and 3v3, which are not applicable to your situation. So you need to identify the function of these two rails, in a way that's meaningful to you, won't confuse you, and will tolerate small changes to the voltage later. Are they '3v_and_a_bit' and 'nearly_3v', or '3v_logic' and '3v_memory', or '3v_DSP' and '3v_analogue'. I'd often have rails like '3v3_raw', 3v3_filt1' and '3v3_filt2' when using supply filters to stop parts interfering with each other via the rails.






share|improve this answer











$endgroup$



Naming of things is an important topic. Software people perhaps discuss them more than most, as they have lots of variables and functions to name. Fortunately, you have only a handful.



Names have to meet a number of requirements.




  1. Be meaningful - you shouldn't have to look it up in a cross reference to understand it.


  2. Not cause confusion - not only be unique in scope but also not share too many leading characters with other names


  3. Be easy to use - a 50 character descriptive name takes a long time to read, and is easily mis-typed


  4. Not look weird? I don't think so. Who are you doing this schematic for? It's not to look pretty, it's to be correct. If you have an unusual requirement of several rails, all of about 3v, that you must not get mixed up, then weird looking names might be an asset rather than a liability.



There are conventions, like VCC and 3v3, which are not applicable to your situation. So you need to identify the function of these two rails, in a way that's meaningful to you, won't confuse you, and will tolerate small changes to the voltage later. Are they '3v_and_a_bit' and 'nearly_3v', or '3v_logic' and '3v_memory', or '3v_DSP' and '3v_analogue'. I'd often have rails like '3v3_raw', 3v3_filt1' and '3v3_filt2' when using supply filters to stop parts interfering with each other via the rails.







share|improve this answer














share|improve this answer



share|improve this answer








edited 8 hours ago









Dave Tweed

121k9151259




121k9151259










answered 13 hours ago









Neil_UKNeil_UK

77.5k284177




77.5k284177












  • $begingroup$
    I'm software people. I talk a lot about naming things. Like Phil Karlton.
    $endgroup$
    – iter
    6 hours ago


















  • $begingroup$
    I'm software people. I talk a lot about naming things. Like Phil Karlton.
    $endgroup$
    – iter
    6 hours ago
















$begingroup$
I'm software people. I talk a lot about naming things. Like Phil Karlton.
$endgroup$
– iter
6 hours ago




$begingroup$
I'm software people. I talk a lot about naming things. Like Phil Karlton.
$endgroup$
– iter
6 hours ago













7












$begingroup$

Refactoring



Although names are important, as Neil_UK writes in his answer, your main issue seems to be this:




the voltage per se is irrelevant and may change as the design develops




Neil_UK makes a reference to software development, and I will make another one: The solution to changing parameters is to refactor. If your rail changes from 3.3 volt to 3.0 volt, just change the name of the net. Since your new rail obviously changed due to a new or replaced component, you already had to make a lot of changes. A global search-and-replace on a net name is minor in comparison.



If you're nice to your future self you will mark this change in a changelog, preferably on the schematic, just as you would if you change the value of a component between revisions. This makes a change even less confusing.






share|improve this answer









$endgroup$













  • $begingroup$
    The problem isn't that the voltage may change. The problem is that we have two separate VDD rails. The refactoring that's coming is that we may end up both parts from the same regulator, or may end up having two separate ones. It's easy to replace the labels on a net. It's a lot more work to tear a single VDD rail into two.
    $endgroup$
    – iter
    6 hours ago
















7












$begingroup$

Refactoring



Although names are important, as Neil_UK writes in his answer, your main issue seems to be this:




the voltage per se is irrelevant and may change as the design develops




Neil_UK makes a reference to software development, and I will make another one: The solution to changing parameters is to refactor. If your rail changes from 3.3 volt to 3.0 volt, just change the name of the net. Since your new rail obviously changed due to a new or replaced component, you already had to make a lot of changes. A global search-and-replace on a net name is minor in comparison.



If you're nice to your future self you will mark this change in a changelog, preferably on the schematic, just as you would if you change the value of a component between revisions. This makes a change even less confusing.






share|improve this answer









$endgroup$













  • $begingroup$
    The problem isn't that the voltage may change. The problem is that we have two separate VDD rails. The refactoring that's coming is that we may end up both parts from the same regulator, or may end up having two separate ones. It's easy to replace the labels on a net. It's a lot more work to tear a single VDD rail into two.
    $endgroup$
    – iter
    6 hours ago














7












7








7





$begingroup$

Refactoring



Although names are important, as Neil_UK writes in his answer, your main issue seems to be this:




the voltage per se is irrelevant and may change as the design develops




Neil_UK makes a reference to software development, and I will make another one: The solution to changing parameters is to refactor. If your rail changes from 3.3 volt to 3.0 volt, just change the name of the net. Since your new rail obviously changed due to a new or replaced component, you already had to make a lot of changes. A global search-and-replace on a net name is minor in comparison.



If you're nice to your future self you will mark this change in a changelog, preferably on the schematic, just as you would if you change the value of a component between revisions. This makes a change even less confusing.






share|improve this answer









$endgroup$



Refactoring



Although names are important, as Neil_UK writes in his answer, your main issue seems to be this:




the voltage per se is irrelevant and may change as the design develops




Neil_UK makes a reference to software development, and I will make another one: The solution to changing parameters is to refactor. If your rail changes from 3.3 volt to 3.0 volt, just change the name of the net. Since your new rail obviously changed due to a new or replaced component, you already had to make a lot of changes. A global search-and-replace on a net name is minor in comparison.



If you're nice to your future self you will mark this change in a changelog, preferably on the schematic, just as you would if you change the value of a component between revisions. This makes a change even less confusing.







share|improve this answer












share|improve this answer



share|improve this answer










answered 13 hours ago









pipepipe

10.2k42657




10.2k42657












  • $begingroup$
    The problem isn't that the voltage may change. The problem is that we have two separate VDD rails. The refactoring that's coming is that we may end up both parts from the same regulator, or may end up having two separate ones. It's easy to replace the labels on a net. It's a lot more work to tear a single VDD rail into two.
    $endgroup$
    – iter
    6 hours ago


















  • $begingroup$
    The problem isn't that the voltage may change. The problem is that we have two separate VDD rails. The refactoring that's coming is that we may end up both parts from the same regulator, or may end up having two separate ones. It's easy to replace the labels on a net. It's a lot more work to tear a single VDD rail into two.
    $endgroup$
    – iter
    6 hours ago
















$begingroup$
The problem isn't that the voltage may change. The problem is that we have two separate VDD rails. The refactoring that's coming is that we may end up both parts from the same regulator, or may end up having two separate ones. It's easy to replace the labels on a net. It's a lot more work to tear a single VDD rail into two.
$endgroup$
– iter
6 hours ago




$begingroup$
The problem isn't that the voltage may change. The problem is that we have two separate VDD rails. The refactoring that's coming is that we may end up both parts from the same regulator, or may end up having two separate ones. It's easy to replace the labels on a net. It's a lot more work to tear a single VDD rail into two.
$endgroup$
– iter
6 hours ago


















draft saved

draft discarded




















































Thanks for contributing an answer to Electrical Engineering Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f427181%2fschematic-conventions-for-different-supply-rails%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Paul Cézanne

UIScrollView CustomStickyHeader Resize height generates problems when scroll is too fast

Angular material date-picker (MatDatepicker) auto completes the date on focus out