<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.2 20190208//EN" "http://jats.nlm.nih.gov/publishing/1.2/JATS-journalpublishing1.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="1.2" xml:lang="en">
    <front>
        <journal-meta>
            <journal-id journal-id-type="pmc">F1000Research</journal-id>
            <journal-title-group>
                <journal-title>F1000Research</journal-title>
            </journal-title-group>
            <issn pub-type="epub">2046-1402</issn>
            <publisher>
                <publisher-name>F1000 Research Limited</publisher-name>
                <publisher-loc>London, UK</publisher-loc>
            </publisher>
        </journal-meta>
        <article-meta>
            <article-id pub-id-type="doi">10.12688/f1000research.73404.1</article-id>
            <article-categories>
                <subj-group subj-group-type="heading">
                    <subject>Research Article</subject>
                </subj-group>
                <subj-group>
                    <subject>Articles</subject>
                </subj-group>
            </article-categories>
            <title-group>
                <article-title>Low power, less occupying area, and improved speed of a 4-bit router/rerouter circuit for low-density parity-check (LDPC) decoders</article-title>
                <fn-group content-type="pub-status">
                    <fn>
                        <p>[version 1; peer review: 1 approved, 1 not approved]</p>
                    </fn>
                </fn-group>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author" corresp="yes">
                    <name>
                        <surname>Senthilpari</surname>
                        <given-names>Chinnaiyan</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Methodology</role>
                    <role content-type="http://credit.niso.org/">Software</role>
                    <role content-type="http://credit.niso.org/">Validation</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Original Draft Preparation</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Review &amp; Editing</role>
                    <uri content-type="orcid">https://orcid.org/0000-0002-3775-5621</uri>
                    <xref ref-type="corresp" rid="c1">a</xref>
                    <xref ref-type="aff" rid="a1">1</xref>
                </contrib>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>Deena</surname>
                        <given-names>Rosalind</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Conceptualization</role>
                    <role content-type="http://credit.niso.org/">Data Curation</role>
                    <role content-type="http://credit.niso.org/">Software</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Original Draft Preparation</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Review &amp; Editing</role>
                    <uri content-type="orcid">https://orcid.org/0000-0001-5405-3173</uri>
                    <xref ref-type="aff" rid="a1">1</xref>
                </contrib>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>Lini</surname>
                        <given-names>Lee</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Formal Analysis</role>
                    <role content-type="http://credit.niso.org/">Investigation</role>
                    <role content-type="http://credit.niso.org/">Project Administration</role>
                    <role content-type="http://credit.niso.org/">Resources</role>
                    <role content-type="http://credit.niso.org/">Supervision</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Review &amp; Editing</role>
                    <uri content-type="orcid">https://orcid.org/0000-0002-9686-5812</uri>
                    <xref ref-type="aff" rid="a1">1</xref>
                </contrib>
                <aff id="a1">
                    <label>1</label>Faculty of Engineering, Multimedia University, Cyberjaya, Selangor, 63100, Malaysia</aff>
            </contrib-group>
            <author-notes>
                <corresp id="c1">
                    <label>a</label>
                    <email xlink:href="mailto:c.senthilpari@mmu.edu.my">c.senthilpari@mmu.edu.my</email>
                </corresp>
                <fn fn-type="conflict">
                    <p>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>5</day>
                <month>1</month>
                <year>2022</year>
            </pub-date>
            <pub-date pub-type="collection">
                <year>2022</year>
            </pub-date>
            <volume>11</volume>
            <elocation-id>7</elocation-id>
            <history>
                <date date-type="accepted">
                    <day>15</day>
                    <month>12</month>
                    <year>2021</year>
                </date>
            </history>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2022 Senthilpari C et al.</copyright-statement>
                <copyright-year>2022</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access article distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <self-uri content-type="pdf" xlink:href="https://f1000research.com/articles/11-7/pdf"/>
            <abstract>
                <p>
                    <bold>Background:</bold> Low-density parity-check (LDPC) codes are more error-resistant than other forward error-correcting codes. Existing circuits give high power dissipation, less speed, and more occupying area. This work aimed to propose a better design and performance circuit, even in the presence of noise in the channel.</p>
                <p>
                    <bold>Methods:</bold> In this research, the design of the multiplexer and demultiplexer were achieved using pass transistor logic. The target parameters were low power dissipation, improved throughput, and more negligible delay with a minimum area. One of the essential connecting circuits in a decoder architecture is a multiplexer (MUX) and a demultiplexer (DEMUX) circuit. The design of the MUX and DEMUX contributes significantly to the performance of the decoder. The aim of this paper was the design of a 4 &#x00d7; 1 MUX to route the data bits received from the bit update blocks to the parallel adder circuits and a 1 &#x00d7; 4 DEMUX to receive the input bits from the parallel adder and distribute the output to the bit update blocks in a layered architecture LDPC decoder. The design uses pass transistor logic and achieves the reduction of the number of transistors used. The proposed circuit was designed using the Mentor Graphics CAD tool for 180 nm technology.</p>
                <p>
                    <bold>Results:</bold> The parameters of power dissipation, area, and delay were considered crucial parameters for a low power decoder. The circuits were simulated using computer-aided design (CAD) tools, and the results depicted a significantly low power dissipation of 7.06 nW and 5.16 nW for the multiplexer and demultiplexer, respectively. The delay was found to be 100.5 ns (MUX) and 80 ns (DEMUX).</p>
                <p>
                    <bold>Conclusion:</bold> This decoder&#x2019;s potential use may be in low-power communication circuits such as handheld devices and Internet of Things (IoT) circuits.</p>
            </abstract>
            <kwd-group kwd-group-type="author">
                <kwd>LDPC decoder</kwd>
                <kwd>multiplexer</kwd>
                <kwd>demultiplexer</kwd>
                <kwd>pass transistor logic</kwd>
            </kwd-group>
            <funding-group>
                <award-group id="fund-1" xlink:href="http://dx.doi.org/10.13039/100012024">
                    <funding-source>Multimedia University</funding-source>
                    <award-id>MEC21166</award-id>
                </award-group>
                <funding-statement>This work was supported by the Multimedia University, Grant Number MEC 21166.</funding-statement>
                <funding-statement>
                    <italic>The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.</italic>
                </funding-statement>
            </funding-group>
        </article-meta>
    </front>
    <body>
        <sec id="sec1" sec-type="intro">
            <title>Introduction</title>
            <p>Low-density parity-check (LDPC) codes are considered more error resistant when compared to other forward error-correcting codes. These error-based circuits have been proved by their performance in the presence of noise in the channel.
                <sup>
                    <xref ref-type="bibr" rid="ref1">1</xref>
                </sup> Hence, LDPC decoders have been used more actively for communication applications. Different approaches may be used in the design of an LDPC decoder. One such structure is the layered approach, consisting of a layered design, memory unit, computational block, full adders, parity check unit, bit update unit, and router/reverse router circuits.
                <sup>
                    <xref ref-type="bibr" rid="ref2">2</xref>
                </sup> The decoding process begins with data being received into the decoder through the bit update block. The bit update block receives data, arranges them into their vectors according to the system requirements, and stores them. These data are routed to the parallel adder through the routing circuit and the data bus. The parallel adder now computes the memory block stored in the previous iteration and the new vector. The output of the computation is checked for errors using the parity checker.
                <sup>
                    <xref ref-type="bibr" rid="ref3">3</xref>
                </sup> The result goes through another computation process to generate the original vector stored in the bit update unit for the next iteration. Also, new values after the parity check are stored in the memory block.</p>
            <p>Routers form an integral part of this architecture, sending data bits through the routers&#x2019; different layers. Routers are multiplexer or demultiplexer circuits used to select appropriate data to be sent or to distribute the received data bits to other units. Multiplexers (MUX) and Demultiplexers (DEMUX) form the basic units of data paths. They are used in applications like processor buses in CPUs, network switches, and digital signal processing stages, involving resource sharing and graphic controllers. In large-scale systems, multiplexers aid in the reduction of integrated circuits used in some designs. In this research, the design of the multiplexer and demultiplexer is achieved using pass transistor logic.
                <sup>
                    <xref ref-type="bibr" rid="ref4">4</xref>
                </sup> According to existing authors of the multiplexer, demultiplexer, and LDPC encoder circuits, a higher number of transistors leads the critical path and results in higher power dissipation.
                <sup>
                    <xref ref-type="bibr" rid="ref5">5</xref>
                </sup>
            </p>
            <p>The proposed method reduced the number of transistors in the design and the regular arrangement of transistors, thereby reducing the critical path. The target was low power dissipation, improved throughput, and smaller delay with a minimum area. Low power design is essential when this circuit is used along with many other components for communication purposes. Pass Transistor Logic (PTL) has the advantage of reducing the number of transistors by eliminating redundant transistors. Here the transistors act as switches to pass different logic levels between nodes of a circuit. This paper&#x2019;s main objective was to design and develop routers and bit update blocks for the LDPC decoder. The proper design of the router, rerouted, and LDPC circuit reduces the critical path, power dissipation, and speed increases. This paper reviews the related work in designing multiplexers and demultiplexers and describes the design methodology used in the proposed circuits. The results obtained from the simulation are analyzed, and conclusions are then made regarding the proposed circuits.</p>
            <sec id="sec2">
                <title>Literature review</title>
                <p>Unlike the main building blocks such as the adders and parity checkers, routers form a crucial support system to the decoder. The routers&#x2019; function, mainly comprised of multiplexers and demultiplexers, helps arrange data bits according to the system configuration and passes the information through appropriate layers. Binary signals control multiplexers.
                    <sup>
                        <xref ref-type="bibr" rid="ref2">2</xref>
                    </sup> The analogue MUX/DEMUX was designed using ternary inverters to control the circuits, and CMOS transmission gates were used.
                    <sup>
                        <xref ref-type="bibr" rid="ref6">6</xref>
                    </sup>
                    <sup>&#x2013;</sup>
                    <sup>
                        <xref ref-type="bibr" rid="ref8">8</xref>
                    </sup> The design improved and proved to be excellent for ternary inverters. With the idea of switching activities suggested by Anitha and Javachitra,
                    <sup>
                        <xref ref-type="bibr" rid="ref9">9</xref>
                    </sup> adiabatic logic reduces the power by offering back the stored energy to the supply and this was used for the 16:1 multiplexer and 1:16 demultiplexer. The results indicated that they had less power dissipation than conventional CMOS circuits. An 11 Gb/s CMOS demultiplexer using redundant multi-valued logic (RMVL) was proposed by Ahn and Kim (2006).
                    <sup>
                        <xref ref-type="bibr" rid="ref10">10</xref>
                    </sup> The circuit received serial binary data, which was converted to parallel redundant multi-valued data. The converted data are reconverted to parallel binary data. This makes it possible to achieve higher operating speeds than that of conventional binary logic. The implemented DEMUX consisted of eight integrators and was designed with a 0.35 &#x03bc;m standard CMOS process. The DEMUX achieved the maximum data rate of 11 Gb/s and the average power consumption of 69.43 mW. This circuit was expected to operate faster than 11Gb/s in the high operating frequency&#x2019;s deep-submicron process
                    <bold>
                        <italic toggle="yes">.</italic>
                    </bold> A demultiplexer has been designed with 36 transistors using 90 nm CMOS technology.
                    <sup>
                        <xref ref-type="bibr" rid="ref7">7</xref>
                    </sup> Auto-generation technique and semi-custom layout design were integrated. There was an improvement in power consumption and area due to the semi-customized demultiplexer layout.</p>
            </sec>
        </sec>
        <sec id="sec3" sec-type="methods">
            <title>Methods</title>
            <p>The router circuit in a decoder is a bank of MUX and DEMUX that forward the appropriate estimate terms from memory to the corresponding bit update circuit. The proposed MUX, DEMUX, bit update circuit, and proposed LDPC circuits logic simulations are executed mainly to validate the circuit&#x2019;s functionality. The designed circuit had the required logic behaviour. In the layout, the memory cell&#x2019;s charging and discharging were validated by the aspect ratio factor and expressed with current scaling methods. The proposed circuits were validated by reliable, optimum data of the designed parameters. Modern communication systems demand high reliability and optimum data rate, which makes the standards for future communication technology move towards methods of error correction that enable high throughput decoding with optimum performance based on the Shannon capacity.</p>
            <sec id="sec4">
                <title>Multiplexer (MUX)</title>
                <p>The multiplexer is a combinational logic circuit that selects an appropriate analogue (or) digital signal from several input signals and forwards it to a single output line.
                    <sup>
                        <xref ref-type="bibr" rid="ref11">11</xref>
                    </sup> A multiplexer has several input lines and a single output line. The selection of the appropriate input is based on unique control lines called select lines. 
                    <xref ref-type="fig" rid="f1">Figure 1</xref> depicts a basic multiplexer with four inputs I
                    <sub>0</sub>, I
                    <sub>1</sub>, I
                    <sub>2</sub>, I
                    <sub>3,</sub> and a single output line (Z). Multiplexers can be designed for a 2
                    <sup>n</sup> number of inputs. In this design, we used a 4 &#x00d7; 1 MUX because it is simpler to cascade these circuits for many inputs, and the decoder was also for 4-bit data. There are two select lines, S
                    <sub>0</sub>, S
                    <sub>1</sub> which are the control lines of the circuit. The MUX is 4 &#x00d7; 1, representing four inputs and one output. An additional set of input lines control each input line&#x2019;s selection according to these control input&#x2019;s binary conditions, which indicated &#x2018;HIGH&#x2019; (1) or &#x2018;LOW&#x2019; (0). Multiplexers have an even number of 2
                    <sup>n</sup> data input lines and some control inputs that match the number of data inputs. The truth table for the 4 &#x00d7; 1 MUX is shown in 
                    <xref ref-type="table" rid="T1">Table 1</xref>.</p>
                <fig fig-type="figure" id="f1" orientation="portrait" position="float">
                    <label>Figure 1. </label>
                    <caption>
                        <title>Proposed circuit of the 4 &#x00d7; 1 multiplexer.</title>
                    </caption>
                    <graphic id="gr1" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure1.gif"/>
                </fig>
                <table-wrap id="T1" orientation="portrait" position="float">
                    <label>Table 1. </label>
                    <caption>
                        <title>Truth table for the proposed 4 &#x00d7; 1 MUX.</title>
                    </caption>
                    <table content-type="article-table" frame="hsides">
                        <thead>
                            <tr>
                                <th align="left" colspan="2" rowspan="1" valign="top">Select inputs</th>
                                <th align="left" colspan="4" rowspan="1" valign="top">Inputs</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Output</th>
                            </tr>
                            <tr>
                                <th align="left" colspan="1" rowspan="1" valign="top">S1</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">S0</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">I
                                    <sub>0</sub>
                                </th>
                                <th align="left" colspan="1" rowspan="1" valign="top">I
                                    <sub>1</sub>
                                </th>
                                <th align="left" colspan="1" rowspan="1" valign="top">I
                                    <sub>2</sub>
                                </th>
                                <th align="left" colspan="1" rowspan="1" valign="top">I
                                    <sub>3</sub>
                                </th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Z</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">0</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">0</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <bold>I</bold>
                                    <sub>
                                        <bold>0</bold>
                                    </sub>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">I
                                    <sub>0</sub>
                                </td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">0</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <bold>I</bold>
                                    <sub>
                                        <bold>1</bold>
                                    </sub>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">I
                                    <sub>1</sub>
                                </td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">1</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">0</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <bold>I</bold>
                                    <sub>
                                        <bold>2</bold>
                                    </sub>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">I
                                    <sub>2</sub>
                                </td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">1</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <bold>I</bold>
                                    <sub>
                                        <bold>3</bold>
                                    </sub>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">I
                                    <sub>3</sub>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </table-wrap>
                <p>The output Z is obtained from the Boolean expansion.
                    <disp-formula id="e1">
                        <mml:math display="block">
                            <mml:mi mathvariant="normal">Z</mml:mi>
                            <mml:mo>=</mml:mo>
                            <mml:msub>
                                <mml:mi mathvariant="normal">I</mml:mi>
                                <mml:mn>0</mml:mn>
                            </mml:msub>
                            <mml:mover accent="true">
                                <mml:msub>
                                    <mml:mi mathvariant="normal">S</mml:mi>
                                    <mml:mn>1</mml:mn>
                                </mml:msub>
                                <mml:mo stretchy="true">&#x00af;</mml:mo>
                            </mml:mover>
                            <mml:mspace width="0.25em"/>
                            <mml:mover accent="true">
                                <mml:mrow>
                                    <mml:msub>
                                        <mml:mi mathvariant="normal">S</mml:mi>
                                        <mml:mn>0</mml:mn>
                                    </mml:msub>
                                </mml:mrow>
                                <mml:mo stretchy="true">&#x00af;</mml:mo>
                            </mml:mover>
                            <mml:mo>+</mml:mo>
                            <mml:msub>
                                <mml:mi mathvariant="normal">I</mml:mi>
                                <mml:mn>1</mml:mn>
                            </mml:msub>
                            <mml:mover accent="true">
                                <mml:msub>
                                    <mml:mi mathvariant="normal">S</mml:mi>
                                    <mml:mn>1</mml:mn>
                                </mml:msub>
                                <mml:mo stretchy="true">&#x00af;</mml:mo>
                            </mml:mover>
                            <mml:msub>
                                <mml:mi mathvariant="normal">S</mml:mi>
                                <mml:mn>0</mml:mn>
                            </mml:msub>
                            <mml:mo>+</mml:mo>
                            <mml:msub>
                                <mml:mi mathvariant="normal">I</mml:mi>
                                <mml:mn>2</mml:mn>
                            </mml:msub>
                            <mml:msub>
                                <mml:mi mathvariant="normal">S</mml:mi>
                                <mml:mn>1</mml:mn>
                            </mml:msub>
                            <mml:mover accent="true">
                                <mml:msub>
                                    <mml:mi mathvariant="normal">S</mml:mi>
                                    <mml:mn>0</mml:mn>
                                </mml:msub>
                                <mml:mo stretchy="true">&#x00af;</mml:mo>
                            </mml:mover>
                            <mml:mo>+</mml:mo>
                            <mml:msub>
                                <mml:mi mathvariant="normal">I</mml:mi>
                                <mml:mn>3</mml:mn>
                            </mml:msub>
                            <mml:msub>
                                <mml:mi mathvariant="normal">S</mml:mi>
                                <mml:mn>1</mml:mn>
                            </mml:msub>
                            <mml:msub>
                                <mml:mi mathvariant="normal">S</mml:mi>
                                <mml:mn>0</mml:mn>
                            </mml:msub>
                            <mml:mo>.</mml:mo>
                        </mml:math>
                        <label>(1)</label>
                    </disp-formula>
                </p>
                <p>The 
                    <xref ref-type="disp-formula" rid="e1">equation (1)</xref> was expanded using associative and commutative laws to obtain an appropriate and optimized circuit equation for implementing the multiplexer.
                    <sup>
                        <xref ref-type="bibr" rid="ref11">11</xref>
                    </sup> Any single input line is selected instantly depending on the combination of select lines input to be connected to the output Z. For example, if the select lines combination S
                    <sub>1</sub>S
                    <sub>0</sub> is a logic &#x2018;0&#x2019; a logic &#x2018;1&#x2019; (01), then input line I
                    <sub>1</sub> would be connected to the output Z, referring to 
                    <xref ref-type="table" rid="T1">Table 1</xref>. Adding more control address lines (n) allowed the multiplexer to control more inputs to switch 2
                    <sup>n</sup> inputs. Still, each control line configuration will connect only one input to the output. In our proposed circuit, optimization of the circuit is done using pass transistor logic to design the multiplexer.</p>
                <p>A 4 &#x00d7; 1 MUX was designed as shown in 
                    <xref ref-type="fig" rid="f1">Figure 1</xref>, and the input to the multiplexer in this circuit was from a bit update block (BUB), part of the LDPC decoder structure. The inputs were from the 4-bit update units used in the decoder circuit designed for this research. The multiplexer aimed to receive the updated data bits from the bit update unit and rearrange the vectors according to the circuit&#x2019;s requirements.
                    <sup>
                        <xref ref-type="bibr" rid="ref12">12</xref>
                    </sup> The multiplexer circuit was designed using pass transistor logic. The MUX comprised NMOS and PMOS circuits for the inverters and only NMOS circuits for the remaining circuit. The inverter complemented the select input signals S
                    <sub>0</sub>(S
                    <sub>A</sub>) and S
                    <sub>1</sub>(S
                    <sub>B</sub>). The multiplexer was configured to have series-connected switches so that, based on the input combination of S
                    <sub>0</sub> and S
                    <sub>1</sub>, one of the inputs was selected to pass the input to the output. The multiplexer passed a signal when the controlling voltage was logic low.</p>
                <p>The circuit used NMOS because electron mobility is better than hole mobility, and hence the performance will be better. The inputs I
                    <sub>0</sub>, I
                    <sub>1</sub>, I
                    <sub>2</sub>, and I
                    <sub>3</sub> fed from the 4-bit update circuits had the bit update unit&#x2019;s computation values. The selection of the input that was given to the router was based on the select inputs S
                    <sub>1</sub> and S
                    <sub>0</sub>. Inputs I
                    <sub>0</sub>, I
                    <sub>1</sub>, I
                    <sub>2</sub>, and I
                    <sub>3</sub> were chosen to connect to the output line Z. Assuming the select inputs had an input combination of S
                    <sub>0</sub> = 0 and S
                    <sub>1</sub> = 1. The S
                    <sub>0</sub> input was fed to an inverter circuit formed by the pass transistors, which passed the value &#x2018;0&#x2019; to the circuit, and the S
                    <sub>1</sub> with a logic &#x2018;1&#x2019; was given to the other inverter circuit. The NMOS controlled the ground and the output in one inverter circuit, while PMOS connected the input supply V
                    <sub>DD</sub> and the output.
                    <sup>
                        <xref ref-type="bibr" rid="ref13">13</xref>
                    </sup> The transistors then did what they are best designed for, that is the NMOS allowed a logic &#x2018;0&#x2019;, and the PMOS allowed a logic &#x2018;1&#x2019;. It acted like a 2 &#x00d7; 1 MUX, where the inputs are logic 0 and logic 1. The input variable acted as the control signal and determined which input should be sent to the output. Hence, a combination of both inverters at the input would help select the signal sent to the output. This would be either I
                    <sub>0</sub>, I
                    <sub>1</sub>, I
                    <sub>2</sub>, or I
                    <sub>3.</sub> In our example, I
                    <sub>2</sub> was fed to the output Z = I
                    <sub>2</sub>.</p>
                <p>Multiplexer design can be enlarged to have many more inputs by using the basic multiplexer circuits. A 16 &#x00d7; 1 MUX can be designed using 2 &#x00d7; 1, 4 &#x00d7; 1, and 8 &#x00d7; 1 MUX. As per basic MUX circuit design, 4 &#x00d7; 1 multiplexers are used so 16 inputs are available. Inputs I
                    <sub>0</sub> to I
                    <sub>3</sub> (for bits zero to three) are for the first multiplexer (to PMOS), I
                    <sub>4</sub> to I
                    <sub>7</sub> (for bits four to seven) to the second, and so on where the last multiplexer has inputs I
                    <sub>12</sub> to I
                    <sub>15</sub> (for bits 12 to 15). Every multiplexer&#x2019;s select inputs are combined in parallel into two main selection lines that connect all four multiplexers.
                    <sup>
                        <xref ref-type="bibr" rid="ref14">14</xref>
                    </sup>
                    <sup>,</sup>
                    <sup>
                        <xref ref-type="bibr" rid="ref15">15</xref>
                    </sup> The output from each multiplexer is now fed as four inputs to another 4 &#x00d7; 1 multiplexer. The output from this multiplexer becomes the main output of the circuit.</p>
            </sec>
            <sec id="sec5">
                <title>Demultiplexer (DEMUX)</title>
                <p>A demultiplexer is a combinational circuit that routes a single input line to multiple digital output lines. The demultiplexer of 2
                    <sup>n</sup> outputs has &#x2018;n&#x2019; select lines to select which output lines need to be connected to the input.
                    <sup>
                        <xref ref-type="bibr" rid="ref13">13</xref>
                    </sup>
                    <sup>,</sup>
                    <sup>
                        <xref ref-type="bibr" rid="ref14">14</xref>
                    </sup> In simple terms, it is a data distributor. The demultiplexer is a 1 &#x00d7; 4 unit, implying a single input line Y and four output lines, D
                    <sub>0</sub>, D
                    <sub>1</sub>, D
                    <sub>2,</sub> and D
                    <sub>3</sub>. There are two select lines, S
                    <sub>0</sub> and S
                    <sub>1</sub>. The select lines help to decide to which output line the input line Y should be connected. The select lines are controlled by the binary combination of 0 and 1. The select lines S
                    <sub>0</sub> and S
                    <sub>1</sub> can take on 00, 01, 10, and 11. These are the four possible combinations for two input signals and hence four possible output lines. The combination and connection of input Y to the output lines D
                    <sub>0</sub>, D
                    <sub>1</sub>, D
                    <sub>2,</sub> and D
                    <sub>3,</sub> follow the truth table given in 
                    <xref ref-type="table" rid="T2">Table 2</xref>. The data input to be connected to the particular output line is obtained from the equation,
                    <disp-formula id="e2">
                        <mml:math display="block">
                            <mml:mi mathvariant="normal">Y</mml:mi>
                            <mml:mo>=</mml:mo>
                            <mml:msub>
                                <mml:mover accent="true">
                                    <mml:mi mathvariant="normal">S</mml:mi>
                                    <mml:mo stretchy="true">&#x00af;</mml:mo>
                                </mml:mover>
                                <mml:mn>1</mml:mn>
                            </mml:msub>
                            <mml:msub>
                                <mml:mover accent="true">
                                    <mml:mi mathvariant="normal">S</mml:mi>
                                    <mml:mo stretchy="true">&#x00af;</mml:mo>
                                </mml:mover>
                                <mml:mn>0</mml:mn>
                            </mml:msub>
                            <mml:msub>
                                <mml:mi mathvariant="normal">D</mml:mi>
                                <mml:mn>0</mml:mn>
                            </mml:msub>
                            <mml:mo>+</mml:mo>
                            <mml:mover accent="true">
                                <mml:msub>
                                    <mml:mi mathvariant="normal">S</mml:mi>
                                    <mml:mn>1</mml:mn>
                                </mml:msub>
                                <mml:mo stretchy="true">&#x00af;</mml:mo>
                            </mml:mover>
                            <mml:msub>
                                <mml:mi mathvariant="normal">S</mml:mi>
                                <mml:mn>0</mml:mn>
                            </mml:msub>
                            <mml:msub>
                                <mml:mi mathvariant="normal">D</mml:mi>
                                <mml:mn>1</mml:mn>
                            </mml:msub>
                            <mml:mo>+</mml:mo>
                            <mml:msub>
                                <mml:mi mathvariant="normal">S</mml:mi>
                                <mml:mn>1</mml:mn>
                            </mml:msub>
                            <mml:mover accent="true">
                                <mml:msub>
                                    <mml:mi mathvariant="normal">S</mml:mi>
                                    <mml:mn>0</mml:mn>
                                </mml:msub>
                                <mml:mo stretchy="true">&#x00af;</mml:mo>
                            </mml:mover>
                            <mml:msub>
                                <mml:mi mathvariant="normal">D</mml:mi>
                                <mml:mn>2</mml:mn>
                            </mml:msub>
                            <mml:mo>+</mml:mo>
                            <mml:msub>
                                <mml:mi mathvariant="normal">S</mml:mi>
                                <mml:mn>1</mml:mn>
                            </mml:msub>
                            <mml:msub>
                                <mml:mi mathvariant="normal">S</mml:mi>
                                <mml:mn>0</mml:mn>
                            </mml:msub>
                            <mml:msub>
                                <mml:mi mathvariant="normal">D</mml:mi>
                                <mml:mn>3</mml:mn>
                            </mml:msub>
                            <mml:mo>.</mml:mo>
                        </mml:math>
                        <label>(2)</label>
                    </disp-formula>
                </p>
                <table-wrap id="T2" orientation="portrait" position="float">
                    <label>Table 2. </label>
                    <caption>
                        <title>Truth table for the proposed 1 &#x00d7; 4 demultiplexers.</title>
                    </caption>
                    <table content-type="article-table" frame="hsides">
                        <thead>
                            <tr>
                                <th align="left" colspan="1" rowspan="1" valign="top">Data input</th>
                                <th align="left" colspan="2" rowspan="1" valign="top">Select inputs</th>
                                <th align="left" colspan="4" rowspan="1" valign="top">Outputs</th>
                            </tr>
                            <tr>
                                <th align="left" colspan="1" rowspan="1" valign="top">Y</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">S
                                    <sub>1</sub>
                                </th>
                                <th align="left" colspan="1" rowspan="1" valign="top">S
                                    <sub>0</sub>
                                </th>
                                <th align="left" colspan="1" rowspan="1" valign="top">D
                                    <sub>0</sub>
                                </th>
                                <th align="left" colspan="1" rowspan="1" valign="top">D
                                    <sub>1</sub>
                                </th>
                                <th align="left" colspan="1" rowspan="1" valign="top">D
                                    <sub>2</sub>
                                </th>
                                <th align="left" colspan="1" rowspan="1" valign="top">D
                                    <sub>3</sub>
                                </th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Y</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">0</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">0</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Y</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">0</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Y</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">0</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Y</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">&#x00d7;</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1</td>
                            </tr>
                        </tbody>
                    </table>
                </table-wrap>
                <p>The Boolean expression in 
                    <xref ref-type="disp-formula" rid="e2">equation (2)</xref> is obtained from the truth table in 
                    <xref ref-type="table" rid="T2">Table 2</xref>, which can be implemented using basic logic gates or CMOS logic. Adding more address line inputs, it is possible to switch more outputs giving 1-to-2
                    <sup>n</sup> data line outputs.
                    <sup>
                        <xref ref-type="bibr" rid="ref16">16</xref>
                    </sup> The proposed demultiplexer was also a 1 &#x00d7; 4 demultiplexer constructed using pass transistor logic, as shown in 
                    <xref ref-type="fig" rid="f2">Figure 2</xref>. In the figure, two inverter circuits form the input point for the DEMUX. The inverters were constructed with opposite polarity Metal Oxide Semiconductor Field Effect Transistors (MOSFETs) with their gates connected to form the input voltage V
                    <sub>in</sub> shown as S
                    <sub>A</sub> and S
                    <sub>B</sub>. The drain terminals of both MOSFETs were connected to form a typical output.
                    <sup>
                        <xref ref-type="bibr" rid="ref17">17</xref>
                    </sup> These MOSFETS were connected in such a way (complementary) that only one MOSFET conducts when the input has a low or high input voltage due to the complementary connection.</p>
                <fig fig-type="figure" id="f2" orientation="portrait" position="float">
                    <label>Figure 2. </label>
                    <caption>
                        <title>Proposed circuit of the 1 &#x00d7; 4 demultiplexers.</title>
                    </caption>
                    <graphic id="gr2" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure2.gif"/>
                </fig>
                <p>The Gate-Source voltage V
                    <sub>GS</sub> is equal to V
                    <sub>in</sub>, that is:
                    <disp-formula id="e3">
                        <mml:math display="block">
                            <mml:msub>
                                <mml:mi mathvariant="normal">V</mml:mi>
                                <mml:mi>GS</mml:mi>
                            </mml:msub>
                            <mml:mo>=</mml:mo>
                            <mml:msub>
                                <mml:mi mathvariant="normal">V</mml:mi>
                                <mml:mtext>in</mml:mtext>
                            </mml:msub>
                            <mml:mo>&#x2026;</mml:mo>
                            <mml:mo>.</mml:mo>
                            <mml:mtext>for NMOS</mml:mtext>
                        </mml:math>
                    </disp-formula>and the Source-Gate voltage given by V
                    <sub>SG</sub> is:
                    <disp-formula id="e4">
                        <mml:math display="block">
                            <mml:msub>
                                <mml:mi mathvariant="normal">V</mml:mi>
                                <mml:mi>SG</mml:mi>
                            </mml:msub>
                            <mml:mo>=</mml:mo>
                            <mml:msub>
                                <mml:mi mathvariant="normal">V</mml:mi>
                                <mml:mi>DD</mml:mi>
                            </mml:msub>
                            <mml:mo>&#x2013;</mml:mo>
                            <mml:msub>
                                <mml:mi mathvariant="normal">V</mml:mi>
                                <mml:mtext>in</mml:mtext>
                            </mml:msub>
                            <mml:mo>&#x2026;</mml:mo>
                            <mml:mo>.</mml:mo>
                            <mml:mtext>for PMOS</mml:mtext>
                        </mml:math>
                    </disp-formula>
                </p>
                <p>Where V
                    <sub>DD</sub> is the supply voltage, the input voltage can have values from 0 to V
                    <sub>DD</sub>. When S
                    <sub>A</sub> = V
                    <sub>in</sub> = V
                    <sub>DD</sub>, the PMOS transistor gets cut off while the NMOS conducts and current flows to the ground terminal, and the output voltage is &#x2018;0&#x2019;. The &#x2018;0&#x2019; volts are now applied to one of the inputs of transistor T5, which is in series with T6.</p>
                <p>If input S
                    <sub>B</sub> had an input value of &#x2018;0&#x2019; volts, the NMOS transistor inverter was cut off while PMOS conducted to give a path to the power supply and the output now had a value V
                    <sub>DD</sub>. The second input to transistor T5 was &#x2018;0&#x2019;. The transistor had inputs 0, 1 and gave an output &#x2018;0&#x2019;, indicating that the line D
                    <sub>A</sub> had been selected to distribute the input from the parity check circuit of the layered decoder circuit. Hence, the other lines D
                    <sub>B</sub>, D
                    <sub>C</sub>, and D
                    <sub>D</sub> were selected to feed that input for other input combinations to S
                    <sub>A</sub> and S
                    <sub>B</sub>. The input fed at line D (Y in the truth table) was distributed to any four outputs represented by D
                    <sub>0</sub>, D
                    <sub>1,</sub> D
                    <sub>2,</sub> and D
                    <sub>3</sub>. The distribution was based on the select inputs S
                    <sub>0</sub> (S
                    <sub>A</sub>) and S
                    <sub>1</sub>(S
                    <sub>B</sub>). In 
                    <xref ref-type="fig" rid="f2">Figure 2</xref>, the select lines are connected to two inverters at the first stage of the DEMUX. Each inverter created the terms given in 
                    <xref ref-type="disp-formula" rid="e2">equation (2)</xref>. The inverter drove the value of S
                    <sub>0</sub>, and if it was a &#x2018;0&#x2019;, then the output could be a &#x2018;1&#x2019;, similar to the S
                    <sub>1</sub> input. The following transistors drove the input to the outputs based on the bit pattern of S
                    <sub>1</sub>S
                    <sub>0</sub>.</p>
            </sec>
            <sec id="sec6">
                <title>Bit update circuit</title>
                <p>The bit update circuit is an integral part of many circuits, where temporary storage and stored data updates are required periodically. These circuits have memories that will store some predetermined subset of codeword bits, though only one at a time. The circuit uses basic logic gates: the EXOR gate, a latch, and a multiplexer and inverter. It is like a loop operation, where input data bits received are fed into the multiplexer, and it is compared with the previously stored data from the latch. The EXOR gate will help identify new data and is given to the MUX, where the select inputs will ensure the new data is stored in the latch. This recently stored data is then sent to the next section of a large application circuit.</p>
                <p>In the proposed circuit, the data input was from the DEMUX circuit, transmitting data bits received. The bit update circuit ensured that new data received was always updated and stored and then distributed through the reverse router to the parallel adder blocks in the decoder through the data bus. The bit update circuit usually works in tandem with two memories, one as an accumulator for a new data set and the other supplies the last iteration&#x2019;s data.
                    <sup>
                        <xref ref-type="bibr" rid="ref18">18</xref>
                    </sup> These two memories act in an alternating manner. A multiplexer worked like a cross switch to facilitate their alternating operation.</p>
                <p>The proposed bit update circuit was designed using the pass transistor logic to reduce the number of transistors. The delay needed to be reduced in the circuit, and hence the technology used was adequate. The circuit shown in 
                    <xref ref-type="fig" rid="f3">Figure 3</xref> comprises a 2 &#x00d7; 1 multiplexer circuit with a latch. The latch acted as the temporary storage or memory for the data bits. The data bit stored in the latch was given to an EXOR gate connected to an AND gate delay circuit. This was to create a delay so that the bits reached the multiplexer within the clock pulse. The EXOR input was also fed to MUX as one of the select inputs.</p>
                <fig fig-type="figure" id="f3" orientation="portrait" position="float">
                    <label>Figure 3. </label>
                    <caption>
                        <title>Proposed bit update circuit.</title>
                    </caption>
                    <graphic id="gr3" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure3.gif"/>
                </fig>
            </sec>
            <sec id="sec7">
                <title>The proposed LDPC decoder circuit</title>
                <p>A proposed decoder architecture is described in this section, which follows the layers of component decoding. The top-level architecture is shown in 
                    <xref ref-type="fig" rid="f4">Figure 4</xref>. One type of decoding technique is the layers of components decoding. It generally includes layer-by-layer processing rows of a parity check matrix.
                    <sup>
                        <xref ref-type="bibr" rid="ref16">16</xref>
                    </sup> Each layer is processed sequentially, and the processing of each layer depends on data processed in an immediate previous layer. Decoders using the layered technique are designed to have an inbuilt latency for processing the data between layers. By way of explanation, say if a layer in the parity check matrix needs to be processed, data processed by a previous layer need to be received initially. But it may be that these data are unavailable yet because they are still processed in the previous layer or the data bus and have yet to reach their destination. Latency such as this has an impact on the performance of the decoder. Some problems like this need to be addressed in layered decoding methods. In the proposed circuit, improvements were made to a layered component decoding approach. The method proposed used a plurality of parallel computation blocks coupled to the memory, multiple parity check blocks connected to the computation blocks, and multiple bit update blocks connected to the parity check block. Each bit update block had a memory. The received codeword split in this system, and at least one column/row was grouped and processed.</p>
                <fig fig-type="figure" id="f4" orientation="portrait" position="float">
                    <label>Figure 4. </label>
                    <caption>
                        <title>Proposed LDPC decoder architecture.</title>
                    </caption>
                    <graphic id="gr4" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure4.gif"/>
                </fig>
                <p>A low-density parity-check code suitable for efficient hardware implementation was designed with a belief propagation decoder circuit. Codes were arranged according to a sample H matrix whose rows and columns represented the parity check matrix. The decoder circuit had a parity check value that estimated memory, which could be arranged in groups and was logically connected to different data lengths and depths. A parallel adder generated approximate values that were fed to the parity check circuit. The new bitstream generated new values of estimates. These values generated were then stored back in the memory and fed to the bit update circuit. The bit update circuit then updated the new value for the subsequent input data received. Here, layered components decoding was performed by applying the decoding algorithm to each successive layer. Since no particular algorithm was developed, we used a standard to show how the improved decoder works. Applying a decoding algorithm for a particular layer included the use of calculations done in previous layers. The decoding was done using parallelized decoding hardware, and hence its performance may be better than the conventional approach.</p>
                <p>The memory block was a local RAM for storing the estimates that were derived within the iteration. These estimates were stored in the memory to save the chip area. The storage memory had one output coupled to one input of the parallel adder. This was connected to the negative input of the parallel adder to provide a subtrahend for subtraction that took place in the parallel adder. The output of the parallel adder was applied to the parity check update circuitry. This block performed the updating of estimates obtained from memory for each of the parity check nodes. The output of the parity check circuit was applied back to the memory to store updated values. It was also applied to the router circuit to update the input nodes&#x2019; Log-Likelihood Ratio (LLR). The router circuitry collected multiplexers and demultiplexers that forward the appropriate estimate terms from memory to the corresponding bit update circuit. The bit update circuits were accumulators through which the current values of LLR of the input nodes were maintained from one iteration to the next iteration.</p>
            </sec>
            <sec id="sec8">
                <title>LDPC operation</title>
                <p>The LDPC code was within a parity check matrix H of m &#x00d7; j values and showed a value, H. c = 0 when multiplied by the vector c, considering the Galois field, where c was the transmitted word vector. The Galois field is a finite field that contains a finite number of elements. For each row m of the parity check matrix H, the parity check could be done as H
                    <sub>1</sub>c
                    <sub>1</sub>+H
                    <sub>2</sub>c
                    <sub>2</sub>+ &#x2026; H
                    <sub>j</sub>c
                    <sub>j</sub> = 0 over the Galois field. Hence, a parity check equation, the EXOR function of &#x2018;c&#x2019;, could be written considering the rows of the H matrix having a &#x2018;1&#x2019; in their columns.</p>
                <p>Referring to 
                    <xref ref-type="fig" rid="f4">Figure 4</xref>, soft data received was routed into the decoder system through the data bus. The received data was first routed into the bit update block. Here the data was initialized into its components of a vector. Let us assume the vector for the received data as &#x2018;L&#x2019;. We defined a set where all the bit columns for a row &#x2018;m&#x2019; and the bits in the H matrix have a one in row &#x2018;m&#x2019;. This makes the checksum for a row over a finite field. The LDPC decoder helps detect errors in the received data when checked for every row in the matrix. When data is received, the values may not be precisely binary values of 1 or 0 but some fractional value and represented by several bits. Hence a probability of whether the bits are 1 or 0 can be represented using the LLR given by:
                    <disp-formula id="e5">
                        <mml:math display="block">
                            <mml:mi mathvariant="normal">L</mml:mi>
                            <mml:mo>(</mml:mo>
                            <mml:msub>
                                <mml:mi mathvariant="normal">r</mml:mi>
                                <mml:mi mathvariant="normal">j</mml:mi>
                            </mml:msub>
                            <mml:mo>)</mml:mo>
                            <mml:mo>=</mml:mo>
                            <mml:mtext>log</mml:mtext>
                            <mml:mfenced close="]" open="[">
                                <mml:mtable>
                                    <mml:mtr>
                                        <mml:mtd>
                                            <mml:mi mathvariant="normal">P</mml:mi>
                                            <mml:mo>(</mml:mo>
                                            <mml:msub>
                                                <mml:mi mathvariant="normal">c</mml:mi>
                                                <mml:mi mathvariant="normal">j</mml:mi>
                                            </mml:msub>
                                            <mml:mo>=</mml:mo>
                                            <mml:mn>0</mml:mn>
                                            <mml:mo>)</mml:mo>
                                        </mml:mtd>
                                    </mml:mtr>
                                    <mml:mtr>
                                        <mml:mtd>
                                            <mml:mi mathvariant="normal">P</mml:mi>
                                            <mml:mo>(</mml:mo>
                                            <mml:msub>
                                                <mml:mi mathvariant="normal">c</mml:mi>
                                                <mml:mi mathvariant="normal">j</mml:mi>
                                            </mml:msub>
                                            <mml:mo>=</mml:mo>
                                            <mml:mn>1</mml:mn>
                                            <mml:mo>)</mml:mo>
                                        </mml:mtd>
                                    </mml:mtr>
                                </mml:mtable>
                            </mml:mfenced>
                            <mml:mo>.</mml:mo>
                        </mml:math>
                        <label>(3)</label>
                    </disp-formula>
                </p>
                <p>where r
                    <sub>j</sub> is the input bit value.</p>
                <p>As every input bit arrives, the estimated value is written based on the LLR. Initially, an estimate was assumed for the LLR based on the type of channel being used.</p>
                <p>A vector &#x2018;R
                    <sub>mj</sub>&#x2019; was stored in the SRAM. These were estimates stored in the SRAM after every iteration or cycle of the decoding process and the updated value in the next iteration. The memory stores a few corresponding rows of values of R
                    <sub>mj</sub>, representing vector R values for m rows and j columns from a parity check matrix. For every row, the vector L was written as for the checksum:


                    <disp-formula id="e6">
    
                        <mml:math display="block">
                            <mml:mi mathvariant="normal">L</mml:mi>
                            <mml:mo>(</mml:mo>
                            <mml:msub>
                                <mml:mi/>
                                <mml:mi mathvariant="normal">q</mml:mi>
                            </mml:msub>
                            <mml:mrow>
                                <mml:mi mathvariant="normal">m</mml:mi>
                                <mml:mi mathvariant="normal">j</mml:mi>
                            </mml:mrow>
                            <mml:mo>)</mml:mo>
                            <mml:mo>=</mml:mo>
                            <mml:msub>
                                <mml:mi mathvariant="normal">L</mml:mi>
                                <mml:mrow>
                                    <mml:mi mathvariant="normal">q</mml:mi>
                                    <mml:mi mathvariant="normal">j</mml:mi>
                                </mml:mrow>
                            </mml:msub>
                            <mml:mspace width="0.25em"/>
                            <mml:mo>&#x2012;</mml:mo>
                            <mml:mspace width="0.25em"/>
                            <mml:msub>
                                <mml:mi mathvariant="normal">R</mml:mi>
                                <mml:mrow>
                                    <mml:mi mathvariant="normal">m</mml:mi>
                                    <mml:mi mathvariant="normal">j</mml:mi>
                                </mml:mrow>
                            </mml:msub>
                            <mml:mo>.</mml:mo>
                        </mml:math>
	
                        <label>(4)</label>
