Professional Documents
Culture Documents
Research Article
Abstract: The binary coded decimal (BCD) system is suitable for digital communication, which can be designed by field
programmable gate array (FPGA) technology, where look up table (LUT) is one of the major components of FPGA. In
this study, the authors proposed a low power and area efficient LUT-based BCD adder which is constructed basically in
three steps: First, a new technique is introduced for the BCD addition to obtain the correct BCD digit. Second, a new
controller circuit of LUT is presented which is designed to select and send Read/Write voltage to memory cell for
performing Read or Write operation. Finally, a compact BCD adder is designed using the proposed LUT. Their
proposed 2-input LUT outperforms the existing best one providing 65.8% improvement in terms of area, 44.1% for
Read operation and 43.5% for Write operation in power consumption. The proposed BCD adder using FPGA gains a
radical achievement compared with the existing best-known LUT-based BCD adder providing prominent better
performance of 65.6% in area and 48.3% less power consumption.
n
where Vdd is the supply voltage and Istatic is the total current flowing
through the device [6]. A= Ai (3)
i=1
Dynamic power (Pdynamic) is the sum of transient power Example 5: Using CMOS 45 nm Open Cell Library [11], the area of
consumption (Ptransient) and capacitive load power (Pcap) a half adder is 2.36 μm2 as the area of an AND gate is 1.06 μm2 and
consumption. Ptransient represents the amount of power consumed Ex-OR gate is 1.30. Therefore, the total area becomes (1.06 + 1.3)
when the device changes logic states, i.e. ‘0’–‘1’ bit or vice versa. μm2 = 2.36 μm2.
Capacitive load power consumption represents the power used to
charge the load capacitance Definition 6: Memristor is a contraction for memory resistor. It was
first invented by Leon Chua (1971) [13] and first produced by
Pdynamic = Pcap + Ptransient (2.1) Hewlett Packard (HP) Labs (2008) [14]. A physical memristor
consists of a two-terminal device whose resistance material is
Ptransient = CL + C × Vdd 2 × f × N 3 titanium dioxide (TiO2). When the voltage is turned off, the
(2.2)
resistance remains as it did just before it was turned off, which
where CL is the load capacitance, C is the internal capacitance of the makes it a non-linear and non-volatile memory device. The
IC, f is the frequency of operation and N is the number of bits that are cross-section of a memristor cell and the symbol are shown in Fig. 1.
switching [7].
The memristor was originally defined in terms of a non-linear
Example 3: Suppose, we consider a half adder circuit which consists functional relationship between magnetic flux linkage Φm(t) and
of an AND gate and an Ex-OR gate that are constituted of six and the amount of electric charge that has flowed, q(t)
eight transistors, respectively. Using Microwind DSCH [8],
threshold voltage for this circuit is found to be 0.5 V and the f Fm (t ), q(t ) = 0 (4)
current passing through the transistors is 0.1 mA. Hence, the
power consumed by a single transistor is (0.5 × 0.1) mW = 0.05 Each memristor is characterised by its memristance function
mW. Therefore, a half adder requires (14 × 0.05) mW = 0.7 mW of describing the charge-dependent rate of change of flux with
static power consumption. On the other hand, dynamic power charge. Substituting the flux by the time integral of the voltage;
consumption is data dependent. A 2-input Ex-OR gate dissipates and charge by the time integral of current, the more convenient
2.7–4.2 μW of dynamic power Vdd ranging from 0.8 to 3.6 V with form is
frequency ( f ) of 1 MHz and load capacitance (CL) of 5 pF [9]. A
2-input AND gate dissipates 17 μW of dynamic power with dF/dt V (t)
frequency ( f ) of 1 MHz, load capacitance (CL) of 50 pF and Vdd M q(t ) = = (5)
dq/dt I (t )
is ranging from 3.0 to 3.6 V [10]. Therefore, total dynamic power
for a half adder is (4.2 + 17) μW = 21.2 μW. We have considered
static power consumption of the circuit since dynamic power Definition 7: Memristance normalised state parameter (NSP) is a
consumption is much less than the static power consumption on property of an electronic component. If charge flows in one
average cases. direction through a circuit, the resistance increases and if charge
flows in the opposite direction, the resistance decreases.
Definition 4: Delay represents the critical delay of the circuit, which
considers the following two assumptions: First, each gate performs
computation in unit time which means that every gate will take
same amount of time for internal logic operations. Second, all the 3 Design analysis of existing techniques
inputs are to be known to the circuit before the computation begins.
In this section, different types of the latest existing BCD adders [2–4]
Example 4: The delay of a half adder circuit is calculated using and the recent related works of construction of 2-input LUT [15–18]
DSCH [8], CMOS 45 nm Open Cell Library [11], interconnect are presented.
Fig. 1 Memristor
a Cross-section
b Symbol
The main problem in BCD addition is the need for correction, if the
result exceeds the permitted BCD range (decimal number 9). The
correction actually adds the binary number (0110)2 to the result.
This logic penalises high delay and extra level of circuit.
Therefore, our contribution in this work is to design a new area
efficient and high-speed BCD adder that can be employed in
different decimal applications.
Let A and B be the two addends of a 1-digit BCD adder, where
binary representations of A and B are A3A2A1A0 and B3B2B1B0, Fig. 2 Demonstration of the proposed BCD addition algorithm exhibited in
respectively. The adder’s output will be a 5 bit binary number Example 6.
An LUT consists of two basic parts: (i) controller circuit and (ii)
memory unit. Memristor is considered as memory unit due to its
non-volatility. Besides, being non-volatile, comparing with other
memories such as SRAM [15], dynamic random access memory
(DRAM), ferroelectric random access memory (FeRAM), magneto
resistive random access memory (MRAM) [19], nano random
access memory (NRAM) [20] conductive bridging random access
memory (CBRAM) [21] and phase change random access memory
(PCRAM) [22] memristor provides more area and power
efficiency [23]. In this paper, the controller part of the circuit is
proposed in compact way with optimal number of gates which
includes the selection of a memristor cell along with the Read/
Fig. 3 Algorithm of proposed BCD addition Write voltage passing to the cell. The internal memristance
changes with the applied voltages for the corresponding Read/
which is 1. The demonstration is provided in Fig. 2. The algorithm of Write/Reprogram operation is followed as in paper [15].
the BCD addition method with pre-processing technique is given in The Write voltage is considered as Data and the Read voltage is
Algorithm 4.1 (Fig. 3). Next, we propose an LUT to present an considered as Read Pulse. As only one memristor will be selected
LUT-based BCD adder. at a time, only one Write voltage (Data) is considered. It is never
Operation Ren Wen Rpulse A B Data M00 M01 M10 M11 O1 O2 Out
Note: ‘—’, not selected; ‘↑’, high; ‘↓’, low; ‘ √’, data present on data path.
possible to run Read and Write operations simultaneously. The selection of the memory unit is performed depending on the two
Therefore, the Ex-OR and corresponding AND gates are used to inputs of the LUT such as A and B, as they refer to the corresponding
select only one operation at a time to avoid this ambiguity. Once memory addresses of the memory cells (memristor). Considering the
one operation is selected then either the Read or the Write voltage addresses of the memristors to be 00, 01, 10 and 11, the addresses
is passed from the AND or transmission gate, respectively, to the can be represented as A B,
A B, AB and AB, respectively. A transistor
OR gate. The output of the OR gate is connected to the left of is activated through input B, then input A is sent from that transistor
each memristor to propagate the operational voltage either to Write to next transistor to activate the next one. Two transistors T9 and T10
1/0 to store in the memory or to Read the corresponding memory are connected to the output lines O1 and O2, respectively. The
unit when the memristor is selected. output from M00 and M01 passes through O1 and output from M10
Fig. 9 Simulation results of the proposed LUT and the BCD adder
a Simulation result of controller circuitry of 2-input LUT
b Simulation result of BCD adder with intermediate carry C1 = 0
c Simulation result of BCD adder with intermediate carry C1 = 1
‘—’ Represents that the design does not require the corresponding component.
Table 4 Comparison of number of gates, power and delay among proposed pre-processing and existing post-processing techniques for BCD addition
method
6-input LUT 2-to-1 MUX 2-input AND 2-input OR 2-input EX-OR NOT
‘—’ Represents that the design does not require the corresponding component.
Example 7: For n = 5, a 5-input LUT requires 25–2 = 8 LUTs with The time complexity of the proposed addition method is
two inputs. mathematically proven in Lemma 2.
An LUT-based BCD adder is designed using the proposed BCD Proof: We will prove the above statement by method of
addition algorithm and LUT. An algorithm for the construction of contradiction.
the proposed BCD adder circuit is presented in Algorithm 4.3 Suppose, an n-digit BCD adder does not require at least O(5n) of
(Fig. 6). According to the algorithm, the block diagram and the time complexity.
circuit are depicted in Fig. 7. For the addition of the least The critical path delay of our proposed n-digit BCD adder requires
significant 1 bit, a full adder; and for pre-processing, two half n full adders, 2n half adders, n OR gates and 4n LUTs with six
adders and an OR gate are used. We use the 6-input LUT to add inputs. Except the arrangement of 6-input LUTs, our proposed
the three MSB of the operands with the correction by adding 3 if design has a serial architecture which has a latency of O(4n).
condition (6) satisfies. Therefore, the addition circuit improves by Hence, the time complexity of the proposed BCD adder is O(5n).
removing extra circuitry overhead than the existing circuits [2–4]. This contradicts the supposition. Hence, the supposition is false
Using the proposed 1-digit BCD adder circuit, we can easily create and Lemma 2 is true. □
an n-digit BCD adder circuit, where the Cout of 1-digit adder
circuit is sent to the next digit of the BCD adder circuit as a Cin. A comparison of time complexity of BCD addition techniques
So, the generalised n-digit BCD adder computes sequentially using between the best-known existing [2] and the proposed methods is
the previous carry which is shown in Fig. 7. shown in Fig. 8.
Table 5 Comparison of hardware complexity between existing [15] and 5 Simulation results and performance analysis
proposed controller circuits of 2-input LUT
The 2-input LUT is simulated using Microwind DSCH [8] and
Parameter Methods LTSPICE IV [25]. The simulation using DSCH is exhibited in
Fig. 9a, where we can see that, up to ∼100 ns, both A and B are
Existing [15] Proposed
low and thus M00 is selected but no operational voltage is applied
Total Total Total Total to M00 since both Ren and Wen are low. From ∼100 ns, A is high
gates transistors gates transistors and B is low and thus M10 is selected. Similarly, from ∼200 to
∼300 ns, both A and B are high and M11 is selected. Wen is high
inverter 6 6 3 3 during ∼400 to ∼500 ns and data is written to M01 (B is high and
OP-AMP 2 12 1 6
2-o-1 MUX 3 60 1 20
transmission 2 8 1 4 Table 6 Comparison between existing [15] and proposed LUTs with
gate different sizes for WRITE operation in terms of area
2-input Ex-OR 1 8 1 8
2-input AND 1 6 3 18 LUT size Area, μm2
3-input AND 4 32 — —
2-input OR 4 24 1 6
Existing [15] Proposed
4-input AND 1 10 — —
transistor 2 2 10 10
total 26 168 21 75 2-input 37.68 12.89
4-input 150.72 51.56
6-input 602.88 206.24
‘—’ Represents that the design does not require the corresponding 8-input 2411.52 824.96
component.
A is low). Read Pulse is high from ∼700 ns to the rest of the timing for BCD output. Table 3 ensures the improvement of the proposed
diagram and Ren is also high during that time period, so read BCD addition technique over conventional binary addition and
operation is performed on selected memory cell M01 and read conversion technique. In BCD addition algorithm new
value is propagated to the MUX which is shown as out. In pre-processing technique is introduced which is advantageous over
Figs. 9b and c, the simulation results of the proposed BCD adder existing post-processing technique as elucidated in Table 4.
are demonstrated. Table 4 shows the improvement of number of gates, power and
In spite of using BCD adder first performing binary addition and delay only due to adopting pre-processing technique instead of
then converting the binary output to BCD format is another approach post-processing technique.
Table 7 Comparison among different 1 to n-digits existing [2–4] and proposed BCD adders