(Haritha) IEEE - Paper

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

FASTER IMPLEMENTATION OF BINARY

COUNTER BY BUBBLE SORTING


NETWORK

B L Haritha Mr.P.Sathish Kumar ,


MTech.VLSI Design Asst. professor, Sr.Gr, Dept of ECE,
Amrita School of Engineering, Amrita School of Engineering,
Amrita Vishwa Vidhyapeetham Amrita Vishwa Vidhyapeetham,
Bangalore. Bangalore.
harithalalithaece@gmail.com p_sathishkumar@blr.amrita.edu

Abstract— One of the problems that has been explored for finite impulse response (FIR) filter. This project involves the
decades is sorting. Many Sorting algorithms have been studied implementation of the 8-bit bubble sorting algorithm as well
since the dawn of computing. Bubble sorting is a popular and as the development of a novel way for building binary
effective sorting method that has been utilized in a variety of counters, primarily (7,3) and (15,4), that is more efficient. We
applications. Any kind of sorting algorithm requires a faster and begin with parallel bubble sorting networks in this set of
more efficient environment for high-speed data processing. The designs.
sequential and parallel bubble sort algorithms are implemented
in this project. Binary counters based on the bubble sorting II. REVIEW OF SORTING NETWORK
technique are also proposed. To construct reordered sequences,
the counter's inputs are separated into two groups and fed into A. Principle
sorting networks. The design and subsequent optimization of the The sorting network [14] is an efficient parallel hardware
(7,3) counter using the approach, which can perform better in network utilized for data sorting. The bubble sort is most
delay, area–delay product, and power–delay product, likely sequential, but the orientation, wiring, or connection is
respectively. Similarly, the (15,4) counter is built, and it achieves different. The first layer swapper is the primary building block
a shorter while consuming substantially less power and taking
of parallel bubble sort.
up significantly less area. When the counters are integrated in a
16*16-bit multiplier, the multiplier's performance in area delay
product and power delay product is higher than when the
counters are placed in other counter designs.

Keywords— Binary counter, multiplier, sorting network.

I. INTRODUCTION
Many computing applications require that everything be in
order. Sorting is a process that is used in a variety of computer
systems. Sorting can be used in computer science to sort data
in either ascending or descending order, which is commonly
required in algorithms such as evolutionary algorithms. In
both commercial data processing and advanced scientific
computers, sorting is critical. Transaction processing,
combinatorial optimization, astrophysics, molecular Fig. 1. 3-way 4-way sorting network
dynamics, linguistics, genomics, weather prediction, and other
applications of Sorting include, for example, transaction B. Sorting Network Working Principle
processing, combinatorial optimization, astrophysics,
molecular dynamics, linguistics, genomics, and weather 1) Sorting Procedure: A fundamental procedure for
prediction. Selection sort, Merge sort, Insertion sort, Heap sorting a string of numbers or other elements in the correct
sort, Radix sort, and Bubble sort are some of the sorting order is bubble sort. From left to right, the technique examines
algorithms. Heap sort, Radix sort, and Merge sort are all each set of neighbouring elements in the string, swapping their
regarded effective methods for sorting large amount of data. locations if they are out of order. Bubble sort works by
For smaller amounts of data, however, selection sort, Insertion swapping nearby elements until they are no longer in the
sort, and Bubble sort are effective. We used bubble sort for correct order. It is called bubble sort because the movement of
our solution because we just needed to sort a few data points. array elements is just like the movement of air bubbles in the
To speed up the multiplication process, approximate water. Bubbles in water rise up to the surface; similarly, the
multipliers have been widely employed in several error- array elements in bubble sort move to the end in each iteration.
tolerant applications such as digital image processing and the

XXX-X-XXXX-XXXX-X/XX/$XX.00 ©20XX IEEE