</disp-formula>

</p>
                <p>The vector was then stored in the BUB. The data were fed into the reverse router block by data buses, where the data was rearranged as required by the system from the BUB. The values of the vector L were given as input to the parallel adder (PA). The other input to the parallel adder came from the memory with the values of the data stored in the form of the components of vector R. The parallel adder performed the operation approximations and subtraction of vector R from L. The results of this subtraction operation in the form of output &#x2018;sum&#x2019; were given as input to the parity check circuit and the second set of parallel adders (PA2). A checksum, a sequence of numbers and letters used to detect errors introduced during data transmission, was carried out in the parity check block. The results of this operation were then fed to the second set of parallel adder blocks and the memory block for storage. In the PA2, the computation of the earlier subtraction (R) results and the checksum were added to regenerate the vector L. The new values of L were now sent to the router block to be rearranged into components of vector L. These values were given to the BUB to be stored for the next iteration.</p>
            </sec>
        </sec>
        <sec id="sec9" sec-type="results|discussion">
            <title>Results and discussion</title>
            <p>The DEMUX and MUX circuits developed here were tested as part of the decoder circuit. The results obtained after simulations at different voltage values and using 180 nm technology are highlighted below, with improvements obtained.</p>
            <sec id="sec10">
                <title>Demultiplexer (DEMUX)</title>
                <p>The 1 &#x00d7; 4 demultiplexers for the LDPC decoder were constructed to have one input D and four outputs D
                    <sub>0</sub>, D
                    <sub>1</sub>, D
                    <sub>2,</sub> and D
                    <sub>3</sub>. The demultiplexer had two select inputs S
                    <sub>0</sub> and S
                    <sub>1</sub>. The select inputs formed the decision-maker to connect the input to a selected output. The selection was based on the four possible combinations of the select input, namely, S
                    <sub>0</sub> = 0 and S
                    <sub>1</sub> = 1, S
                    <sub>0</sub> = 0 and S
                    <sub>1</sub> = 1, S
                    <sub>0</sub> = 1 and S
                    <sub>1</sub> = 0, and finally, S
                    <sub>0</sub> = 1 and S
                    <sub>1</sub> = 1, representing the binary form 00, 01, 10, and 11. The proposed demultiplexer was simulated to check its characteristics using the Mentor graphics 
                    <ext-link ext-link-type="uri" xlink:href="https://blogs.sw.siemens.com/pads/2020/03/17/pads-professional-vx-2-7-is-now-available/">PADS VX.2.7 x86</ext-link>, a CAD tool for 180 nm technology (Open-access software that can perform an equivalent function is 
                    <ext-link ext-link-type="uri" xlink:href="https://dsch.software.informer.com/2.7/">DSCH</ext-link> version 2.7for schematic design and 
                    <ext-link ext-link-type="uri" xlink:href="https://dsch-microwind-version-2.software.informer.com/2.0/">MICROWIND</ext-link> version 2.0 for layout analysis).</p>
                <p>The string of data bits was given as input D with the select inputs S
                    <sub>0</sub>, S
                    <sub>1</sub> varied for the four possible combinations. The output satisfied the truth table of the demultiplexer of 
                    <xref ref-type="table" rid="T2">Table 2</xref>. It should also be noted that the voltage rises and falls in 
                    <xref ref-type="fig" rid="f5">Figures 5(a)</xref> to 
                    <xref ref-type="fig" rid="f7">5(c)</xref>, which are not exactly zero or one. There was a distortion of the signal, but it showed a considerable voltage level to be read as 0 or 1. The voltage variation of 1V, 1.3V, and 1.5V did not significantly affect the output waveforms with only a slight variation in the peak voltage values.</p>
                <fig fig-type="figure" id="f5" orientation="portrait" position="float">
                    <label>Figure 5(a). </label>
                    <caption>
                        <title>Voltage vs. time simulation at 1V for 180 nm.</title>
                    </caption>
                    <graphic id="gr5" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure5a.gif"/>
                </fig>
                <fig fig-type="figure" id="f6" orientation="portrait" position="float">
                    <label>Figure 5(b). </label>
                    <caption>
                        <title>Voltage vs. time simulation at 1.3 V for 180 nm.</title>
                    </caption>
                    <graphic id="gr6" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure5b.gif"/>
                </fig>
                <fig fig-type="figure" id="f7" orientation="portrait" position="float">
                    <label>Figure 5(c). </label>
                    <caption>
                        <title>Voltage vs. time simulation at 1.5 V for 180 nm.</title>
                    </caption>
                    <graphic id="gr7" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure5c.gif"/>
                </fig>
                <p>The waveforms shown in 
                    <xref ref-type="fig" rid="f5">Figures 5(a)</xref> to 
                    <xref ref-type="fig" rid="f7">5(c)</xref> represent the distribution of bits received from the adder circuit (refer to 
                    <xref ref-type="fig" rid="f4">Figure 4</xref>). The data&#x2019;s choice is based on S
                    <sub>0</sub> (S
                    <sub>A</sub>) and S
                    <sub>1</sub> (S
                    <sub>B</sub>). The waveforms of D
                    <sub>0</sub>, D
                    <sub>1</sub>, D
                    <sub>2,</sub> and D
                    <sub>3</sub> also show the effect of the gates&#x2019; switching characteristics, and the peak voltage drops, which is slightly due to the capacitive effect at the input nodes. As the output voltage increases in time, the biasing voltages decrease. A decreasing value of the gate-source voltage reduces the charge density and reduces the output voltage, which does not reach V
                    <sub>DD</sub>.</p>
                <p>The output voltage was seen to have a delay in reaching the final voltage. This was due to the parasitic capacitance, the gate channel capacitance between the gate-source and gate-drain terminals. Any switching action in the device leads to the formation of parasitic capacitance. A sudden change of voltage from zero to a high value creates a capacitive effect which can be realized as an RC circuit. Resistance is created, and the device consumes more power to drive the circuit, which depicts a delay in the device&#x2019;s output voltage. It creates a delay when it drives zero loads. The parasitic delay grows linearly with the number of inputs. This effect was seen in the waveforms for the demultiplexer, which displayed a slow increasing ramp voltage. According to simulation result, the demultiplexer area is 10.5 &#x00d7; 25.555 &#x03bc;m
                    <sup>2</sup>.</p>
            </sec>
            <sec id="sec11">
                <title>Multiplexer (MUX)</title>
                <p>The reverse router had a multiplexer to transmit data bits from the bit update circuit to the parallel adder through the data bus. The characteristic of the multiplexer was to choose a particular input to be connected to the output. The selection of the input was based on the two select signals. In 
                    <xref ref-type="fig" rid="f3">Figure 3</xref>, the schematic of the multiplexer is shown. The multiplexer had four inputs I
                    <sub>A</sub>, I
                    <sub>B</sub>, I
                    <sub>C,</sub> and I
                    <sub>D,</sub> and a single output Z. The select inputs were S
                    <sub>A</sub> and S
                    <sub>B</sub>. Hence the multiplexer was a 4 &#x00d7; 1 MUX. Since there are only two select lines, the possible input lines were four, and the possible combination was S
                    <sub>B</sub>S
                    <sub>A</sub> = 00, S
                    <sub>B</sub>S
                    <sub>A</sub> = 01, S
                    <sub>B</sub>S
                    <sub>A</sub> = 10, and S
                    <sub>B</sub>S
                    <sub>A</sub> = 11. In line with the truth table in 
                    <xref ref-type="table" rid="T1">Table 1</xref>, if S
                    <sub>B</sub> = 0 and S
                    <sub>A</sub> = 0, the line selected would be I
                    <sub>A</sub> since the combination 00 is for I
                    <sub>0</sub>(I
                    <sub>A</sub>) line. The schematic in 
                    <xref ref-type="fig" rid="f3">Figure 3</xref> is simulated using the test bench. The 180 nm technology was used for the simulation and voltage values of 1 V, 1.3 V, 1.5 V, and 2.5 V. The output observed satisfied the truth table, 
                    <xref ref-type="table" rid="T1">Table 1</xref>. Here the threshold voltage loss restricts the output voltage to the range [0V, V
                    <sub>DD</sub> &#x2013; V
                    <sub>Tn</sub>].</p>
                <p>The proposed multiplexer circuit was simulated for voltage versus time using 180 nm for input voltages of 1 V, 1.3 V, and 1.5 V, and the output waveforms are shown in 
                    <xref ref-type="fig" rid="f8">Figures 6(a)</xref> to 
                    <xref ref-type="fig" rid="f10">6(c)</xref>, respectively. 
                    <xref ref-type="fig" rid="f8">Figures 6(a)</xref> to 
                    <xref ref-type="fig" rid="f10">6(c)</xref> show the output voltage of the selected input to be given to the output. Even though the output waveform represented the correct selected input, it delayed reaching the maximum voltage. For some inputs, it did not reach the minimum zero value. It was the delay caused by the inverter, and the threshold voltage loss restricted the maximum voltage. Charging the output for a logic one voltage was very slow compared to the transition to a logic 0. The parasitic capacitance increased the charging time from low to high since it was diverted from the output node. The charging of the output capacitance was time-dependent and began as linear as (t/2&#x03c4;
                    <sub>n</sub>) and then levelled out.</p>
                <fig fig-type="figure" id="f8" orientation="portrait" position="float">
                    <label>Figure 6(a). </label>
                    <caption>
                        <title>Voltage vs. time simulation at 1V for 180 nm.</title>
                    </caption>
                    <graphic id="gr8" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure6a.gif"/>
                </fig>
                <fig fig-type="figure" id="f9" orientation="portrait" position="float">
                    <label>Figure 6(b). </label>
                    <caption>
                        <title>Voltage vs. time simulation at 1.3 V for 180 nm.</title>
                    </caption>
                    <graphic id="gr9" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure6b.gif"/>
                </fig>
                <fig fig-type="figure" id="f10" orientation="portrait" position="float">
                    <label>Figure 6(c). </label>
                    <caption>
                        <title>Voltage vs. time simulation at 1.5 V for 180 nm.</title>
                    </caption>
                    <graphic id="gr10" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure6c.gif"/>
                </fig>
                <p>Since V
                    <sub>out</sub>(t) increases in time, the device bias voltages V
                    <sub>GS</sub> &#x2013; V
                    <sub>DD</sub> &#x2013; V
                    <sub>out</sub> (t) = V
                    <sub>DS</sub> decreases with time. A decreasing value of V
                    <sub>GS</sub> reduces the channel charge density, while smaller V
                    <sub>DS</sub> shows a reduction of the drain-source electric field. This indicates that it is difficult to pass a logic 1 voltage through the n-channel transistor. The spikes seen in the output were caused due to the capacitive coupling of the input to the output by the gate-drain capacitance. As the input suddenly increased from 0 V to V
                    <sub>DD</sub>, the capacitance did not have enough time to drop its voltage instantly. Hence, it would have retained some amount of charge and is seen as spikes of voltage. The proposed multiplexer circuit area is 9.9 &#x00d7; 32.155 &#x03bc;m
                    <sup>2</sup>.</p>
                <p>The multiplexer and demultiplexer circuits were simulated using the SilTerra CEDEC pyxis project of the Mentor graphics CAD tool 
                    <ext-link ext-link-type="uri" xlink:href="https://blogs.sw.siemens.com/pads/2020/03/17/pads-professional-vx-2-7-is-now-available/">PADS VX.2.7 x86</ext-link>. The simulation environment was an input voltage value of 1 V, 1.3 V, and 1.5 V for 180 nm technology, tabulated in 
                    <xref ref-type="table" rid="T3">Table 3</xref>. The results showed a low power dissipation in nanowatts. This is because of pass transistor logic, which reduced the number of transistors used and is reflected in the results. A reduced number of transistors (12, 14) led to lower power dissipation and reduced layout area. The delay is only 80 ns and 130 ns for DEMUX and MUX, respectively.</p>
                <table-wrap id="T3" orientation="portrait" position="float">
                    <label>Table 3. </label>
                    <caption>
                        <title>Results of the simulation for the multiplexer (MUX) and demultiplexer (DEMUX).</title>
                    </caption>
                    <table content-type="article-table" frame="hsides">
                        <thead>
                            <tr>
                                <th align="left" colspan="1" rowspan="1" valign="top">Circuit</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Input voltage (V)</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Power dissipation (nW)</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Delay (ns)</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Area (&#x03bc;m
                                    <sup>2</sup>)</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">No. of transistors</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td align="left" colspan="1" rowspan="3" valign="top">Multiplexer</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1 V</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1.567</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">80.00</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">268.32</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">12</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">1.3 V</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">7.01</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">80.00</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">268.32</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">12</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">1.5 V</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">5.14</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">80.00</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">268.32</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">12</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="3" valign="top">Demultiplexer</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1 V</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1.537</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">139.60</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">318.33</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">14</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">1.3 V</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">3.660</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">139.91</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">318.33</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">14</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">1.5 V</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">7.067</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">100.50</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">318.33</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">14</td>
                            </tr>
                        </tbody>
                    </table>
                </table-wrap>
                <p>
                    <xref ref-type="table" rid="T4">Table 4</xref> shows a comparison of the proposed circuit with various published research. It can be seen that the proposed circuit performs better. In terms of power dissipation, the proposed multiplexer circuit has a power dissipation of 7.067 nW, whereas Bousseaud and Negra
                    <sup>
                        <xref ref-type="bibr" rid="ref7">7</xref>
                    </sup> had a value of 5 mW. The approach used by Bousseaud and Negra
                    <sup>
                        <xref ref-type="bibr" rid="ref7">7</xref>
                    </sup> used a transmission gate, while pass transistor logic is used in the proposed circuit. Pass Transistor Logic (PTL) does provide an advantage in the design of circuits with the elimination of redundant transistors. When the number of transistors was reduced, it had a lower power dissipation as each transistor occupied some area and dissipated power. For the DEMUX circuit, the power dissipation produced by Saseendran and Mehra
                    <sup>
                        <xref ref-type="bibr" rid="ref6">6</xref>
                    </sup> had a value of 142 uW, and for the proposed circuit, it was 5.14 nW. The input voltage also tended to be at a lower value of 1.5 V. There was a huge difference in the number of transistors used in the design.</p>
                <table-wrap id="T4" orientation="portrait" position="float">
                    <label>Table 4. </label>
                    <caption>
                        <title>Comparison of the results with other MUX/DEMUX circuits.</title>
                    </caption>
                    <table content-type="article-table" frame="hsides">
                        <thead>
                            <tr>
                                <th align="left" colspan="1" rowspan="1" valign="top">Reference</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Circuit</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Design</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Technology</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Area &#x03bc;m
                                    <sup>2</sup>
                                </th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Power</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Supply voltage</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Technique</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Transistor</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Saseendran and Mehra
                                    <sup>
                                        <xref ref-type="bibr" rid="ref6">6</xref>
                                    </sup>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">DEMUX</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1 &#x00d7; 4</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">90 nm</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">7482</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">142 uW</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">2 V</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Adiabatic</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">36</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Bousseaud and Negra
                                    <sup>
                                        <xref ref-type="bibr" rid="ref7">7</xref>
                                    </sup>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">MUX</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">4 &#x00d7; 1</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">65 nm</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">_</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">5 mW</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1.2 V</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Transmission gate</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">_</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Pandey and Akashe
                                    <sup>
                                        <xref ref-type="bibr" rid="ref8">8</xref>
                                    </sup>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">MUX</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">2 &#x00d7; 1</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">90 nm</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">65.54</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1.38 uW</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">2 V</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">CPTL</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">6</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="2" valign="top">Anitha and Jayachitra
                                    <sup>
                                        <xref ref-type="bibr" rid="ref9">9</xref>
                                    </sup>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">MUX</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">16 &#x00d7; 1</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">90 nm</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">_</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">5.23 mW</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">2 V</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Transmission gate</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">162</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">DEMUX</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1 &#x00d7; 16</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">90 nm</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">_</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">5.23 mW</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">5 V</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Transmission gate</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">162</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Ahn and Kim
                                    <sup>
                                        <xref ref-type="bibr" rid="ref10">10</xref>
                                    </sup>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">DEMUX</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1 &#x00d7; 8</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">0.35 &#x03bc;m</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">51200</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">69.45 mW</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">3.3 V</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">RMVL</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">_</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="2" valign="top">Proposed circuit</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">MUX</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">4 &#x00d7; 1</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">180 nm</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">318.33</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">7.067 nW</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1.5 V</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">PTL</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">14</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">DEMUX</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1 &#x00d7; 4</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">180 nm</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">268.27</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">5.14 nW</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1.5 V</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">PTL</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">12</td>
                            </tr>
                        </tbody>
                    </table>
                </table-wrap>
            </sec>
            <sec id="sec12">
                <title>Bit update circuit</title>
                <p>The bit update circuit received new data and then arranged them into its vectors and routes them to the multiplexer as input to the parallel adder. In each iteration of the decoder circuit, the bit update circuit restored new data values after rewriting the data received from the router circuit with data from the transmitter received through the data bus. The bit update circuit was simulated for voltage versus time using 180 nm for input voltages of 1 V, 1.3 V 1.5 V, and 2.5 V, and the output waveforms are shown in the 
                    <xref ref-type="fig" rid="f11">Figures 7(a)</xref> to 
                    <xref ref-type="fig" rid="f14">7(d)</xref>, respectively.</p>
                <fig fig-type="figure" id="f11" orientation="portrait" position="float">
                    <label>Figure 7(a). </label>
                    <caption>
                        <title>Voltage vs. time simulation at 1 V for 180 nm.</title>
                    </caption>
                    <graphic id="gr11" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure7a.gif"/>
                </fig>
                <fig fig-type="figure" id="f12" orientation="portrait" position="float">
                    <label>Figure 7(b). </label>
                    <caption>
                        <title>Voltage vs. time simulation at 1.3 V for 180 nm.</title>
                    </caption>
                    <graphic id="gr12" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure7b.gif"/>
                </fig>
                <fig fig-type="figure" id="f13" orientation="portrait" position="float">
                    <label>Figure 7(c). </label>
                    <caption>
                        <title>Voltage vs. time simulation at 1.5 V for 180 nm.</title>
                    </caption>
                    <graphic id="gr13" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure7c.gif"/>
                </fig>
                <fig fig-type="figure" id="f14" orientation="portrait" position="float">
                    <label>Figure 7(d). </label>
                    <caption>
                        <title>Voltage vs. time simulation at 2.5 V for 180 nm.</title>
                    </caption>
                    <graphic id="gr14" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure7d.gif"/>
                </fig>
                <p>
                    <xref ref-type="fig" rid="f11">Figures 7(a)</xref> to 
                    <xref ref-type="fig" rid="f14">7(d)</xref> depict the output obtained for the bit update circuit. The arrival of the clock signal at the input nodes caused clock skew due to the capacitive coupling effect. At the output of 1.5V, it can be observed that the waveform has glitches. Glitches are temporary changes in the value of the output. They were caused due to the skew in the input signals to the gate of the transistor. Glitches can be reduced by gate sizing and path balancing techniques. Propagation of glitches can be reduced by using a smaller number of inverters, which tend to amplify and propagate glitches. At a higher voltage of 2.5 V, the output showed a smooth and expected waveform. The area of the bit update circuit is 46.42 &#x00d7; 14.62 &#x03bc;m
                    <sup>2</sup>.</p>
            </sec>
            <sec id="sec13">
                <title>The complete proposed LDPC decoder circuit</title>
                <p>The whole LDPC circuit was designed according to 
                    <xref ref-type="fig" rid="f4">Figure 4</xref>. The components added to the test bench would be the V
                    <sub>DD</sub>, the ground terminal (GND), DC, and pulse. The DC was the input voltage of 1 V, 1.3 V, and 1.5 V. We needed to set the delay (1ns), initial value (0 V), period (50 ns), the pulse value and the rise time and fall time, and the width of the pulse. The bit pattern to be run through the decoder was also specified. The proposed decoder circuits were simulated for voltage vs. time effect on the output voltage for different input voltages, as shown in 
                    <xref ref-type="fig" rid="f15">Figures 8(a)</xref> to 
                    <xref ref-type="fig" rid="f17">8(c)</xref>. The input voltages used were 1 V, 1.3 V, and 1.5 V at 180 nm technology.</p>
                <fig fig-type="figure" id="f15" orientation="portrait" position="float">
                    <label>Figure 8(a). </label>
                    <caption>
                        <title>Voltage vs. time simulation at 1 V for 180 nm.</title>
                    </caption>
                    <graphic id="gr15" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure8a.gif"/>
                </fig>
                <fig fig-type="figure" id="f16" orientation="portrait" position="float">
                    <label>Figure 8(b). </label>
                    <caption>
                        <title>Voltage vs. time simulation at 1.3 V for 180 nm.</title>
                    </caption>
                    <graphic id="gr16" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure8b.gif"/>
                </fig>
                <fig fig-type="figure" id="f17" orientation="portrait" position="float">
                    <label>Figure 8(c). </label>
                    <caption>
                        <title>Voltage vs. time simulation at 1.5 V for 180 nm.</title>
                    </caption>
                    <graphic id="gr17" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/77052/83fc0bdb-12a8-4d83-9ac6-a25727e5474f_figure8c.gif"/>
                </fig>
                <p>The carry inputs to the second set of parallel adders are also shown as check 0 to check 3. The output was measured at various points of the circuit, that is, the output of the memory unit (Vo1), the output of the adder (Vo2), the output of the parity check (Vo3), the output of the router (Vo4), and the final at the reverse router (VoF). It was observed that at the initial points of the check, the output voltage did not suffer from any loss of signal. As the circuit became larger, all effects of power loss come into play due to the different circuits. At the final output (VoF), glitches were observed at regular intervals. This happened to off-pass transistors where the source and drain were initially high and then pulled low. The output of the router circuit shows the waveform reached the peak voltage but did not reach the zero line. This represents the presence of some minimum voltage that did not allow the voltage to reach zero. Practically, the drain current of a CMOS transistor does not reach zero once the voltage of the gate terminal goes below the threshold voltage.</p>
                <p>These values are the most updated: the parity check unit block (PUCB) and the values used for the next iteration.
                    <sup>
                        <xref ref-type="bibr" rid="ref23">23</xref>
                    </sup> The flow of data into the circuit with the input of received data at the bit update circuit was tested with bits of data given using the rows from a standard H matrix. Every stage of the movement of the bits through each layer, namely bit update, reverse router through the data bus to parallel adder one and from the adder to the parity check block, a second set of the parallel adders, and the stored data in the memory has been simulated and outputs observed.</p>
            </sec>
            <sec id="sec14">
                <title>Tabulated results of the proposed LDPC decoder</title>
                <p>The results of individual layers and the entire decoder are tabulated in 
                    <xref ref-type="table" rid="T5">Table 5</xref>. Various input voltages were given to observe the effect on the decoder. The decoder circuit designed achieved low power dissipation and a reasonable delay improvement.</p>
                <table-wrap id="T5" orientation="portrait" position="float">
                    <label>Table 5. </label>
                    <caption>
                        <title>Results of the proposed LDPC decoder circuits (2020).</title>
                    </caption>
                    <table content-type="article-table" frame="hsides">
                        <thead>
                            <tr>
                                <th align="left" colspan="1" rowspan="1" valign="top">Circuit</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Input voltage (V)</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Power dissipation (W)</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Delay (ns)</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Area (&#x03bc;m
                                    <sup>2</sup>)</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">No. of transistors</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">SRAM</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1
                                    <break/>1.3
                                    <break/>1.5</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">415.286 n
                                    <break/>964.608 n
                                    <break/>1.424 n</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">160.00
                                    <break/>160.00
                                    <break/>160.00</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">9.5 &#x00d7; 11.69</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">8</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Parallel adder</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1
                                    <break/>1.3
                                    <break/>1.5</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">61.06 n
                                    <break/>295.337 n
                                    <break/>762.28 n</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">60.22
                                    <break/>120.00
                                    <break/>119.98</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">7.985 &#x00d7; 20.765</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">16</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Parity checker</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1
                                    <break/>1.3
                                    <break/>1.5</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">4.476 n
                                    <break/>8.774 n
                                    <break/>14.811 n</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">60.025
                                    <break/>60.009
                                    <break/>60.008</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">63.200 &#x00d7; 18</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">46</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Demultiplexer</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1
                                    <break/>1.3
                                    <break/>1.5</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1.567 n
                                    <break/>7.01 n
                                    <break/>5.14 n</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">80.00
                                    <break/>80.00
                                    <break/>80.00</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">10.5 &#x00d7; 25.555</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">12</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Bit update circuit</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1
                                    <break/>1.3
                                    <break/>1.5
                                    <break/>2.5</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">635.006 &#x03bc;
                                    <break/>515.219 &#x03bc;
                                    <break/>3.877 n
                                    <break/>2.12 n</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">57.190
                                    <break/>79.999
                                    <break/>79.999
                                    <break/>40.002</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">46.42 &#x00d7; 14.62</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">36</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Multiplexer</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1
                                    <break/>1.3
                                    <break/>1.5</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1.537 n
                                    <break/>3.660 n
                                    <break/>7.067 n</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">139.60
                                    <break/>139.91
                                    <break/>100.50</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">9.9 &#x00d7; 32.155</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">14</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">LDPC decoder circuit</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1
                                    <break/>1.3
                                    <break/>1.5</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">3.818 n
                                    <break/>12.950 n
                                    <break/>68.514 n</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">80.073
                                    <break/>80.021
                                    <break/>80.023</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">147.505 &#x00d7; 122.78 = 18110.6639</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">982</td>
                            </tr>
                        </tbody>
                    </table>
                </table-wrap>
            </sec>
            <sec id="sec15">
                <title>Comparison of results</title>
                <p>In 
                    <xref ref-type="table" rid="T6">Table 6</xref>, the obtained results for the LDPC decoder are compared and analyzed with other published work.</p>
                <table-wrap id="T6" orientation="portrait" position="float">
                    <label>Table 6. </label>
                    <caption>
                        <title>Comparison of proposed circuit results with published work.</title>
                    </caption>
                    <table content-type="article-table" frame="hsides">
                        <thead>
                            <tr>
                                <th align="left" colspan="1" rowspan="1" valign="top">Reference</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Technology</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Delay (ns)</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Power dissipation</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Throughput</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Frequency</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Area</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Sipos 
                                    <italic toggle="yes">et al</italic>.
                                    <sup>
                                        <xref ref-type="bibr" rid="ref19">19</xref>
                                    </sup>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">90 nm</td>
                                <td colspan="1" rowspan="1"/>
                                <td align="left" colspan="1" rowspan="1" valign="top">437.2 mW</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">7.92 Gbps</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">-</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">-</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Senthilpari 
                                    <italic toggle="yes">et al</italic>.
                                    <sup>
                                        <xref ref-type="bibr" rid="ref20">20</xref>
                                    </sup>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">65 nm</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">43.2</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">-</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">3.9 Gbps</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">208 M</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">6.62 mm
                                    <sup>2</sup>
                                </td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Lee 
                                    <italic toggle="yes">et al</italic>.
                                    <sup>
                                        <xref ref-type="bibr" rid="ref21">21</xref>
                                    </sup>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">90 nm</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">-</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">517.7 mW</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">1956.5 Mbps</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">400 M</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">5.529 mm
                                    <sup>2</sup>
                                </td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Bhargava 
                                    <italic toggle="yes">et al</italic>.
                                    <sup>
                                        <xref ref-type="bibr" rid="ref22">22</xref>
                                    </sup>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">180 nm</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">44.53</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">-</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">-</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">22.5 M</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">-</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Proposed circuit</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">180 nm</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">80.07
                                    <break/>80.02
                                    <break/>80.02</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">3.818 nW
                                    <break/>12.95 nW
                                    <break/>68.51 nW</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">12.184 M
                                    <break/>12.496 M
                                    <break/>12.496 M</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">-</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">181 &#x03bc;m
                                    <sup>2</sup>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </table-wrap>
                <p>The proposed circuit performed better in power dissipation than work done by Lee 
                    <italic toggle="yes">et al.</italic>
                    <sup>
                        <xref ref-type="bibr" rid="ref21">21</xref>
                    </sup> The power dissipated by the proposed circuit is in nanowatts, while all references are in milliwatts (19, 21). This may be because the proposed circuit was designed using pass transistor logic, which reduced the number of transistors. CMOS circuits dissipate power during switching times.</p>
                <p>Hence, reducing the switching activity reduced the power dissipation. Other studies
                    <sup>
                        <xref ref-type="bibr" rid="ref19">19</xref>
                    </sup>
                    <sup>&#x2013;</sup>
                    <sup>
                        <xref ref-type="bibr" rid="ref21">21</xref>
                    </sup> achieved 7.92 Gbps, 3.9 Gbps and 1956.5 Mbps for 90 nm, 65 nm, and 90 nm technology, respectively. The proposed circuit simulated for 180 nm obtained the throughput 12.184 Mbps, 12.496 Mbps, and 12.496 Mbps for input voltages of 1V, 1.3V, and 1.5V. The throughput didn&#x2019;t give a better value because the circuit was designed to function well at lower voltages, which is a trade-off with low supply voltage, lower power dissipation, and smaller area with throughput. We used 1V, 1.3V, and 1.5V, and performance at 1.5V was much better in power dissipation and throughput. At lower voltages, the noise margin becomes critical. The area of the proposed circuit is in nanometres squared, which is also reduced compared to Bhargava 
                    <italic toggle="yes">et al</italic>.
                    <sup>
                        <xref ref-type="bibr" rid="ref21">21</xref>
                    </sup> (
                    <xref ref-type="table" rid="T6">Table 6</xref>).</p>
            </sec>
        </sec>
        <sec id="sec16" sec-type="conclusion">
            <title>Conclusion</title>
            <p>The proposed router circuit, which includes the multiplexer and demultiplexer circuits was designed using pass transistor logic. The proposed circuit gave better power dissipation and throughput performance compared with existing circuits due to the reduced critical path. The circuits were simulated using the Mentor Graphics CAD tool for the design and layout. The results obtained show a significant improvement in power dissipation, area, and delay. For the multiplexer, the improvement in power was 99%, but there was a difference in the technology used. The number of transistors used in the proposed circuit was also significantly reduced, which was the intention of this work. The delay obtained was 80 ns, and the area of 10.5 &#x00d7; 25.55 &#x03bc;m
                <sup>2</sup> for the demultiplexer and 9.9 &#x00d7; 32.15 &#x03bc;m
                <sup>2</sup> was considered small. The designed circuit silicon area utilization ensured reduced delay and power dissipation, making the router circuitry seemingly fitting for use in the decoder circuit. The multiplexer and demultiplexer circuits can be used in an LDPC decoder, which uses the layered approach. The multiplexer received input from the bit update block based on the state of the select inputs. The select inputs chose which data bits needed to be routed to the parallel adder block for the next iteration.</p>
        </sec>
        <sec id="sec17">
            <title>Data availability</title>
            <p>All data underlying the results are available as part of the article and no additional source data are required.</p>
        </sec>
    </body>
    <back>
        <ack>
            <title>Acknowledgements</title>
            <p>We would like to thank the anonymous referees for their valuable suggestions. We thank our beloved Multimedia University for supporting this work.</p>
        </ack>
        <ref-list>
            <title>References</title>
            <ref id="ref1">
                <label>1</label>
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Hassan</surname>
                            <given-names>AES</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Dessouky</surname>
                            <given-names>M</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Elazm</surname>
                            <given-names>AA</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>Evaluation of Complexity Versus Performance for Turbo Code and LDPC Under Different Code Rates.</article-title>
                    <source>

                        <italic toggle="yes">The Fourth International Conference on Advances in Satellite and Space Communications.</italic>
