FPGA based Digital World
Welcome to FPGA based Digital World.
Digital electronics is becoming more and more popular. |
Digital Electronics(Under Construction...)
From Analog System to Digital System
An electric circuit can be viewed as a information processing system (e.g., , filtering, etc.), with the information being conveyed by electrical signal(s).
A natural signal is usually an analog signal (or continuous-time signal), which is continuous in both time and value. The analog signal could be processed by an analog circuit, as depicted in Analog Electronic Device. In fact, the analog circuit could do almost any processing including signal amplification, filtering, arithmetic operation, integration, differentiation, etc.
The analog circuit has a shortcoming when processing the signal: the analog device is sensitive to the ambient condition (e.g., temperature, electronic spark, etc.), and it takes much efforts or cost to solve such issues. And its accuracy is difficult to be improved due to the influence of electronic noise.
To overcome such shortcoming, why don’t we change the signal to numerical and calculate them with arithmetic? Yes, that’s the reason to introduce digital signal processing.
To be processed digitally, the analog signal needs to be sampled and converted to digital sequence. By sampling, the analog signal is changed to discrete-time signal which is discrete in time with its value maybe still continuous.To be processed by a digital device, the continuous value of the discrete-time signal needs to be converted to digital signal, as shown below.
The process to sample and convert the analog signal to digital signal is A/D(analog/digital) conversion. And the inverse process is D/A conversion.
So the processing of the analog signal digitally usually consists of several components shown below.
The question is: how to realize the digital processing with electronic circuit?
First, which radix to be used?
In our life, the decimal number (radix-10) is used. So it’s natural trying to extend the radix-10 number system to the digital circuit. As a matter of fact, the earlier computer named ENIAC unveiled in 1946 really used the decimal operation as its base.
Secondly, how to transfer the number within the electric circuit?
As shown in below example, the signal transferred on any electric route in an analog circuit is an analog signal, with its value being continuous.
Similarly, it’s expected that the signal transferred on any electric route in a decimal digital system should have 10 states (e.g., 10 voltage levels), like below.
But it's difficult to realize such a circuit, because it's error-prone for an electric component (e.g., BJT, FET, etc.) to recognize or process too many voltage levels exactly. As a result, the voltage levels(or states) employed in a digital system was decreased to two at last: 0 or 1, due to the fact that it’s quite easy for the electric component to realize it by switching ON or OFF the output.
Based on this, the earlier ENIAC decimal computer employed a sequence of 2-states (0 or 1) pulse rather than one 10-states signal to transfer the decimal number to and from the accumulator [2]. In addition, each digit in the accumulator was composed of 10 2-states ('ON' and 'OFF') tubes.
As another fact, it’s quite wasteful to build the digital system with radix-10 number by the 2-states tubes, as in ENIAC. Because to represent a single decimal digit from 0 to 9 we need 10 tubes. While with radix-2 number, 1024 states(2 to power 10) could be represented.
So, radix-2 number system dominates in the digital system at last. In a radix-2 digital system, only two voltage levels exist on the electric routes.
Let’s find how a radix-2 number is used to build a digital system.
From Digital Logic to Digital Circuit
According to the Chinese ancient philosophy, everything originates from Wuji: Wuji generates Taiji, Taiji generates two complementary forces, two complementary forces generate four aggregates, four aggregates generate eight trigrams,eight trigrams generate everything.('易有太极,是生两仪,两仪生四象,四象生八卦,八卦生万物。'). Such philosophy was admired by Gottfried Wilhelm Leibniz, a German philosopher, who invented the binary number system in 1703[1], forming the basis of modern digital logic and foundation of virtually all modern computer architectures.
The application of binary system into digital logic was boosted by boolean algebra. Boolean logic(part of modern logic) and Boolean algebra(part of abstract algebra)were proposed by George Boole[2][3] in 1847.
In 1937, the boolean algebra and binary arithmetic was realized by Shannon via relays and switching circuit.
In 1939, the so-called “Model K” adder was built by George R. Stibitz as a simple demonstration circuit providing the proof of concept for applying Boolean logic to the design of computers[5].
From Boolean Logic to Multi-Valued Logic (MVL)
In fact, a decimal computer named ENIAC was unveiled in 1946.In fact, the signal transferred on the line didn't have 10 levels of voltage but with a sequence of 2-states voltages[2]. In addition, each digit in the accumulator was composed of 10 2-states('ON' and 'OFF') tubes. So, strictly to say, the circuit it used was not a decimal digital circut, but only a decimal computer.
Another multi-value-logic digital circuit is the ternary(radix-3). In 1956, ternary computers “Setun” and “Setun 70” at Moscow State University were unveiled, which was realized with ternary number{-1,0, +1} system[5].And in 1973, a software-emulated machine named TERNAC developed at State University of New York by Gideon Frieder.[3]
PAM4 which has 4 states(levels of voltages),similar to radix-4, is employed in PCIe 6.0, although it's decoded with binary systems[7].
In fact, it's not rare to use multi-states in the digital communication, e.g., QFSK or QPSK uses 4 different frequences or phases to distinguish different states in the communication.
In flash manufacturing, multi-level cell is applied broadly now, e.g., MLC(multi-level cell with 4 distinct states), TLC(triplle-level cell with 8 distinct states),QLC(quard-level cell with 16 distinct states), etc.[8]. A TLC's voltage levels are shown below.
Multi-valued logic (MVL) is considered as a key enabler for next-generation and high-informationdensity digital electronics.[6] Moreover, fuzzy logic is a form of multi-valued logic derived from fuzzy set theory to deal with reasoning that is approximate rather than accurate.
References
1 Alan V. Oppenheim, Ronald W.Schafer, Discrete-Time Signal Processing(third edition), Publishing House of Electronics Industry(China), 2019
2 The Electronic Numerical Integrator and Computer (ENIAC), https://www.ams.org/journals/mcom/1946-02-015/S0025-5718-1946-0018977-0/S0025-5718-1946-0018977-0.pdf
3 Arithmetic with Binary-Encoded Balanced Ternary Numbers ,https://web.ece.ucsb.edu/~parhami/pubs_folder/parh13-asilo-bin-encoded-symm-ternary.pdf
4 Binary Coded Ternary and Its Inverse,https://homepage.divms.uiowa.edu/~jones/ternary/bct.shtml
5 Ternary Computers: The Setun and the Setun 70,https://hal.inria.fr/hal-01568401/document
6.Multi-valued logic system: new opportunities from emerging materials and devices, https://pubs.rsc.org/en/content/articlelanding/2021/tc/d1tc00148e#!
7 Pushing the Envelope with PCIe 6.0: Bringing PAM4 to PCIe Tony Chen — Cadence,https://www.chipestimate.com/Pushing-the-Envelope-with-PCIe-60-Bringing-PAM4-to-PCIe/Cadence/Technical-Article/2021/06/01
8 Constructing Large, Durable and Fast SSD System via Reprogramming 3D TLC Flash Memory,https://doi.org/10.1145/3352460.3358323
***1 Gottfried Wilhelm Leibniz invents the Binary System, http://www.computinghistory.org.uk/det/5913/Gottfried-Wilhelm-Leibniz-invents-the-Binary-System/
2 George Boole, The Mathematical Analysis of Logic, https://history-computer.com/Library/boole1.pdf
3 George Boole,An investigation of the laws of thought on which are founded the mathematical theory of logic and probabilities ,https://www.gutenberg.org/files/15114/15114-pdf.pdf
4 Claude E. Shannon, A Symbolic Analysis of Relay and Switching Circuit, http://ccapitalia.net/descarga/docs/1938-shannon-analysis-relay-switching-circuits.pdf
5 Bell Laboratories scientist George Stibitz uses relays for a demonstration adder, https://www.computerhistory.org/timeline/computers/#169ebbe2ad45559efbc6eb35720eb5ea
Altera/Intel | Xilinx | Lattice | Learn About Electronics |
MircoSemi | Terasic | Electric Fans |
All rights reserved by fpgadig.org |
Basic Knowledge |
Numbers |