Although it is simple to use, bubble sort is largely
employed as an educational tool because its performance in
the actual world is low. It isn't designed to handle huge data
collections. Bubble sort has an average and worst-case
complexity of O(n2), where n is the number of objects.
Consider an array arr [] = {5, 1, 4, 2, 8}
2) First Pass: Bubble sort starts with very first two Fig. 3. Block diagram stages of sequential bubble sort.
elements, comparing them to check which one is greater. (5
1 4 2 8) –> (1 5 4 2 8), Here, algorithm compares the first B. Parallel Bubble Sort
two elements, and swaps since 5 > 1. (1 4 5 2 8) –> (1 4 2 5 1) Principle: Parallel comparison and swapping are the
8), Swap since 5 > 2. (1 4 2 5 8) –> (1 4 2 5 8), Now, since driving forces behind parallel bubble sort. On the independent
these elements are already in order (8 > 5), algorithm does data of a list, parallel swapping can be used. In this scenario,
not swap them. the odd-even transposition approach comes in help. To
3) Second Pass: Now, during second iteration it should explain it, let L = < a1, a2, a3, ……,ap, aq, ….., an> Be a list
look like this. (1 4 2 5 8) –> (1 4 2 5 8). (1 4 2 5 8) –> (1 2 4 of n elements. Any pair of consecutive elements, say (ap, aq)
5 8),Swap since 4 > 2. (1 2 4 5 8) –> (1 2 4 5 8). (1 2 4 5 8) is said to be odd or even pair if the position of first element p
–> (1 2 4 5 8) is odd or even respectively e.g. (a1, a2) is odd pair while
(a2,a3) is even pair.
2) Algorithm: Input–> I (unsorted data list), Output–> O
C. Design Methodology (sorted data list). Sort all the odd and even pair in parallel.
Compare all the pairs in the list in parallel. Alternate between Repeat the previous steps 1-2 sequentially (n/2) times.
odd and the even phases. Do n-1 comparisons for each
iteration => O(n). Based on an existing sequential sort
algorithm. Try to utilize all resources available. Possible to
turn a poor sequential algorithm into a reasonable parallel
algorithm (bubble sort and parallel bubble sort)

III. DESING AND ANALYSIS


A. Sequential Bubble Sort
1) Principle: The basic principle of bubble sort is to Fig. 4. Step by step process of parallel bubble sort
compare two consecutive numbers from leftmost to rightmost
and swaps them if certain condition is met. In a list L = {6, 2,
4, 1} is taken for ascending sort. In every pass, left to right
scan is done and two consecutive numbers are compared and
swapped. In the example, the largest number is moved to the
rightmost position for every pass. As every pass is over, the
no. of unsorted data is decreased by one it is go on until all the
data are sorted. In every pass, compare is done sequentially.
Again, all the passes are done sequentially too.
2) Algorithm: Input–> L (unsorted data list), Output–> O
(sorted data list). Compare and swap L sequentially. Decrease
L by 1 and repeat the previous step until L is sorted. Fig. 5. Block diagram stages of sequential bubble sort.

C. Review of Parallel Bubble Sorting Network


1) Principle: The sorting network is a high-performance
parallel network that is used to sort data. The famous 0,1
principle states that a sorting network can sort any type of
number if it can sort a batch of data whose constituents are all
1-bit numbers.
2) Manual Calculation of Serial Bubble Sort: Given an
array {48,04,34,52,18,73,48}, a sorting algorithm compares
and swaps numbers in multiple passes. After the first pass,
the array becomes {04,34,48,18,52,48,73}. The second pass
results in {04,34,18,48,52,48,73}, and the third pass finalizes
the array as {04,18,34,48,48,52,73}.
3) Manual Calculation of Parallel Bubble Sort: Given the
Fig. 2. Step by step process of sequential bubble sort array {48,04,34,52,18,73,48}, the sorting uses an odd-even
transposition method. Each array element is assigned a
number starting from 0. In the odd step, comparison starts
from the 1st element, transforming the array to
{48,04,34,18,52,48,73}. The even step begins at the 0th
element, resulting in {04,48,18,34,48,52,73}. After another
odd and even step, the array is sorted as
{04,18,34,48,48,52,73}.
4) Proposed (7,3) Counter: C2, C1, and S are the outputs
of the (7,3) counter, with C2 having the greatest significant
weight and S having the least. The total number of "1"s in the
input 7 bits corresponding to outputs is shown. Sequence H
denotes the output of a four-way sorting network, which
includes H1–H4 from left to right. Sequence I denotes the
output of a three-way sorting network, which includes I1–I3
from left to right.
TABLE I
TRUTH TABLE OF (7,3) COUNTER
Fig. 7. Block diagram of (15,4) counter.

6) Schematic Representation of the Counters: The


Schematic Representation of (15,4) counter and (7,3) counters
are shown in Fig.8 and 9.

Fig. 8. Schematic Representation of (15,4) counter.

Fig. 6. Block diagram of (7,3) counter.

5) Proposed (15,4) Counter: The output matching to the


number of "1"s in the input sequence is shown in Fig.13. To
construct the (7,3) counter, first establish S and sequences P
and Q using the sum of the subscripts, similar to how we did
with the (7,3) counter. Second, make use of it to improve it.
Due to the length of the original Boolean expressions.
TABLE II
TRUTH TABLE OF (15,4) COUNTER

Fig. 9. Schematic Representation of (7,3) counter.


