<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Method of Developing a Checkable Self-Recovery Floating-Point Pipeline System</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Odessa National Polytechnic University</institution>
          ,
          <addr-line>Ave. Shevchenko 1, 65044, Odessa</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The objective nature observed in the development of the computer world makes it possible to predict requests for the development of promising computer systems. The parallelism and fuzziness of the natural world encourages the development of pipeline systems for the processing of approximate data. The progressive development of high-risk objects increases the requirements for safety-related systems in improving the checkable and fault-tolerant solutions used in them. A method for developing a checkable fault-tolerant floatingpoint pipeline system is proposed. Matrix circuits of pipeline sections are unified in the form of lines of identical elements. The operands and floating-point results obtain an additional bit excluded from the calculations. Its movement creates many versions of calculation execution, ensuring the checkability of circuits and their fault tolerance in the form of self-recovery when selecting a version that excludes a faulty element. The method uses the synergy of different types of performed functions to simplify the system and to counter faults.</p>
      </abstract>
      <kwd-group>
        <kwd>safety-related system</kwd>
        <kwd>approximate data</kwd>
        <kwd>floating-point pipeline system</kwd>
        <kwd>version</kwd>
        <kwd>checkability</kwd>
        <kwd>fault tolerance</kwd>
        <kwd>self-recovery</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        point formats [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ], where the mantissa bits are diversified by their division into most
and least significant ones [
        <xref ref-type="bibr" rid="ref6 ref7 ref8">6-8</xref>
        ], and the errors caused in these bits by faults become
essential and inessential to the trustworthiness of the calculated results. Logic in
parallelization of calculations is shown in software products [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ] and development of
green technologies [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ]. Low efficiency of matrix structures [
        <xref ref-type="bibr" rid="ref13 ref14">13, 14</xref>
        ] is analyzed in
the use of operating elements forming them [
        <xref ref-type="bibr" rid="ref15 ref16">15, 16</xref>
        ] and power consumption [
        <xref ref-type="bibr" rid="ref17 ref18 ref19">17-19</xref>
        ].
      </p>
      <p>
        The second group of works forms the basis for adaptation of the developed system
to its use in safety-related applications [
        <xref ref-type="bibr" rid="ref20 ref21">20, 21</xref>
        ]. Fault-tolerant solutions [
        <xref ref-type="bibr" rid="ref22">22, 23</xref>
        ],
including correction codes and reconfiguration [24, 25], do not guarantee functional
safety in case of lack of checkability, which is better known as testability [26, 27]. For
safety-related systems, lack of checkability leads to the hidden fault problem [29, 30],
better known for the accident consequences of unsuccessful attempts to search such
faults [31, 32]. The identification of this problem as a growth challenge [33, 34]
related to the established practice of using matrix structures [35, 36] defines solutions,
including the use of multi-version technologies [37, 38].
      </p>
      <p>In addition, the proposed method uses the features of truncated operations [39].
Program implementation of the method is performed for iterative array multiplier [40, 41].</p>
      <p>A more detailed analysis of the references used is consistent with the purpose of
the paper in justifying the need to develop the proposed system and is discussed in the
following sections.</p>
      <p>A rest of the paper has a following structure. Section 2 examines the state of the art
and explains why the computer system is most in demand to handle approximate data
in floating-point formats and why it is constructed as a pipeline using matrix circuits
in its sections. In addition, Section 2 justifies the feasibility to counteracting failures
in the Self-Recovery System and the need to develop a Checkable System for the use
in safety-related applications. Section 3 outlines the basic provisions of a method
developing the Checkable Self-Recovery Floating-Point Pipeline System and analyzes
its properties to justify such a name. Section 4 shows the case study of the proposed
method on the example of an iterative array multiplier of mantissas as a section of a
pipeline system.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Main Features of High-Demand Computer System</title>
      <p>
        Patterns observed in the development of computer systems can be viewed in terms of
