Design and Implementation of Verilog Based High Speed Low Power Uart
Design and Implementation of Verilog Based High Speed Low Power Uart
e ISSN: 2584-2137
Vol. 02 Issue: 05 May 2024
Page No: 1468 - 1477
https://irjaeh.com
https://doi.org/10.47392/IRJAEH.2024.0203
Abstract
The most crucial component of serial communication is a microcircuit called a universal asynchronous
receiver/transmitter (UART). Receive-transmitter asynchronous technology is known as UART, and it is
widely used for device-to-device communication protocols. Using asynchronous serial communication at
a speed that can be adjusted. A hardware communication technique called UART Asynchronous
conditions occur when the output of the transmitting device and the receiving end are not in sync with a
clock. In UART, receiving a signal is known as RxD, and transmitting a signal is known as TxD. In
comparison to the existing conventional UART design, we were able to reduce delay by 29% and power
usage by 33% using our approach. The effectiveness of the novel UART design is noticed with the
reduction in delay and power consumption. Synthesis and simulation are done in Xilinx ISE and Modelsim
and Verilog HDL is used to implement a unique UART design.
Keywords: UART; RS-232C; Transmitter; Receiver; Asynchronous.
1. Introduction
The term UART refers to the Universal number of IOBS etc [2]. Today, Numerous
Asynchronous Receiver Transmitter Protocol. By products use UART, including RFID-based
looking at the name alone, we can deduce that software, Bluetooth modules, GSM and GPRS
UART is used for serial transmission. Direct modems, GPS receivers, and wireless
communication between two UARTs occurs communication systems [17]. whereas in this
during UART communication [1]. Parallel data is project UART with RS232 standard is uses for
sent in serial form by a controlling device, like a transmission of data signal which gives some
CPU, to the sending UART. Following that in advantages over a conventional UART. UART
order to convert the data into its original with RS232 operates on the principle of
parallelize form for the accepting device, it is asynchronous meaning that the data is transmitted
transferred from the sending UART to the individual bits without the need for continuous
receiving UART. In UART, two cables are clock signal.RS232 is able to communicate up to
established, with one wire being used for 15 m at a rate of 1.492 kpbs without any
transmission and the other for receiving. The interruption between two devices [15].
main motive of this project is to provide a high- 2. Implementations of UART
speed low power UART with RS232 standard 2.1. UART Data Frame
signaling protocol that defines things like pin A universal asynchronous receiver/transmitter, or
assignments, voltage levels and so forth and show UART, enables full-duplex transmission and
the comparison results between existing receiving by converting data between serial and
conventional UART design on the basis of delay, parallel communication. It has a serial data stream
power consumption, number of logic gates, that bit by bit transforms the input serial data into
byte transmission and the computer's parallel data line noise. In this paper RS 232 is used that allows
into output; data streams for input and output are parallel data for serial communication between
checked for parity; Include operations in the devices over relatively short distance. When we
output data stream, like removing start and stop refer UART with RS 232 we discuss UART
tags. Asynchronous communication often uses the communication with the RS-232 electrical
following frame format: 1 bit for the start, 5 to 8 standard. In this configuration. The UART is
bits for the data bit, optional parity bit, parity, or responsible for serializing and deserializing data
no parity, and stop bit (1, 1.5, or 2 bits). Format (converting between parallel and serial data
for UART data frames [3]. As seen in Below formats) and handling the timing aspects of
Figure 1. communication. RS-232 specifies the voltage
levels used for signaling. To represent binary data
(1s and 0s) on the transmit and receive lines, it
specifies both high and low voltage levels.
Usually, the voltage levels fall between -15V and
+15V, where negative voltages represent logical
Figure 1 UART Data Frame [31-36] 1s and positive voltages represent logical 0s. The
receiving eventually comes to an end, Both the
To speed up the process, the parity bit is not set in state and completed signals are pulled down and
this step. Eight bits of data, one bit for start, one up, respectively. Once every data bit has been in-
bit for stop, and no parity bit make up the format put, the sampling counter will count [16].
of a data frame. Rs-232 is the standard 3. Literature Survey
communication interface, and full-duplex İn paper [1], showed the implementation of the
communication mode is used.[37] UART in the Virtex II Pro FPGA processor
2.2. Transmission Module because of its quick time to market, high speed,
Sending the data is the sending module's primary low cost, and repro-grammable nature.The
job. Along with other modules, it includes FIFO, FPGA's high speed capabilities and register-rich
data sending logic unit, and monitoring logic unit. architecture make it the ideal UART
This module uses baud rate to determine the implementation. The Xilinx ISE8.2 software
corresponding transmission frequency division programme was used to implement the design.
coeffi-cient. TXFIFO receives the data to be Finally, Using the Xilinx xst tool for simulation
delivered from the buffer and, while it is not and synthesis, the RTL schematic of the filtering
empty, transmits a data frame, managed by the IC was produced.Author of [2] Has designed
counter. Normally, stays high in the absence of UART based on FPGA Verilog was used
data flow Second, the sending module will throughout the entire design process, and Xilinx
transform the sending of parallel data into serial ISE Webpack 14.7 was used to make it visible in
data sending by transmitting the content in the Spartan-3E FPGA. The design can operate at
accordance with the data's format specification. the maximum Spartan-3E FPGA clock frequency
2.3. Receiver Module of 218.248 MHz, according to test results. The
2.3.1. Receiver timing configuration UART controller can handle bits at a maximum
Every time the value changes from "0" to "1" the frequency of 192.773 MHz, which is why it only
beginning bit of a frame of data can be considered requires a tiny amount of storage. Author of [18]
to have arrived. However, to guarantee the Use System Verilog (SV) to develop and validate
accuracy of the information shared between the a complete du-plex UART module. Without the
communication partners, Logical "1" can need of a clock signal, systems can communicate
potentially shift to logic "0" due to transmission with one another thanks to this serial
communication protocol. Data from parallel electrical and physical characteristics of the serial
streams is converted to serial format and sent. communication interface. Overall, the objective
There has been a lot of re-searches in the literature of a UART with RS-232 project is to create a
author Jiajing Li suggests an asynchronous FIFO stable and efficient serial communication
buffered APB bus-based UART communication interface that can be used in a wide range of
interface. With this design, the AMBA bus may applications, from simple data transfer between
be used to set the UART controller in a flexible two microcontrollers to more complex scenarios
manner for baud rate ad-justment, transmission like device control, monitoring, and data
bits, parity mode configurability, and other acquisition [6].
features. Additionally, asynchronous FIFO UART (Universal Asynchronous
buffering is implemented to facilitate Receiver/Transmitter): It is a hardware
communication between low-speed UART component, or a communication protocol used for
devices and high-speed devices [19]. This study serial communication between computers or
elaborates on numerous elements linked to UART microcontrollers and peripheral devices. It
transceiver and focuses on the theoretical handles the conversion of parallel data (inside the
foundation and application of UART. Since computer) to serial data that can be transmitted
UART was first invented fifty years ago, UART over a communication line (like a wire) and vice
transceiver technology has advanced steadily and versa. As UART connection is asynchronous, data
is now widely applied in many spheres of life. is transmitted without the use of a shared clock
UART transceivers are crucial in many facets of signal. In order for communication to be
contemporary life, including healthcare and the successful, the sender and recipient must agree on
Internet of Things. UART transceivers also the baud rate, or data rate, as well as the data bits,
improve the application of currently available stop bits, and parity settings [7].
technology [20]. In Paper [5], author is concerned RS-232 (Recommended Standard 232): The
with improvements in PDP and total power in electrical and mechanical properties of serial
relation to clock period changes. The Cadence communication between devices are described by
NCSIM Simulator and Compiler is used for the RS-232 standard [8].
simulation and synthesis, and 45 and 90 nm
GPDK library files are used for UART
implementation. Now a days A popular technique
for testing digital circuits is scan-based testing,
which improves the controllability of the circuit
being tested, according to the paper's author [8].
The suggested technique divides a scan chain into
numerous scan segments, therefore reducing the
amount of test data. Circuit topology is used to
determine how to partition the scan chain, which
im-proves the number of scan segments that can
be skipped. According to the results of the
simulation, the suggested approach lowers the test
power usage [4].
4. Motivation and Contribution
While UART is a physical communication
method used for serial transmission between
devices, RS-232 is a standard that describes the Figure 2 Pin Diagram of Rs232 [30]
For serial communication, it specifies voltage In r_data, the transmitter rs232_tx transmits serial
levels, signal timing, and connection pin data based on bit count [12]. A done signal is
assignments. RS-232 is often used for connecting issued when the transmission is stopped by setting
devices over short to moderate distances, typically the state to low level when the bit count reaches
with DB-9 or DB-25 connectors. The physical 10 and the bit flag is at a high level [21-23].
connections between devices might involve DB-9 module test_uart_tx;
or DB-25 connectors and cables with specific pin // Inputs
assignments for transmit (TX), receive (RX), reg clk = 0;
ground (GND), and other control signals. The reg rst = 0;
primary goal of this project is to create a modified reg [7:0] current_test = 0;
UART architecture [9]. To do this, a 232- reg [7:0] s_axis_tdata = 8'd0;
communication protocol must be implemented in reg s_axis_tvalid = 1'b0;
the UART, and the results should be compared to reg [15:0] prescale = 0;
the conventional UART method. comparison has wire s_axis_tready;
been shown based on the factors like speed, delay, wire txd;
power consumption, number of IOBs, number of wire busy;
logic gates, etc. The main objective of a UART To avoid errors resulting from the fusion of two
(Universal Asynchronous Receiver/Transmitter) data sets, the data in data signal will be kept in
with RS-232 project is typically to provide a r_data. A low state level denotes an idle state, a
communication interface between two electrical high level denotes a working state, and state
devices or systems using these protocols. My signifies the working state [13]. The send flag is
contribution to this work is that we use the RS 232 represented by bit_flag, the bit counter by bit_cnt,
signaling proto-col to develop a novel architecture and the baud rate counter by baud_cnt.
for a high-speed, low-power UART. We then always @ (posedge clk) begin
compare the speed and power of this new if (rst) begin
architecture to those of the conventional UART s_axis_tready_reg <= 0;
that is currently in use [10] in Figure 2. txd_reg <= 1;
5. Organization prescale_reg <= 0;
The paperwork is structured into several section. bit_cnt <= 0;
Section 2 provides the implementation of UART busy_reg <= 0;
and literature survey. Section 3 provides end else begin
motivation and my contribution in this project. if (prescale_reg > 0) begin
section 4 is the organization of this paper. section s_axis_tready_reg <= 0;
4 show system model and problem formulation. prescale_reg <= prescale_reg - 1;
whereas section 6 has a simulation results section end else if (bit_cnt == 0) begin
7 discusses the results and section 8 provide the s_axis_tready_reg <= 1;
conclusion and future scope of this project [11]. busy_reg <= 0;
6. Experiment Codes The bit counter bit_cnt begins to count when the
6.1. UART Transmitter Module send flag bit_flag is high.Bit_cnt = 0 causes
Parallel data is available for transmission at [7:0] rs232_tx to transmit the initial bit (low level).
data can be parametric. The status is set at the Eight bits of r_data are sent from low to high by
elevated level, and r_data stores information from rs232_tx when bit_cnt is between 1 and 8.
the data signal. when the input start signal shows RS232_tx sends the stop bit (high level) when
high level. For every bit_flag high level, bit count bit_cnt = 9 [24-25].
rises by 1 in accordance with the baud rate setting.
Figure 6 Comparison Graph of Delay Fıgure 9 Graph of Number of Logic Gates Use
Figure 7 Overall Comparison Graph of Delay Fıgure 10 RTL View of Proposed Uart
UART WITH
PARAMETERS CONVENTIONAL
RS232
Oh, Sangjun Lee, and Sungho Kang "A International Journal of Engineering and
New Scan Chain Reordering Method for Advanced Technology (IJEAT) ISSN:
Low Power Consumption based on Care Bit 2249-8958, Volume-8 Issue-4, April 2019.
Density" in IEEE International SoC Design [18]. Yamini R”Design and Verification of
Conference (ISOCC) 2019. UART using System Verilog” International
[11]. D Manasa Manikya, Marala Jagruthi1, Rana Journal of Engineering and Advanced
Anjum, Ashok Kumar K, "Design of Test Technology (IJEAT) ISSN: 2249 – 8958
Compression for Multiple Scan Chains (Online), Volume-9 Issue-5, June 2020.
Circuits" International Conference on [19]. Jiajing Li; Lixin Yang “UART Controller
System, Computation, Automation and with FIFO Buffer Function Based on APB
Networking (ICSCAN), 2021. Bus” IEEE International Workshop on
[12]. Nagesh B, Nikhil Chandra B S, "Design of Anti-counterfeiting, Security,
Efficient Scan Flip-Flop”, 6th International Identification, ASID 2022.
Conference on RecentTrends on [20]. Hang Zhang “A Systematic Analysis of The
Electronics, Information, Communication UART Transceiver Theory and
& Technology (RTEICT), 2021. Application” Science,engineering and
[13]. Yucong Zhang, Xiaoqing Wen, Stefan Hols, technology vol 61 ,IFMPT 2023.
Kohei Miyase, Seiji Kajihara, Hans- [21]. W. Zhang, Y. Hu, R. Ding, and B. Yang,
Joachim Wunderlich, and Jun Qian, "Clock- “Research on High-Speed Asyn-chronous
SkewAware Scan Chain Grouping for Serial Transmission Based on 8b10b,”
Mitigating Shift Timing Failures in Low- Applied Informatics and Com-munication,
Power Scan Testing “, IEEE 27th Asian pp. 586 – 592, Aug. 2011.
Test Symposium, 2018. [22]. D. Bhadra, V. S. Vij, and K. S. Stevens, “A
[14]. K. -J. Lee, C. -A. Liu and C. -C. Wu, "A low power UART design based on
Dynamic-Key Based Secure Scan asynchronous techniques,” IEEE Xplore,
Architecture for Manufacturing and In- Aug. 01, 2013.
Field IC Testing," in IEEE Transactions [23]. K. Gupta, A. Raman, N. Kumar, and R.
onEmerging Topics in Computing, vol. 10, Ranjan, “Design and Implementa-tion of
no. 1, pp. 373-385, 1 Jan.-March, 2022. High-Speed Universal Asynchronous
[15]. Yucong Zhang, Xiaoqing Wen, Stefan Hols, Receiver and Transmitter (UART),” IEEE
Kohei Miyase, Seiji Kajihara, Hans- Xplore, Feb. 01, 2020.
Joachim Wunderlich, and Jun Qian, "Clock- [24]. E. Xie and J. Zhou, “Analysis and
SkewAware Scan Chain Grouping for Comparison of Asynchronous FIFO and
Mitigating Shift Timing Failures in Low- Synchronous FIFO,” 2023 IEEE 2nd
Power Scan Testing “, IEEE 27th Asian International Conference on Electrical En-
Test Symposium, 2018. gineering, Big Data and Algorithms
[16]. V. Shivakumar, C. Senthilpari and Z. (EEBDA), Feb. 2023.
Yusoff, "A Low-Power and Area-Efficient [25]. P. Sharma, A. Kumar, and N. Kumar,
Design of a Weighted Pseudorandom Test- “Analysis of UART Communication
Pattern Generator for a Test-Per-Scan Built- Protocol,” 2022 International Conference
in SelfTest Architecture," in IEEE Access, on Edge Computing and Applications
vol. 9, pp. 29366-29379, 2021. (ICECAA), Oct. 2022.
[17]. G. Maanasa, K. Raghava Rao, L. Anjali, P. [26]. B. K. Dakua, M. S. Hossain, and F. Ahmed,
Satyannarayana”An Inter-active GPS And “Design and Implementation of UART
RFID Based Receptacle Security System” Serial Communication Module Based on