</source>
                    <publisher-loc>Egypt</publisher-loc>:<year>2012</year>;<fpage>98</fpage>&#x2013;<lpage>102</lpage>.</mixed-citation>
            </ref>
            <ref id="ref2">
                <label>2</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Jahangir</surname>
                            <given-names>MZ</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Mounika</surname>
                            <given-names>J</given-names>
                        </name>
</person-group>:
                    <article-title>Design and simulation of an innovative CMOS ternary 3to1multiplexer and the design of ternary half adder using ternary 3 to 1 multiplexer.</article-title>
                    <source>

                        <italic toggle="yes">Microelectron. J.</italic>
</source>
                    <year>2019</year>;<volume>90</volume>:<fpage>82</fpage>&#x2013;<lpage>87</lpage>.
                    <pub-id pub-id-type="doi">10.1016/j.mejo.2019.05.007</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref3">
                <label>3</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Ueng</surname>
                            <given-names>Y-L</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Yang</surname>
                            <given-names>B-J</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Chung-Jay Yang</surname>
                            <given-names>C-J</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>An efficient Multi-standard LDPC decoder design using Hardware-friendly Shuffled Decoding.</article-title>
                    <source>

                        <italic toggle="yes">IEEE Transactions on Circuits and Systems-1.</italic>