a resource-based approach that analyzes the integration of the computer world into the
natural one [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        The computer world created by human largely repeats the development of the
natural world, but in a shorter time frame. Observation of analogy suggests a single basis
in the development of these worlds and dominance of objective processes, the
direction of which determines the vector of development. Integration into the natural world
takes place by structuring under its features. The computer world exhibits to the
highest degree two such features: parallelism and fuzziness. The mass production of
personal computers, which has been going on for decades, allows us to trace the process
of structuring to these features. Hardware support for approximate computing began
with an optional Intel 287/387 coprocessor. In the Pentium processor, we see the
emergence of FPU (Floating-Point Unit) pipelines to handle approximate data with
increased performance. The modern graphics processor contains thousands of such
pipelines, which are used for parallel computing using CUDA (Compute Unified
Device Architecture) technology [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ]. Following the development vector is encouraged
by outstanding achievements in key indicators: performance and memory, which have
simultaneously increased millions of times from KHz to GHz and from MB to TB.
      </p>
      <p>
        It is important to note that no one planned such development of personal
computers. The natural integration process was indicative of the primacy of objective
processes. A particular conclusion is that computer systems should be developed in the
direction of processing approximate data and, above all, in floating-point formats that
have become most common [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ].
      </p>
      <p>
        The resource-based approach addresses the performance challenges needed to
complete all work in a limited amount of time, generate reliable results, and invest resources
in performance and trustworthiness. These resources are models, methods, and means.
The resource-based approach shows three levels of resource development, from
replication to diversification and self-sufficiency. Replication is observed in the absence of
conflicts with the natural world, i.e. in open resource niches where integration takes
place by stamping clones. This process is based on productivity, which aims to exceed
fertility over mortality. Filling resource niches leads to a crisis of overproduction in
which only those who show features survive. They are transformed from clones to
individuals, versions, and thus are raised to the level of diversification, where integration is
achieved through trustworthiness, i.e. adequacy to the natural world [
        <xref ref-type="bibr" rid="ref1 ref6">1, 6</xref>
        ].
      </p>
      <p>
        Note that floating-point formats diversify the mantissa bits by dividing them into
most and least significant bits [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ]. Faults cause errors in these bits that are essential
and inessential to the trustworthiness of the result.
      </p>
      <p>
        Today's computer world is experiencing a replication boom. The software is
composed of installed modules. They can be huge in size and contain only one operator
needed, but will be connected, thanks to the open resource niches of memory and
performance of computer systems [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ]. Mobile, autonomous systems are
characterized by a limited niche in energy supply and therefore rise to the level of
diversification using green technologies [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ].
      </p>
      <p>
        Hardware solutions are based on matrix structures that also reflect the level of
replication. Arithmetic blocks contain parallel shifters and adders, iterative array multipliers
and dividers performing operations in parallel codes [
        <xref ref-type="bibr" rid="ref13 ref14">13, 14</xref>
        ]. Matrix structures are
inefficient and resource-intensive. For example, an iterative array multiplier performing a
key operation of approximate calculations in one clock cycle comprises G2 operational
elements, 2G – 2 of which are connected in series, where G is the size of the operand. In
the cases of G = 32 and G = 64, each operating element is used by 1.6% and 0.8%,
respectively [
        <xref ref-type="bibr" rid="ref15 ref16">15, 16</xref>
        ]. The rest of the clock cycle time is filled with parasitic transitions of
signals, which occur due to different length of their propagation paths [
        <xref ref-type="bibr" rid="ref17 ref18">17, 18</xref>
        ]. The
number of these glitches is many times more than the number of functional transitions.
The dynamic and static components of energy consumption are mainly determined by
parasitic transitions and large dimensions of matrix structures.
      </p>
      <p>
        Pipelining improves the performance of calculations by paralleling them at the
level of diversification of operations executed in pipeline sections. However, sections of
the modern pipeline system contain single-cycle matrix circuits with all the problems
caused by the replication level [
        <xref ref-type="bibr" rid="ref18 ref19">18, 19</xref>
        ].
      </p>
      <p>
        It should be noted that matrix structures exhibit the greatest problems in the field of
critical applications, where computer systems are transformed into safety-related
systems. These systems are aimed at ensuring functional safety of high-risk facilities to
prevent accidents [
        <xref ref-type="bibr" rid="ref20 ref21">20, 21</xref>
        ]. Quantitative and qualitative growth of high-risk facilities,
including powerful power plants and power networks, various types of weapons,
determines the improvement of safety-related systems as a priority in the development of
information and computer technologies for successful integration into the natural world.
      </p>
      <p>
        According to current international standards, functional safety of safety-related
systems is based on the use of fault-tolerant solutions [
        <xref ref-type="bibr" rid="ref22">22, 23</xref>
        ]. These solutions
provide for different types of redundancy and reconfiguration designed to parry a certain
number of failures, usually one or two [24, 25].
      </p>
      <p>However, this fault tolerance is insufficient when the checkability is insufficient.
Its most simple form, known as testability, shows dependence only on the structure of
the digital circuit, i.e. it is a structural checkability [26, 27]. On-line testing detects
errors if the input data shows faults of the digital circuit, that is, within the framework
of structural-functional checkability, depending also on the input data [28, 29].</p>
      <p>Resource niches are particularly prone to closure in the field of safety-related
applications. Computer systems become safety-related by diversifying the operating
mode, which is divided into normal and emergency modes. In matrix structures, such
separation is inherited by input data, which become different in these modes and
diversify structural-functional checkability, creating the problem of hidden faults. They
can be accumulated in normal mode, which does not use the input data that displays
them, and cause many failures when the input data changes in emergency mode. Their
number may exceed capabilities of any fault-tolerant system [30].</p>
      <p>The problem of hidden faults is solved in practice by means of imitation modes,
which recreate emergency conditions and repeatedly led to them due to human factor
or unauthorized activation by fault [31, 32]. The resource-based approach identifies
the problem of hidden faults as a challenge of growth, when the system in
checkability rises to the level of diversification, and its components continue to be stamped
based on matrix structures relating to the level of replication [33, 34].</p>
      <p>This interpretation of the problem determines the ways to solve it by developing
components to the system level. Decision bluntly is based on reduction of matrix
structures. However, matrix structures have prevailed for several decades and have
created strong infrastructure in their support, including models, methods and modern
CAD supported by libraries of ready-made solutions [35, 36].</p>
      <p>However, we can see many other opportunities in raising resources to the level of
diversification, including ways that maintain the established tradition of using matrix
circuits in pipeline system sections. We can propose the use of multi-version
technologies that have already been widely used in safety-related systems to counter common
cause failures [37].</p>
      <p>Typically, the number of versions in multi-version systems is limited due to their
increasing complexity. Systems with two versions have become most common, which
must be as independent as possible to resist common cause failures. It should be noted
that version redundancy is common in the natural world, but it is characterized by a
high degree of version connectivity, which increases the functionality of the system
with its limited resources. For example, we can observe the high functionality of the
fingers of the hand.</p>
      <p>Intersecting versions are not an obstacle to counteracting failures in three or more
versions, as is the case in computer systems with strongly connected versions [38]. As
will be shown later, these systems combine fault tolerance with high checkability and
low hardware costs that decrease as the number of versions increases. Fault tolerance
is ensured by self-recovery by eliminating the fault from the computing process.</p>
      <p>Thus, following the development vector in the development of a promising system
leads us to the next choice. Parallelization of calculations in the processing of
approximate data at the level of diversification is expedient to implement into the pipeline
floating-point system. The field of safety-related applications dictates the need to
combine fault tolerance and checkability of circuit solutions that can be implemented
on the basis of a checkable self-recovery system with strongly connected versions.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Main Provisions of the Suggested Method</title>
      <p>We consider a pipeline system whose sections perform floating-point arithmetic
operations in parallel codes based on matrix structures. The developed pipeline system is aimed
at completing the entire task in case of faults of not more than one in each section.</p>
      <p>Typically, matrix structures combine arrays of uniform operational elements with
regular connections. The parallel shifter consists of a line of multiplexers, and the
parallel adder contains a line of full adders. The iterative array multiplier and divider
comprise two-dimensional matrices of identical operational elements and their
structures can also be considered as lines of rows or columns of the operational elements.
This similarity, seen in arithmetic circuit structures, allows them to be unified as a
line of generally series-connected elements. This structure, consisting of M elements,
is being supplemented by another element and is transformed in a ring which serves
as the basis for constructing the pipeline section of the strongly connected version
system shown in Fig. 1.</p>
      <p>O …</p>
      <p>BO
S
CB
…
…</p>
      <p>B1</p>
      <p>U</p>
      <p>The system performs an arithmetic operation in one clock cycle of the pipeline
section and comprises an operating block OB in the form of a ring, as well as control
block CB, checking block BC, blocks BO and BR of operands and result.</p>
      <p>The ring consists of M + 1 elements A: A1, …, AM and M + 1 units B: B1, …, BM,
which can break the ring between any adjacent elements. A ring break converts it to a
line of elements with one extra element located at the last position. Thus, the system
can be in one of the M + 1 states, in each of which contains the version of the original
line and its addition by an extra element. The failure of this element is blocked
because the code it calculates is not involved in the operation.</p>
      <p>The CB block comprises a modulo M + 1 counter storing the state code S, which is
the version number. The BC block checks the result and changes the S code to the
next value in case of error. This code is supplied to control inputs of BO and BR
blocks, and after conversion to unitary code U – to control inputs of B1, …, BM units.
Operands and result contain M bits and zero-bit at extra additional position. The
blocks BO and BR comprise (M + 1)-bit shifters controlled by the S code. The
shifters select operands and result according to the current version. Operands are selected
from the inputs O of the multiplier and supplied to the inputs of the OB and BC
blocks. The result is selected from the outputs of the OB block and supplied to the
inputs of the BC block and the output R of the multiplier.</p>
      <p>The logic of the system operation consists in changing its state in each clock cycle,
i.e. for each execution of arithmetic operation. If an error is detected, the state
continues to change to a value where the fault is at the position of the additional element not
involved in the calculations, and the BC block reports no error. This state is fixed
until the entire job performed by the pipeline system is completed.</p>
      <p>Note that the presence of the additional position excludes from the calculations not
only the extra element A, but also the extra elements in the (M + 1) bit shifters, i.e. in
the state change schemes. The fault of the B unit is also masked, both in case of
failure to break the ring and otherwise.</p>
      <p>The permanent state change makes the system checkable even with minimal
operand changes.</p>
      <p>The developed system performs various functions in accordance with its
classification as pipeline, checkable, self-recovery and processing floating-point data. We can
develop synergies between these types of functions towards simplifying the system
and countering failures.</p>
      <p>Floating-point operations are performed with mantissas and exponents, interaction
between which is carried out by renormalization of operands and normalization of
results using arithmetic shifters of mantissas. The combined implementation of these
functions with the cycle shift functions performed in the discussed self-recovery
system ensures their simplification in FPGA project by 23% and 46% for 16- and 32-bit
mantissas, respectively [38].</p>
      <p>The permanent change of states of the checkable system in combination with its
pipeline structure allows simplifying the cyclic shift function to move no more than
one position. This shift is performed with respect to the previous state due to its
storage by the pipeline registers. In addition, this minimum amount of shift is combined
with the movement of mantissa when the multiplication and division results are
normalized.</p>
      <p>
        As is known, mantissa processing can be performed by truncated multiplication
and division with elimination of the lower part in the matrix of operational elements
from calculations without reduction of single accuracy [39]. For 16- and 32-bit
mantissas, the lower part is 30% and 37% of the total matrix, respectively, and it is an area
of fault masking when performing complete multiplication. The use in the BC block
of the inequality checking method will allow to ignore errors caused by faults in the
lower part of the matrix [
        <xref ref-type="bibr" rid="ref18 ref6">6, 18</xref>
        ]. Thus, the self-recovery system receives not only an
extra element, but also a significant portion of the matrix to exclude a fault from the
calculations in multiplication and division of mantissas.
      </p>
      <p>System recovery can occur over several clock cycles with some loss of
trustworthiness of results or performance in the event of a stop of the input data stream. It is
advantageous to shift the operands towards decreasing the amount of error.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Case Study of the Proposed Method</title>
      <p>The experimental verification of the proposed method was executed using on an
example of iterative array Braun multiplier [40] using its program model developed on
the freely distributed Delphi 10 Seattle demo version [41].</p>
      <p>The program sets a random sequence of operands and simulates the execution of
multiplication in case of short circuit between two points of the scheme of a randomly
selected operating element in the structure of an n-bit iterative array multiplier for
n = 8, ..., 15. The structure of the multiplier is supplemented by an additional string
and column and therefore contains a matrix of (n + 1)×(n + 1) operational elements
consisting of an AND element and a full adder. Circuit points (inputs of AND
element, as well as inputs and outputs of adder) are selected randomly to inject fault.</p>
      <p>The main program panel is shown in Fig. 2.</p>
      <p>The panel shows binary and decimal values for operand codes A, B and the Cm
and C results which are calculated and simulated, respectively.</p>
      <p>The operational elements of additional rows and columns are highlighted in
yellow, as are the corresponding additional bits of operands and results. The fault
masking area is painted blue and the older half of the results are painted green.</p>
      <p>The occurrence of a fault in the form of an error initiates a change in the state code
by one and a cyclic shift of both operands by one position towards the higher bits. In
this case, the conjunction, which is calculated and processed by the faulty operation
element, reduces the weight of the caused error up to the transition from the highest
bit to the lowest one.</p>
      <p>
        Results were checked by inequalities taking into account that for the normalized
mantissas mA and mB, 1 ≤ mA &lt; 2, 1 ≤ mB &lt; 2, the product mC is limited to inequality of
(mA + mB) – 4 &lt; mC &lt; 2 min (mA, mB) [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>During the simulation, the program counts the number of operations performed and
the number of results calculated with an error, an essential error, and an essential error
detected, and determines the probabilities of these errors. In addition, the program
calculates the number of Te and Tc clock cycles that it took to correct the error and
error detected by the inequality checking method.</p>
      <p>Experiments conducted in order to increase the size of n from 8 to 15 showed an
increase in the error probability, the probability of an essential error, and a decrease in
the probability of a detected essential error from 17.6% to 22.8%, from 6.6% to
11.1% and from 21.9% to 9.9%, respectively.</p>
      <p>The dependence of the averaged number of clock cycles Te and Tc on the operand
size is shown in Fig. 3.
n</p>
      <p>The average number of clock cycles Te and Tc increases from 2.3 to 4.6 and from
3.6 to 8.2, i.e. in the rate of increase in the size of operands. It should be noted that the
undetected essential error is halved in the next clock cycle and therefore will not be
detected by the inequality checking. If the fault continues to produce an error, it will
first become inessential and then essential and detectable when it moves to the highest
bits of the product. This clock cycle will start the schema recovery process.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>The development of the computer world demonstrates a dominant objective
component, the following of which is an important prerequisite for the design of promising
computer systems. Structuring resources under the parallelism and fuzziness of the
natural world advances the development of pipeline systems for processing
approximate data. Filling and closing resource niches encourage the development of high-risk
facilities and safety-related systems with increased functional safety requirements,
which is based on the use of checkable fault-tolerant solutions. Thus, there is a need
to develop checkable fault tolerant floating-point pipeline systems.</p>
      <p>The proposed method of developing such systems is based on the dominance of
matrix structures in modern computer design. The use of matrix circuits in pipeline
sections allows them to be unified by presenting identical elements in the form of
lines. This structure of sections creates conditions for their conversion into checkable
fault-tolerant solutions based on strongly connected versions. The structure of the
operands and the results of the floating-point operations are given an additional bit
excluded from the calculations. Moving an additional bit creates multiple versions of
performing calculations on the same line of elements, ensuring the checkability of
circuits and their fault tolerance when selecting a version that excludes a faulty
element from the computing process.</p>
      <p>As preferences due following to objective processes, the method gains synergy of
different types of functions justifying the name of the system, and uses this harmony to
simplify the solution and counter faults. Inherent in floating-point operations, data
renormalization and normalization, as well as the search for the true version, is based on the use of
shifters and therefore allows jointly implementing these functions and simplifying the
system. Similarly, and for the same goal, the implementation of functions ensuring the
system pipelining and checkability is combined. Synergy of features in checking functions
and floating-point data processing, manifested in truncated operations, provides additional
masking of faults in emergency mode of safety-related systems.
23. Romankevich, A., Feseniuk, A., Romankevich, V., Sapsai, T. About a fault-tolerant
multiprocessor control system in a pre-dangerous state. In: 9th IEEE International Conference
DESSERT, Kyiv, Ukraine, pp. 215-219 (2018) doi: 10.1109/DESSERT.2018.8409129
24. Yatskiv, V., Yatskiv, N., Jun, S. et. al.: The use of modified correction code based on residue
number system in WSN. In: 7th IEEE International Conference IDAACS, Berlin, Germany,
pp. 513-516 (2013) doi: 10.1109/IDAACS.2013.6662738
25. Donthi, S, Haggard, R.L.: A survey of dynamically reconfigurable FPGA devices. In: 35th</p>
      <p>Southeastern Symposium on System Theory, Morgantown, WV, USA, pp. 422-426 (2003).
26. Matrosova, A., Nikolaeva, E., Kudin, D., Singh, V.: PDF testability of the circuits derived by
special covering ROBDDs with gates. In: IEEE East-West Design and Test Symposium,
Rostov-on-Don, Russia, pp. 1-5 (2013)
27. Kondratenko, Y.P., Kozlov, O.V., Topalov, A.M., Gerasin, O.S. Computerized system for
remote level control with discrete self-testing. In: CEUR Workshop Proceedings Open
Access, vol-1844, pp. 608-619 (2017) http://ceur-ws.org/Vol-1844/10000608.pdf
28. Coppad, D., Sokolov, D., Bystrov, A., Yakovlev, A.: Online Testing by Protocol
Decomposition. In: 12th IEEE International On-Line Testing Symposium, Como, Italy, pp. 263-268
(2006) doi: 10.1109/IOLTS.2006.45
29. Drozd, A., Drozd, J., Antoshchuk, S. et. al.: Objects and Methods of On-Line Testing: Main
Requirements and Perspectives of Development. In: IEEE East-West Design &amp; Test
Symposium, Yerevan, Armenia, pp. 72-76 (2016) doi: 10.1109/EWDTS.2016.7807750
30. Drozd, O., Kuznietsov, M., Martynyuk, O., Drozd, M.: A method of the hidden faults
elimination in FPGA projects for the critical applications. In: 9th IEEE International Conference
DESSERT, Kyiv, Ukraine, pp. 231-234 (2018) doi: 10.1109/DESSERT.2018.8409131
31. Gillis, D.: The Apocalypses that Might Have Been. [Online]. Available: http://www
.popmech.ru/go.php?url=http%3A%2F%2F www.damninteresting.com%2F%3Fp%3D913.
32. U.S.-Canada Power System Outage Task Force: Final Report on the August, 14, 2003
Blackout in the United States and Canada: Causes and Recommendations USA (2004)
33. Drozd, O., Kharchenko, V., Rucinski, A. et. al.: Development of Models in Resilient
Computing. In: 10th IEEE International Conference on Dependable Systems, Services and
Technologies, Leeds, UK, pp. 2-7 (2019) doi: 10.1109/DESSERT.2019.8770035
34. Kulanov, V., Kharchenko, V., Perepelitsyn, A.: Parameterized IP Infrastructures for
faulttolerant FPGA-based systems: Development, assessment, case-study. In: IEEE East-West
Design and Test Symposium, St. Petersburg, Russia, pp. 322-325 (2010)
35. Intel Quartus Prime Standard Edition User Guide: Getting Started. [Online]. Available:
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ugqpsgetting-started.pdf, last accessed 2019/03/20.
36. Xilinx LogiCORE IP floating-point operator v7.0, product guide, PG060 (2014). [Online].</p>
      <p>Available: www.xilinx.com/support/documentation,
37. Kharchenko, V.: Multy-version Systems: Models, Reliability, Design Technologies. In: 10th</p>
      <p>European Conference on Safety and Reliability, pp. 73-77, Munich, Germany (1999)
38. Drozd, O., Kovalev, I., Drozd, M. et. al.: Sharing of Functional and Special Means in Pipeline
Floating-Point Systems with Strongly Connected Versions. In: 11th IEEE International
Conference IDAACS, Metz, France, pp. 249-253 (2019) doi: 10.1109/IDAACS.2019.8924289
39. Park, H.: Truncated Multiplications and Divisions for the Negative Two's Complement Number</p>
      <p>System. In: Ph.D. Dissertation. The University of Texas at Austin, Austin, USA (2007).
40. Neeraja, B., Sai Prasad Goud, R.: Design of an area efficient Braun multiplier using high
speed parallel prefix adder in cadence. In: IEEE International Conference on Electrical,
Computer and Communication Technologies, Coimbatore, India (2019)
41. Delphi 10 Seattle: Embarcadero (2015) https://www.embarcadero. com/ru/products/delphi</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Drozd</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drozd</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Antoshchuk</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Green IT engineering in the view of resource-based approach</article-title>
          . In: Green IT Engineering: Concepts,
          <source>Models, Complex Systems Architectures, SSDC</source>
          , vol.
          <volume>74</volume>
          , Springer, Berlin, pp.
          <fpage>43</fpage>
          -
          <lpage>65</lpage>
          (
          <year>2017</year>
          ) doi: 10.1007/978-3-
          <fpage>319</fpage>
          -44162-
          <issue>7</issue>
          _
          <fpage>3</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>NVIDIA</given-names>
            <surname>CUDA Compute Unified Device Architecture</surname>
          </string-name>
          .
          <source>Programming Guide / Version 1</source>
          .0,
          <string-name>
            <given-names>NVIDIA</given-names>
            <surname>Corporation</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Andrecut</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Parallel GPU implementation of iterative PCA algorithms</article-title>
          .
          <source>Journal of Computational Biology</source>
          , vol.
          <volume>16</volume>
          , no.
          <issue>11</issue>
          , pp.
          <fpage>1593</fpage>
          -
          <lpage>1599</lpage>
          (
          <year>2009</year>
          ). Online. [Available]: http://dx.doi.org/10.1089/cmb.
          <year>2008</year>
          .0221
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. IEEE Std 754™
          <article-title>-2008 (Revision of IEEE Std 754-1985) IEEE Standard for Floating-Point Arithmetic</article-title>
          . IEEE 3 Park Avenue New York, NY 10016-5997, USA (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Synopsys DWFC Flexible Floating-Point Overview</surname>
          </string-name>
          . no.
          <source>August</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Drozd</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drozd</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , Al-dhabi, M.:
          <article-title>A resource approach to on-line testing of computing circuits</article-title>
          .
          <source>In: IEEE East-West Design &amp; Test Symposium</source>
          , Batumi, Georgia, pp.
          <fpage>276</fpage>
          -
          <lpage>281</lpage>
          (
          <year>2015</year>
          ) doi: 10.1109/EWDTS.
          <year>2015</year>
          .7493122
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Kekre</surname>
            ,
            <given-names>H.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mishra</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khanna</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khanna</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hussaini</surname>
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Comparison between the basic LSB Replacement Technique &amp; Increased Capacity of Information Hiding in LSB‟s Method for Images</article-title>
          .
          <source>International Journal of Computer Applications</source>
          .
          <volume>45</volume>
          , No.
          <volume>1</volume>
          ,
          <fpage>33</fpage>
          -
          <lpage>38</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Zashcholkin</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ivanova</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>The control technology of integrity and legitimacy of LUToriented information object usage by self-recovering digital watermark</article-title>
          .
          <source>In: CEUR Workshop Proceedings</source>
          , vol.
          <volume>1356</volume>
          , pp.
          <fpage>498</fpage>
          -
          <lpage>506</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Pomorova</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Savenko</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lysenko</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kryshchuk</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bobrovnikova</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>A technique for the botnet detection based on DNS-traffic analysis</article-title>
          . In: Gaj,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Kwiecień</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Stera</surname>
          </string-name>
          , P. (eds.)
          <article-title>CN 2015</article-title>
          .
          <article-title>CCIS</article-title>
          , vol.
          <volume>522</volume>
          , pp.
          <fpage>127</fpage>
          -
          <lpage>138</lpage>
          . Springer, Heidelberg (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Hovorushchenko</surname>
            ,
            <given-names>T</given-names>
          </string-name>
          , Pomorova,
          <string-name>
            <surname>O.</surname>
          </string-name>
          <article-title>Ontological approach to the assessment of information sufficiency for software quality determination</article-title>
          .
          <source>SEUR-WS</source>
          , vol.
          <volume>1614</volume>
          , pp.
          <fpage>332</fpage>
          -
          <lpage>348</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. San Murugesan, Gangadharan,
          <string-name>
            <surname>G.R.</surname>
          </string-name>
          :
          <article-title>Harnessing Green IT</article-title>
          . Principles and Practices, UK: Wiley and Sons Ltd. (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Vakaliuk</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Antoniuk</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morozov</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          et. al.:
          <article-title>Green IT as a tool for design cloud-oriented sustainable learning environment of a higher education institution</article-title>
          .
          <source>E3S Web of Conferences</source>
          <volume>166</volume>
          ,
          <issue>10013</issue>
          (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Palagin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Opanasenko</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>The implementation of extended arithmetic's on FPGA-based structures</article-title>
          .
          <source>In: IEEE International Conference on Intelligent Data Acquisition and Advanced Computing Systems</source>
          , vol.
          <volume>2</volume>
          , Bucharest, Romania, pp.
          <fpage>1014</fpage>
          -
          <lpage>1019</lpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Chernov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Titov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chernova</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          et. al.:
          <article-title>Algorithm for the simplification of solution to discrete optimization problems</article-title>
          .
          <source>Eastern-European Journal of Enterprise Technologies</source>
          <volume>3</volume>
          (
          <issue>4</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Ehliar</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Area efficient floating-point adder and multiplier with IEEE754 compatible semantics</article-title>
          .
          <source>In: International Conference on Field-Programmable Technology</source>
          , pp.
          <fpage>131</fpage>
          -
          <lpage>138</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Drozd</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Antoniuk</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nikul</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drozd</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>Hidden faults in FPGA-built digital components of safety-related systems</article-title>
          . In: 14th IEEE International
          <string-name>
            <surname>Conference</surname>
            <given-names>TCSET</given-names>
          </string-name>
          , LvivSlavsko, Ukraine, pp.
          <fpage>805</fpage>
          -
          <lpage>809</lpage>
          (
          <year>2018</year>
          ) doi: 10.1109/TCSET.
          <year>2018</year>
          .8336320
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Kumar</surname>
            <given-names>Vasantha</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Murthy Sharma N. S.</surname>
          </string-name>
          , Lal Kishore K.:
          <article-title>A Technique to Reduce Glitch Power during Physical Design Stage for Low Power and Less IR Drop</article-title>
          . In
          <source>International Journal of Computer Applications (0975 - 8887)</source>
          , vol.
          <volume>39</volume>
          ,
          <issue>18</issue>
          ,
          <fpage>62</fpage>
          -
          <lpage>67</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Drozd</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Antoshchuk</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drozd</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          et. al.:
          <article-title>Checkable FPGA Design: Energy Consumption, Throughput and Trustworthiness</article-title>
          . In: Green IT Engineering: Social, Business and
          <string-name>
            <given-names>Industrial</given-names>
            <surname>Applications</surname>
          </string-name>
          , SSDC, vol.
          <volume>171</volume>
          , Springer, Berlin, pp.
          <fpage>73</fpage>
          -
          <lpage>94</lpage>
          (
          <year>2019</year>
          ) doi: 10.1007/978-3-
          <fpage>030</fpage>
          - 00253-
          <issue>4</issue>
          _
          <fpage>4</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>H.F.</given-names>
          </string-name>
          :
          <article-title>A structural study of parallel pipelined systems</article-title>
          .
          <source>In: PhD Dissertation</source>
          , Univ. of California.,
          <string-name>
            <surname>Berkeley</surname>
          </string-name>
          (
          <year>1975</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Smith</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simpson</surname>
            <given-names>K.</given-names>
          </string-name>
          :
          <source>The Safety Critical Systems Handbook, 4th Edition</source>
          , ButterworthHeinemann (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Ivanchenko</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kharchenko</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moroz</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          et. al.:
          <article-title>Risk Assessment of Critical Energy Infrastructure Considering Physical and Cyber Assets: Methodology and Models</article-title>
          . In: 10th IEEE International
          <string-name>
            <surname>Conference</surname>
            <given-names>IDAACS</given-names>
          </string-name>
          , Lviv, Ukraine, pp.
          <fpage>225</fpage>
          -
          <lpage>228</lpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22. International Electrotechnical Commission, Nuclear Power Plants:
          <article-title>Instrumentation and Control for Systems Important</article-title>
          to Safety - General
          <string-name>
            <surname>Requirements</surname>
          </string-name>
          ,
          <source>Rep. IEC 61513</source>
          ,
          <string-name>
            <surname>IEC</surname>
          </string-name>
          ,
          <string-name>
            <surname>Geneva</surname>
          </string-name>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>