NRESET, etc. is standard, doesn't use special characters and conveys exactly the same information as RESET(L), ENABLE(H), LOAD(L)
And personally, I don't see anything wrong with simultaneously specifying the name of the signal and its present position.
Do you have any arguments other than German pedantry and attention to detail?
NRESET, etc. is standard, doesn't use special characters and conveys exactly the same information as RESET(L), ENABLE(H), LOAD(L)
What standard? Reference, please. And () are not special characters.
And personally, I don't see anything wrong with simultaneously specifying the name of the signal and its present position.
Do you have any arguments other than German pedantry and attention to detail?
To your last question: that my locale is Germany does not mean I'm German. Don't jump to conclusions.
Second: yes, there are good reasons for separating assertion (which is the function of the net) and assertion level (which is the logic voltage level of the signal).
Suppose your RESET signal passes through an inverter. Then it suddenly needs to be called NRESET. and after another inverter, it's RESET again.
RESET(H), RESET(L), RESET(H) solves this and makes the schematic much easier to read and analyse.
This concept of separating function and actual logic level is not only known from Fletcher, by the way.
NRESET, etc. is standard, doesn't use special characters and conveys exactly the same information as RESET(L), ENABLE(H), LOAD(L)
What standard? Reference, please. And () are not special characters.
NRESET, etc. is standard, doesn't use special characters and conveys exactly the same information as RESET(L), ENABLE(H), LOAD(L)
What standard? Reference, please. And () are not special characters.
And personally, I don't see anything wrong with simultaneously specifying the name of the signal and its present position.
Do you have any arguments other than German pedantry and attention to detail?
To your last question: that my locale is Germany does not mean I'm German. Don't jump to conclusions.
Second: yes, there are good reasons for separating assertion (which is the function of the net) and assertion level (which is the logic voltage level of the signal).
Suppose your RESET signal passes through an inverter. Then it suddenly needs to be called NRESET. and after another inverter, it's RESET again.
RESET(H), RESET(L), RESET(H) solves this and makes the schematic much easier to read and analyse.
This concept of separating function and actual logic level is not only known from Fletcher, by the way.
Pin names are already defined in the supplier datasheets, and it's a good idea to stick with those on the parts.
2: Indicate the assertion level. This I do by using this style: RESET(L), ENABLE(H), LOAD(L) etc. This indicates the assertion level without compromising the net's functional name.
Silicon suppliers tend to use either a "/" before a name (/RESET) or a bar above the name. I don't like this, as it mixes up assertion with signal level.
Examples of bad names are NRESET, NOT_RESET, NO_CLK etc.
Why? Because they describe what a net does NOT do. So how do I know what it DOES do?
NRESET, etc. is standard, doesn't use special characters and conveys exactly the same information as RESET(L), ENABLE(H), LOAD(L)
What standard? Reference, please. And () are not special characters.
Silicon suppliers tend to use either a "/" before a name (/RESET) or a bar above the name. I don't like this, as it mixes up assertion with signal level.
I suppose you could try to satisfy everybody...
$$
\text{/n}\overline{\text{RESET}}\text{(L)}
$$
Silicon suppliers tend to use either a "/" before a name (/RESET) or a bar above the name. I don't like this, as it mixes up assertion with signal level.
Not sure I understand this part. I personally do the bar above the name. Its explicit purpose is to define the signal level, no? ENABLE with a bar means "enable when low." Without a bar means "enable when high." Seems perfectly straightforward to me. Am I misunderstanding something?
I suppose you could try to satisfy everybody...
$$
\text{/n}\overline{\text{RESET}}\text{(L)}
$$
I suppose you could try to satisfy everybody...
$$
\text{/n}\overline{\text{RESET}}\text{(L)}
$$
Silicon suppliers tend to use either a "/" before a name (/RESET) or a bar above the name. I don't like this, as it mixes up assertion with signal level.
NRESET, etc. is standard, doesn't use special characters and conveys exactly the same information as RESET(L), ENABLE(H), LOAD(L)
I suppose you could try to satisfy everybody...
$$
\text{/n}\overline{\text{RESET}}\text{(L)}
$$FTFY:$$
\text{!/n}\overline{\text{RESET}}\text{(L)}
$$
This convention is not invented by me, but was taught in university based on this brilliant gentleman's book:
https://www.amazon.com/Engineering-Approach-Digital-Design/dp/B001947XOC
This convention is not invented by me, but was taught in university based on this brilliant gentleman's book:
https://www.amazon.com/Engineering-Approach-Digital-Design/dp/B001947XOC
Fletcher's book is indeed excellent.
Consider a TTL IC where an input has to be held at 0V in order to reset the IC. That could be represented by either of:Personally I prefer the former.
- the name "RESET" inside the IC outline, with a negating "O" outside the IC outline
- the name "NRESET" or similar inside the IC outline, without a negating "O" outside the IC outline
That technique can also be used when using the deMorgan equivalents of NAND, NOR, AND, OR gates, in order to visually "remove" the active low etc.
Of course, active low inputs are predominately an artifact of TTL logic which ahd asymmetrical logic levels and strengths, where pull-down was stronger than pull-up. Moder CMOS logic is symmetrical, so the benefit of having an active low input is moot.
This convention is not invented by me, but was taught in university based on this brilliant gentleman's book:
https://www.amazon.com/Engineering-Approach-Digital-Design/dp/B001947XOC
Fletcher's book is indeed excellent.
Consider a TTL IC where an input has to be held at 0V in order to reset the IC. That could be represented by either of:Personally I prefer the former.
- the name "RESET" inside the IC outline, with a negating "O" outside the IC outline
- the name "NRESET" or similar inside the IC outline, without a negating "O" outside the IC outline
That technique can also be used when using the deMorgan equivalents of NAND, NOR, AND, OR gates, in order to visually "remove" the active low etc.
Of course, active low inputs are predominately an artifact of TTL logic which ahd asymmetrical logic levels and strengths, where pull-down was stronger than pull-up. Moder CMOS logic is symmetrical, so the benefit of having an active low input is moot.
Yes, in TTL the flying input has state 1, in CMOS it is an undefined state. But the negation of the RESET signal, as I think, has a different origin, logical. This is also used in industrial automation: all readiness signals and emergency sensors must explicitly give a value of 1 in the normal state, and in the event of an accident, give 0.