</source>
                    <year>2013</year>;<volume>60</volume>(<issue>3</issue>):<fpage>743</fpage>&#x2013;<lpage>756</lpage>.
                    <pub-id pub-id-type="doi">10.1109/TCSI.2012.2215746</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref4">
                <label>4</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Zhao</surname>
                            <given-names>Z</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Yang</surname>
                            <given-names>K</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Zheng</surname>
                            <given-names>H</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>Design, Simulation, and Implementation of a CMOS analog decoder (480,240) for Low-Density Parity-Check Codes.</article-title>
                    <source>

                        <italic toggle="yes">IEEE Access Journal.</italic>
</source>
                    <year>2017</year>;<volume>5</volume>:<fpage>17381</fpage>&#x2013;<lpage>17391</lpage>.
                    <pub-id pub-id-type="doi">10.1109/ACCESS.2017.2742531</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref5">
                <label>5</label>
                <mixed-citation publication-type="book">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Khan</surname>
                            <given-names>SA</given-names>
                        </name>
</person-group>:
                    <source>

                        <italic toggle="yes">Digital Design of Signal Processing Systems-A Practical Approach.</italic>
</source>
                    <publisher-name>Wiley publications</publisher-name>;<year>2011</year>.
                    <pub-id pub-id-type="doi">10.1002/9780470974681</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref6">
                <label>6</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Saseendran</surname>
                            <given-names>TK</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Mehra</surname>
                            <given-names>R</given-names>
                        </name>