IV. RESULTS AND DISCUSSION compared to the existing serial or other sorting network
methods. Also clock cycle results of both Sequential and
The improvement percent of the counter (7,3) from the parallel Bubble sort is compared and proved that parallel
existing approach is approximately 81% and the improvement bubble sort is better than serial bubble sort. The
of power from the existing method for the counter (7,3) is improvement percent of the counter (7,3) from the existing
43% as shown in the above results table. For the counter
approach is approximately 81% and the improvement of
(15,4), the improvement percent of area and power is 84% power from the existing method for the counter(7,3) is 43%
and 14.3%, respectively. as shown in the above results table. For the counter(15,4),
the improvement percent of area and power is 84% and
TABLE III 14.3%, respectively.
SYNTHESIS RESULT OF (15,4) COUNTER

Improve(Max) `REFERENCES
ADP PDP
Delay Area Power
Process Method (ns . (ns . [1] Wenbo Guoand Shuguo Li, Fast Binary Counters and Compressors
(ns) (μm)² (μW)
μm)² μW) Generated by Sorting Network Member, IEEE Transaction on Very
In Large scale Integrations (VLSI) Syatems, VOL. 29, NO. 6, June 2021
In ADP in PDP
Delay
[2] S. Venkatachalam and S.-B. Ko, “Design of power and area efficient
0.757 376.8 46.7 285.2 35.3 - - - approximate multipliers,” IEEE Trans. Very Large Scale Integer.
(VLSI) Syst., vol. 25, no. 5, pp. 1782–1786, May 2017,
65nm Existing 0.576 644.2 91.1 371.1 52.4 - - - doi:10.1109/TVLSI.2016.2643639.
[3] A. Fathi, B. Mashoufi, and S. Azizian, “Very fast, high-performance5-
0.576 748.6 151.5 431.2 87.3 14.9% 33.9% 55.9% 2 and 7- 2 compressors in CMOS process for rapid parallel
accumulations,” IEEE Trans. Very Large Scale Integr. (VLSI) Syst.,
0.377 229.7 41.8 86.6 15.8 - - - vol.28, no. 6, pp. 1403-1412, Jun 2020,
doi:10.1109/TVLSI.2020.2983458
45nm Proposed 0.277 679.2 112.8 188.1 31.2 - - - [4] U. Meenakshi, P.M.Aishwarya, R, Vani Keerthi, "An Efficient Sorting
Techniques for Priority Queues in High-Speed Networks," IEEE Trans.
0.345 376.7 87.8 130 30.3 19.7% 59.4% 69.7%
Very Large Scale Integr. (VLSI) Syst.,2019 3rd International
conference on Electronics, Communication and Aerospace Technology
(ICECA) DOI: 10.1109/ICECA.2019.8822135
[5] Anil kumar, J.P.Anita, "Generation of Counters and Compressors
Using Sorting Network," IEEE Trans. Very Large Scale Integr. (VLSI)
Syst., Proceedings of Fourth International Conference on
Communication, Computing and Electronics Systems.
[6] M.G.Thushara, Tadi Mownika, Ritika Mangamuru, "A Comparative
TABLE I. TABLE TYPE STYLES Study on different Extraction Algorithms," IEEE Trans. 2019 3rd
International Conference on Computing Methodologies and
Communication (ICCMC). DOI: 10.1109/ICCMC.2019.8819630
[7] Gorrepati Chaithra Sri, S Arpitha Kopparthi Veera Hanuma,
Nuthalapati Harshita, Sonali Agrawal, "An Efficient Quasi
Comparison-free Bidirectional Architecture for Sorting Algorithm,"
IEEE Trans., 2022 IEEE 3rd Global Conference for Advancement in
Technology (GCAT)., DOI: 10.1109/GCAT55367.2022.9972111
Fig. 10. Implementation of the counter by bubble sorting network
[8] M Ravisankar, Athira Gopinath, "Comparison of Lossless Data
Compression Techniques," IEEE Trans., 2020 International
Conference on Inventive Computation Technologies (ICICT), DOI:
10.1109/ICICT48043.2020.9112516
V. CONCLUSION [9] Tella Satish, Kirti S. Pande, "Multiplier Using NAND Based
Compressors," IEEE Trans., 2019 3rd International Conference on
The implementation of a new counter design based on a Electronics, Materials Engineering & Nano-Technology
bubble sorting network, (7,3) and (15,4) counters are (IEMENTech). DOI: 10.1109/IEMENTech48150.2019.8981067
constructed. By implementing the reports are generated
which shows reduction in both area and power when

You might also like