ArticleslgStudy

science

IEEE 1164

IEEE 1164 is a science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand IEEE 1164 rather than just read about it. In short: The IEEE 1164 standard (Multivalue Logic System for VHDL Model Interoperability) is a technical standard published by the IEEE in 1993. It describes the definitions of logic values to be used in electronic design automation, for the VHDL hardware description language.

Key takeaways

  • IEEE 1164 belongs to science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect IEEE 1164 to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of IEEE 1164 from memory before moving on to harder problems.

Reference excerpt

The IEEE 1164 standard (Multivalue Logic System for VHDL Model Interoperability) is a technical standard published by the IEEE in 1993. It describes the definitions of logic values to be used in electronic design automation, for the VHDL hardware description language. It was sponsored by the Design Automation Standards Committee of the Institute of Electrical and Electronics Engineers (IEEE). The standardization effort was based on the donation of the Synopsys MVL-9 type declaration. The primary data type std_ulogic (standard unresolved logic) consists of nine character literals (see table on the right). This system promoted a useful set of logic values that typical CMOS logic designs could implement in the vast majority of modeling situations, including:

'Z' literal to make tri-state buffer logic easy 'H' and 'L' weak drives to permit wired-AND and wired-OR logic. 'U' for default value for all object declarations so that during simulations uninitialized values are easily detectable and thus easily corrected if necessary. In VHDL, the hardware designer makes the declarations visible via the following library and use statements:

Using values in simulation

Use of 'U' Many hardware description language (HDL) simulation tools, such as Verilog and VHDL, support an unknown value like that shown above during simulation of digital electronics. The unknown value may be the result of a design error, which the designer can correct before synthesis into an actual circuit. The unknown also represents uninitialised memory values and circuit inputs before the simulation has asserted what the real input value should be. HDL synthesis tools usually produce circuits that operate only on binary logic.

Use of '-' When designing a digital circuit, some conditions may be outside the scope of the purpose that the circuit will perform. Thus, the designer does not care what happens under those conditions. In addition, the situation occurs that inputs to a circuit are masked by other signals so the value of that input has no effect on circuit behaviour. In these situations, it is traditional to use 'X' as a placeholder to indicate "Don't Care" when building truth tables, but VHDL uses -. "Don't care"s are especially common in state machine design and Karnaugh map simplification. The '-' values provide additional degrees of freedom to the final circuit design, generally resulting in a simplified and smaller circuit. Once the circuit design is complete and a real circuit is constructed, the '-' values will no longer exist. They will become some tangible '0' or '1' value but could be either depending on the final design optimization.

Use of 'Z'

Some digital devices support a form of three-state logic on their outputs only. The three states are "0", "1", and "Z". Commonly referred to as tristate logic (a trademark of National Semiconductor), it comprises the usual true and false states, with a third transparent high impedance state (or 'off-state') which effectively disconnects the logic output. This provides an effective way to connect several logic outputs to a single input, where all but one are put into the high impedance state, allowing the remaining output to operate in the normal binary sense. This is commonly used to connect banks of computer memory and other similar devices to a common data bus; a large number of devices can communicate over the same channel simply by ensuring only one is enabled at a time. While outputs can have one of three states, inputs can only recognise two. Although it could be argued that the high-impedance state is effectively an "unknown", there is no provision in most electronics to interpret a high-impedance state as a state in itself. Inputs can only detect "0" and "1". When a digital input is left disconnected, the digital value interpreted by the input depends on the type of technology used. TTL technology will reliably default to a "1" state. On the other hand, CMOS technology will temporarily hold the previous state seen on that input (due to the capacitance of the gate input). Over time, leakage current causes the CMOS input to drift in a random direction, possibly causing the input state to flip. Disconnected inputs on CMOS devices can pick up noise, they can cause oscillation, the supply current may dramatically increase (crowbar power) or the device may completely destroy itself.

See also Four-valued logic IEEE 1364 defines a four-valued logic (among other things)

References

1164-1993 – IEEE Standard Multivalue Logic System for VHDL Model Interoperability (Stdlogic1164). 1993. doi:10.1109/IEEESTD.1993.115571. ISBN 0-7381-0991-6. D. Michael Miller; Mitchell A. Thornton (2008). Multiple valued logic: concepts and representations. Synthesis lectures on digital circuits and systems. Vol. 12. Morgan & Claypool Publishers. ISBN 978-1-59829-190-2.

Worked examples

Example 1 — a first encounter with IEEE 1164

Start with the simplest possible case. Write down what IEEE 1164 claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to IEEE 1164 before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about IEEE 1164 ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of IEEE 1164

In research
IEEE 1164 appears in science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses IEEE 1164 in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
IEEE 1164 is common in secondary-school and first-year university syllabi. It links to neighbouring topics Hardware description languages, IEEE DASC standards, IEEE standards, so understanding it makes those chapters shorter.
In everyday life
Look for IEEE 1164 outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study IEEE 1164 in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what IEEE 1164 means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain IEEE 1164 out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is IEEE 1164 in simple terms?

The IEEE 1164 standard (Multivalue Logic System for VHDL Model Interoperability) is a technical standard published by the IEEE in 1993. It describes the definitions of logic values to be used in electronic design automation, for the VHDL hardware description language.

Why does IEEE 1164 matter?

Because it connects several science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study IEEE 1164?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on IEEE 1164.

Tags

  • Hardware description languages
  • IEEE DASC standards
  • IEEE standards

Keep exploring