</person-group>:
                    <article-title>Area and Power Efficient CMOS De-multiplexer Layout on 90nm Technology.</article-title>
                    <source>

                        <italic toggle="yes">International Journal of Scientific Research Engineering &amp; Technology (IJSRET).</italic>
</source>
                    <year>2015</year>;<fpage>102</fpage>&#x2013;<lpage>105</lpage>.
                    <issn>2278&#x2013;0882</issn>EATHD-2015 Conference Proceeding.</mixed-citation>
            </ref>
            <ref id="ref7">
                <label>7</label>
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Bousseaud</surname>
                            <given-names>P</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Negra</surname>
                            <given-names>R</given-names>
                        </name>
</person-group>:
                    <article-title>Low power high-speed 10 Gb/s 4&#x2236;1 multiplexer for sliding-IF digital-centric transmitter in 65nm CMOS.</article-title>
                    <source>

                        <italic toggle="yes">German Microwave Conference (GeMiC), Bochum,.</italic>
</source>
                    <year>2016</year>; pp.<fpage>349</fpage>&#x2013;<lpage>352</lpage>.
                    <pub-id pub-id-type="doi">10.1109/GEMIC.2016.7461628</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref8">
                <label>8</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Pandey</surname>
                            <given-names>V</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Akashe</surname>
                            <given-names>S</given-names>
                        </name>
</person-group>:
                    <article-title>Design Techniques for Self-Voltage Controllable Circuit on 2:1 multiplexer using 45nm Technology.</article-title>
                    <source>

                        <italic toggle="yes">Int. J. Comput. Appl.</italic>
</source>
                    <year>2014</year>;<volume>89</volume>:<fpage>11</fpage>&#x2013;<lpage>18</lpage>.
                    <pub-id pub-id-type="doi">10.5120/15746&#x2013;4512</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref9">
                <label>9</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Anitha</surname>
                            <given-names>K</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Jayachitra</surname>
                            <given-names>R</given-names>
                        </name>
</person-group>:
                    <article-title>Design, and Analysis of CMOS and Adiabatic logic using 1:16 Multiplexer and 16:1 Demultiplexer.</article-title>
                    <source>

                        <italic toggle="yes">International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering.</italic>
</source>
                    <year>2015</year>;<volume>4</volume>(<issue>12</issue>):<fpage>8</fpage>&#x2013;<lpage>17</lpage>.</mixed-citation>
            </ref>
            <ref id="ref10">
                <label>10</label>
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Ahn</surname>
                            <given-names>SH</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Kim</surname>
                            <given-names>JB</given-names>
                        </name>
</person-group>:
                    <article-title>Design of an 11Gb/s CMOS Demultiplexer Using Redundant Multi-Valued Logic.</article-title>
                    <source>

                        <italic toggle="yes">8th International Conference on Solid-State and Integrated Circuit Technology Proceedings, Shanghai, China.</italic>
</source>
                    <fpage>1580</fpage>&#x2013;<lpage>1582</lpage>.</mixed-citation>
            </ref>
            <ref id="ref11">
                <label>11</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Kapilachander</surname>
                            <given-names>T</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Shanavas</surname>
                            <given-names>HI</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Venkataraman</surname>
                            <given-names>V</given-names>
                        </name>
</person-group>:
                    <article-title>Technical Study on low power VLSI methods.</article-title>
                    <source>

                        <italic toggle="yes">International Journal Information Engineering and Electronic Business.</italic>
</source>
                    <year>2012</year>;<volume>4</volume>:<fpage>60</fpage>&#x2013;<lpage>70</lpage>.
                    <pub-id pub-id-type="doi">10.5815/ijieeb.2012.01.08</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref12">
                <label>12</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Kavitha</surname>
                            <given-names>S</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Hashim</surname>
                            <given-names>FH</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Md. Mamun</surname>
                            <given-names>IR</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>Design of a low-power and high throughput error detection and correction circuit using the 4t ex-or method.</article-title>
                    <source>

                        <italic toggle="yes">Journal of Engineering Science and Technology (JESTEC).</italic>
</source>
                    <year>2017</year>;<volume>12</volume>(<issue>8</issue>):<fpage>2010</fpage>&#x2013;<lpage>2027</lpage>.</mixed-citation>
            </ref>
            <ref id="ref13">
                <label>13</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>McKay</surname>
                            <given-names>DJC</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Neal</surname>
                            <given-names>RM</given-names>
                        </name>
</person-group>:
                    <article-title>Near Shannon Limit performance of low-density parity-check codes.</article-title>
                    <source>

                        <italic toggle="yes">Electron. Lett.</italic>
</source>
                    <year>1996</year>;<volume>32</volume>:<fpage>1645</fpage>.
                    <pub-id pub-id-type="doi">10.1049/el:19961141</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref14">
                <label>14</label>
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Pant</surname>
                            <given-names>D</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Pandey</surname>
                            <given-names>A</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Mehra</surname>
                            <given-names>R</given-names>
                        </name>
</person-group>:
                    <article-title>CMOS Design of 2:1 Multiplexer Using Complementary Pass Transistor Logic.</article-title>
                    <source>

                        <italic toggle="yes">National Conference ADVICE-12, NITTTR, Chandigarh.</italic>
</source>
                    <year>2012</year>; pp<fpage>1</fpage>&#x2013;<lpage>7</lpage>.</mixed-citation>
            </ref>
            <ref id="ref15">
                <label>15</label>
                <mixed-citation publication-type="book">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Pari</surname>
                            <given-names>SC</given-names>
                        </name>
</person-group>:
                    <chapter-title>Low Power Arithmetic Circuit Design for Multimedia Applications</chapter-title>.
                    <person-group person-group-type="editor">

                        <name name-style="western">
                            <surname>Sharma</surname>
                            <given-names>M</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Gautam</surname>
                            <given-names>R</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Khan</surname>
                            <given-names>M</given-names>
                        </name>
</person-group>, editors.
                    <source>

                        <italic toggle="yes">Design and Modeling of Low Power VLSI Systems.</italic>
</source>
                    <publisher-loc>Hershey, PA</publisher-loc>:
                    <publisher-name>IGI Global</publisher-name>;<year>2016</year>; (pp.<fpage>252</fpage>&#x2013;<lpage>282</lpage>).
                    <pub-id pub-id-type="doi">10.4018/978-1-5225-0190-9</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref16">
                <label>16</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Selvam</surname>
                            <given-names>RDK</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Senthilpari</surname>
                            <given-names>C</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Lini</surname>
                            <given-names>L</given-names>
                        </name>
</person-group>:
                    <article-title>Design of a 16-bit adder for decoder application circuit.</article-title>
                    <source>

                        <italic toggle="yes">J. Eng. Sci. Technol. (JESTEC).</italic>
</source>
                    <year>2019</year>;<fpage>249</fpage>&#x2013;<lpage>260</lpage>.</mixed-citation>
            </ref>
            <ref id="ref17">
                <label>17</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Selvam</surname>
                            <given-names>RDK</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Senthilpari</surname>
                            <given-names>C</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Lini</surname>
                            <given-names>L</given-names>
                        </name>
</person-group>:
                    <article-title>Improved Speed Low Power Low Voltage SRAM Design for LDPC Application circuits.</article-title>
                    <source>

                        <italic toggle="yes">Journal of Engineering Science and Technology (JESTEC).</italic>
</source>
                    <year>2018</year>;<fpage>822</fpage>&#x2013;<lpage>837</lpage>.</mixed-citation>
            </ref>
            <ref id="ref18">
                <label>18</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Kavitha</surname>
                            <given-names>S</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Hashim</surname>
                            <given-names>FH</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Kamal</surname>
                            <given-names>N</given-names>
                        </name>
</person-group>:
                    <article-title>A New Approach of an Error Detecting and Correcting Circuit by Arithmetic Logic Blocks.</article-title>
                    <source>

                        <italic toggle="yes">Int. J. Electron. Telecommun.</italic>
</source>
                    <year>2018</year>;<volume>65</volume>(<issue>2</issue>):<fpage>313</fpage>&#x2013;<lpage>318</lpage>.</mixed-citation>
            </ref>
            <ref id="ref19">
                <label>19</label>
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Sipos</surname>
                            <given-names>E</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Festila</surname>
                            <given-names>L</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Oltean</surname>
                            <given-names>G</given-names>
                        </name>
</person-group>:
                    <article-title>Towards reconfigurable circuits based on ternary controlled analog multiplexers/demultiplexers.</article-title>
                    <source>

                        <italic toggle="yes">Proceedings of the 12th International Conference KES Part III Heidelberg, Berlin.</italic>
</source>
                    <year>2008</year>;<fpage>351</fpage>&#x2013;<lpage>359</lpage>.</mixed-citation>
            </ref>
            <ref id="ref20">
                <label>20</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Senthilpari</surname>
                            <given-names>C</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Velrajkumar</surname>
                            <given-names>P</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Diwakar</surname>
                            <given-names>JSF</given-names>
                        </name>
</person-group>:
                    <article-title>Design A Low Power and High Throughput Error Detection and Data Correction Architecture by Razor II Method.</article-title>
                    <source>

                        <italic toggle="yes">PalArch's J. Archaeol. Egypt/ Egyptol.</italic>
</source>
                    <year>2020</year>;<volume>17</volume>(<issue>9</issue>):<fpage>4393</fpage>&#x2013;<lpage>4410</lpage>.</mixed-citation>
            </ref>
            <ref id="ref21">
                <label>21</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Lee</surname>
                            <given-names>X-R</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Chen</surname>
                            <given-names>C-L</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Chang</surname>
                            <given-names>H-C</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>A 7.92 Gb/s 437.2 mW Stochastic LDPC Decoder Chip for IEEE 802.15.3c Applications.</article-title>
                    <source>

                        <italic toggle="yes">IEEE Trans. Circuits Syst.</italic>
</source>
                    <year>2015</year>;<volume>62</volume>(<issue>2</issue>):<fpage>507</fpage>&#x2013;<lpage>516</lpage>.
                    <pub-id pub-id-type="doi">10.1109/TCSI.2014.2360331</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref22">
                <label>22</label>
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Bhargava</surname>
                            <given-names>L</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Bose</surname>
                            <given-names>R</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Balakrishnan</surname>
                            <given-names>M</given-names>
                        </name>
</person-group>:
                    <article-title>Novel hardware implementation of LLR-based non-binary LDPC decoders.</article-title>
                    <source>

                        <italic toggle="yes">2013 National Conference on Communications (NCC), 2013.</italic>
</source>
                    <year>2017</year>; pp<fpage>1</fpage>&#x2013;<lpage>5</lpage>.
                    <pub-id pub-id-type="doi">10.1109/NCC.2013.6487956</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref23">
                <label>23</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Ismail</surname>
                            <given-names>M</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Ahmed</surname>
                            <given-names>I</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Coon</surname>
                            <given-names>J</given-names>
                        </name>
</person-group>:
                    <article-title>Low Power Decoding of LDPC Codes.</article-title>
                    <source>

                        <italic toggle="yes">International Scholarly ResearchNotices.</italic>
</source>
                    <year>2013</year>;<volume>2013</volume>:<fpage>1</fpage>&#x2013;<lpage>12</lpage>.
                    <pub-id pub-id-type="doi">10.1155/2013/650740</pub-id>
                </mixed-citation>
            </ref>
        </ref-list>
    </back>
    <sub-article article-type="reviewer-report" id="report142900">
        <front-stub>
            <article-id pub-id-type="doi">10.5256/f1000research.77052.r142900</article-id>
            <title-group>
                <article-title>Reviewer response for version 1</article-title>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author">
                    <name>
                        <surname>Farbeh</surname>
                        <given-names>Hamed</given-names>
                    </name>
                    <xref ref-type="aff" rid="r142900a1">1</xref>
                    <role>Referee</role>
                    <uri content-type="orcid">https://orcid.org/0000-0002-4204-9131</uri>
                </contrib>
                <aff id="r142900a1">
                    <label>1</label>Amirkabir University of Technology, Tehran, Iran</aff>
            </contrib-group>
            <author-notes>
                <fn fn-type="conflict">
                    <p>
                        <bold>Competing interests: </bold>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>19</day>
                <month>7</month>
                <year>2022</year>
            </pub-date>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2022 Farbeh H</copyright-statement>
                <copyright-year>2022</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access peer review report distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <related-article ext-link-type="doi" id="relatedArticleReport142900" related-article-type="peer-reviewed-article" xlink:href="10.12688/f1000research.73404.1"/>
            <custom-meta-group>
                <custom-meta>
                    <meta-name>recommendation</meta-name>
                    <meta-value>reject</meta-value>
                </custom-meta>
            </custom-meta-group>
        </front-stub>
        <body>
            <p>The manuscript proposes an efficient circuit for parity check decoder to reduce power consumption, delay, and area of the circuit. The authors tried to optimize the (de)mux circuitry for passing the data bits through the circuit. The evaluation on 180nm technology node show considerable improvement in targeted parameters. The manuscript is fluent and the contributions are clear. My major concerns are as follows: 
                <list list-type="bullet">
                    <list-item>
                        <p>The evaluations are performed on outdated 180nm feature size. As we are on less than 5nm technology, how scalable and valid are the observations and improvements of this work? What about the compatibility of the proposal to very smaller technology nodes? A discussion in these directions is necessary.</p>
                    </list-item>
                    <list-item>
                        <p>The authors reported the absolute value of some parameters, but it does not make any sense when not compared to the state-of-the-art or a reference value. It is recommended to report the comparative values (maybe the percentage of improvements can help).</p>
                    </list-item>
                    <list-item>
                        <p>By &#x201c;EXOR&#x201d; gate, are the authors referring to well-known &#x201c;XOR&#x201d; gate?</p>
                    </list-item>
                    <list-item>
                        <p>Table 4 is strange to me. The authors reported their evaluation on the proposed circuit and the competitors, but they are not evaluated based on the same technology node. When comparing several designs for a circuit, their efficiency is comparable only when evaluated in the same scenario. To my understanding, the authors just used the report of each paper in the table for other schemes and did not implement them in their own experimental platform. If so, the results cannot be technically sound. I strongly recommend the authors to evaluate all schemes in the same evaluation platform.</p>
                    </list-item>
                    <list-item>
                        <p>The literature review is weak and needs to be more comprehensive. In minimum, the state-of-the-art (DE)MUXs in Table 4 should be discussed. This helps to better highlight the distinction between this work and the existing ones.</p>
                    </list-item>
                </list>
            </p>
            <p>Is the work clearly and accurately presented and does it cite the current literature?</p>
            <p>Partly</p>
            <p>If applicable, is the statistical analysis and its interpretation appropriate?</p>
            <p>Not applicable</p>
            <p>Are all the source data underlying the results available to ensure full reproducibility?</p>
            <p>No source data required</p>
            <p>Is the study design appropriate and is the work technically sound?</p>
            <p>Partly</p>
            <p>Are the conclusions drawn adequately supported by the results?</p>
            <p>Yes</p>
            <p>Are sufficient details of methods and analysis provided to allow replication by others?</p>
            <p>Yes</p>
            <p>Reviewer Expertise:</p>
            <p>Reliability, Fault tolerance, Internet-of-Things, Memory technology, Hardware accelerators.</p>
            <p>I confirm that I have read this submission and believe that I have an appropriate level of expertise to state that I do not consider it to be of an acceptable scientific standard, for reasons outlined above.</p>
        </body>
    </sub-article>
    <sub-article article-type="reviewer-report" id="report121437">
        <front-stub>
            <article-id pub-id-type="doi">10.5256/f1000research.77052.r121437</article-id>
            <title-group>
                <article-title>Reviewer response for version 1</article-title>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author">
                    <name>
                        <surname>Kannan</surname>
                        <given-names>Suthendran</given-names>
                    </name>
                    <xref ref-type="aff" rid="r121437a1">1</xref>
                    <role>Referee</role>
                    <uri content-type="orcid">https://orcid.org/0000-0002-7030-4398</uri>
                </contrib>
                <aff id="r121437a1">
                    <label>1</label>Department of Information Technology, Kalasalingam Academy of Research and Education, Krishnankoil, Tamil Nadu, India</aff>
            </contrib-group>
            <author-notes>
                <fn fn-type="conflict">
                    <p>
                        <bold>Competing interests: </bold>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>17</day>
                <month>2</month>
                <year>2022</year>
            </pub-date>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2022 Kannan S</copyright-statement>
                <copyright-year>2022</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access peer review report distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <related-article ext-link-type="doi" id="relatedArticleReport121437" related-article-type="peer-reviewed-article" xlink:href="10.12688/f1000research.73404.1"/>
            <custom-meta-group>
                <custom-meta>
                    <meta-name>recommendation</meta-name>
                    <meta-value>approve</meta-value>
                </custom-meta>
            </custom-meta-group>
        </front-stub>
        <body>
            <p>I have gone through this manuscript titled &#x201c;Low power, less occupying area, and improved speed of a 4-bit router/re-router circuit for low-density parity-check (LDPC) decoders&#x2019;&#x2019; which is well written and formatted. Even though some points are against its quality as listed below: 
                <list list-type="order">
                    <list-item>
                        <p>Abstract is well written; according to the title, this manuscript occupies less area, which has to be illustrate in the result section of the abstract</p>
                    </list-item>
                    <list-item>
                        <p>The introduction is excellent, but if the author adds a text about sections it is well and good</p>
                    </list-item>
                    <list-item>
                        <p>Is it necessary to keep tables 1 and 2? If not, remove it</p>
                    </list-item>
                    <list-item>
                        <p>Why not give an equation number for the below text equation&#x00a0; &#x201c;Gate-Source voltage V
                            <sub>GS</sub> is equal to V
                            <sub>in</sub>, that is:&#x201d; Page number 4?</p>
                    </list-item>
                    <list-item>
                        <p>Figure 5 (a)- 5(c); the output waveform got a skew problem, how to get it and explain in the relevant page?</p>
                    </list-item>
                    <list-item>
                        <p>The results and explanations are good, and sufficient materials included.</p>
                    </list-item>
                </list>
            </p>
            <p>Is the work clearly and accurately presented and does it cite the current literature?</p>
            <p>Yes</p>
            <p>If applicable, is the statistical analysis and its interpretation appropriate?</p>
            <p>Not applicable</p>
            <p>Are all the source data underlying the results available to ensure full reproducibility?</p>
            <p>No source data required</p>
            <p>Is the study design appropriate and is the work technically sound?</p>
            <p>Yes</p>
            <p>Are the conclusions drawn adequately supported by the results?</p>
            <p>Yes</p>
            <p>Are sufficient details of methods and analysis provided to allow replication by others?</p>
            <p>Yes</p>
            <p>Reviewer Expertise:</p>
            <p>Wireless Communication</p>
            <p>I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard.</p>
        </body>
    </sub-article>
</article>
