=Paper=
{{Paper
|id=Vol-3156/paper36
|storemode=property
|title=Augmented Checkability of LUT-oriented Circuits in FPGA-based Components of Safety-Related Systems
|pdfUrl=https://ceur-ws.org/Vol-3156/paper36.pdf
|volume=Vol-3156
|authors=Oleksandr Drozd,Illya Baskov,Oleksandr Martynyuk,Kostiantyn Zashcholkin,Myroslav Drozd
|dblpUrl=https://dblp.org/rec/conf/intelitsis/DrozdBMZD22
}}
==Augmented Checkability of LUT-oriented Circuits in FPGA-based Components of Safety-Related Systems==
Augmented Checkability of LUT-oriented Circuits in FPGA-based Components of Safety-Related Systems Oleksandr Drozda, Illya Baskova, Oleksandr Martynyuka, Kostiantyn Zashcholkina and Myroslav Drozda a Odesa Polytechnic National University, Ave. Shevchenko 1, Odesa, 65044, Ukraine Abstract The paper focuses on extending the checkability of LUT-oriented circuits for FPGA-based (Field Programmable Gate Array) digital components. The main provisions of the article concentrate on the task of ensuring the checkability for critical computer systems. As critical systems, the article considers computer systems that control high-risk facilities or ensure the functional safety of such facilities. Traditionally, approaches that are based on fault tolerance have been used to ensure the functional safety of computer systems. The specific of critical systems is that these systems must potentially operate in two modes: normal and emergency. Critical systems operate in normal mode for most of their life cycle. This mode is a long time and stable in the nature of the data processed. In this case, the input data of the system have low change activity. This leads to a decrease in the checkability of the circuits and, consequently, to the accumulation of hidden faults. When an emergency mode occurs, the activity of the input data of the system increases. The checkability of the circuit also increases. But, on the other hand, it leads to the fact that hidden faults appear. This in turn reduces the fault tolerance of the system. The paper proposes a method of checkability assessment, which analyzes faults in a circuit built on the basis of elementary LUT units. The method identifies circuit faults by faults of memory bits of LUT units. The method analyzes memory bits that are essential to the operation of the critical system in emergency mode. The complete set of memory bits is divided into two subsets: bits that are checkable in normal mode and, bits that are not checkable in this mode. The method extends the checkability of circuits by identifying the situation when the fault is caused by bits from both subsets (checkable and not checkable). Detecting this relationship of bits from different subsets gives the possibility to expand the checkability of the circuit. Experiments have been carried out to confirm the expansion of checkability for the implementation of the iterative array multiplier on FPGA. Keywords 1 Safety-related system, FPGA-based component, LUT-oriented circuit, LUT memory, fault tolerance, hidden faults, fail-safety, augmented checkability 1. Introduction The observed priority development of critical infrastructures in energy, chemical production, transport and other important industries is due to their role in ensuring energy, food and other types of security, which create the basis for the successful evolution of mankind. The natural processes are an increase in the number and capacity of power plants and power grids, toxic and fire hazardous industries, and high-speed transport. These technical facilities belong to the class of high-risk facilities. Operation of such facilities requires ensuring the safety of critical IntelITSIS’2022: 3nd International Workshop on Intelligent Information Technologies and Systems of Information Security, March 23–25, 2022, Khmelnytskyi, Ukraine EMAIL: drozd@ukr.net (O. Drozd); illyabaskov@gmail.com (I. Baskov); anmartynyuk@ukr.net (O. Martynyuk); const-z@te.net.ua (K. Zashcholkin); myroslav.drozd@opu.ua (M. Drozd) ORCID: 0000-0003-2191-6758 (O. Drozd); 0000-0002-3517-6773 (I. Baskov); 0000-0003-1461-2000 (O. Martynyuk); 0000-0003-0427- 9005 (K. Zashcholkin); 0000-0003-0770-6295 (M. Drozd) ©️ 2022 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings (CEUR-WS.org) infrastructure. As well as to increase functional safety of computer systems that control high-risk objects. Such systems are commonly referred to as safety-related systems. Computer systems of this kind are needed to control and monitor high-risk facilities, as well as to prevent accidents [1]. This specialization of computer systems aims to contain risks, which are characterized firstly by the probability of an accident, and secondly by the cost of their consequences [2]. Improvements in critical infrastructures continually increase these risks in the cost of accident consequences. This leads to increasing requirements that are placed on the functional safety of critical systems. The final goal of which is to reduce the probability of accidents. In accordance with the specialization, safety-related systems are endowed with a significant difference, which consists in their design for operation in two modes: normal and emergency [3]. The main threat to functional safety comes from failures, which determine the need to build safety- related systems based on fault-tolerant solutions [4]. However, fault-tolerant structures provide operation under a given amount of failures. Usually this amount is one or two failures. But under multiples of failures, such systems cannot operate properly. Practice shows that often multiple failures are associated with hidden faults. This is a consequence of low checkability in normal mode of operation of the system [5]. Current approaches to computer system design do not take into account the possibility of hidden faults. Low checkability in the conditions of hidden faults leads to multiple failures. FPGA (Field Programmable Gate Array) chips are widely used as an element base for modern computer systems. Chips of this type demonstrate the problem of hidden faults in the architecture based on the use of elementary LUT (Look-Up Table) units [6, 7]. The purpose of this paper is to study and evaluate the checkability of safety-related systems based on FPGA chips. Further, the paper is organized as follows. Section 2 analyzes existing work that confirms the relevance of the problem of checkability for FPGA components that are part of safety-related systems. In Section 3 we present a method for evaluating checkability for an FPGA circuit in which two characteristic modes of operation are possible: normal and emergency. Section 4 describes the experimental evaluation of the proposed method. Here the checkability of the LUT-oriented matrix multiplier circuit is studied. 2. Related works The threat to H-fault-tolerant structures, emanating from sources of K-multiple failures, H < K, is quite real, given that the parameter H, which is formed in the design of a fault-tolerant structure, as a rule, does not exceed two failures and does not increase throughout the entire life cycle. The limitation of the parameter H is usually taken taking into account the significant complication of the circuit design and an equally significant decrease in the probability of occurrence of independent failures with an increase in their multiplicity. However, such a view is sinful of the substitution of concepts. The problem of multiple failures is not due to their occurrence, but to a massive manifestation that impedes the performance of the assigned task. In addition, multiple failures are usually accompanied by a common cause that calls into question their complete independence. The issue of a common cause in the occurrence of failures is investigated in international standards that define the requirements for the functional safety of critical systems. Common cause failures are considered in relation to design errors, system defects in manufacturing, and the like, i.e., from the position of copying erroneous decisions [8]. Copying errors leads to multiple failures in duplicate circuits of fault-tolerant structures [9]. In order to eliminate failures of this kind, the standards require that the design of critical systems be limited to copying schematic solutions. This is achieved through multiversion approaches and the use of several types of diversity [10]. In the described case, failures both arise and simultaneously manifest themselves, which blurs the line between the occurrence and manifestation of failures and creates conditions for ignoring the difference between these processes. Another manifestation of concept substitution is the attribution of common cause failures due to copying errors directly to functional safety issues, although they are primarily characteristic of duplicate circuits used in fault-tolerant structures. From this point of view, hidden faults that can arise and accumulate at different points in time of a prolonged normal mode and manifest massively with the onset of an emergency mode show the problem of multiple failures from a new side, distinguishing between the occurrence and manifestation of failures. In addition, hidden faults pose a problem only for safety-related systems and are completely harmless for computers operating in one operating mode, since they remain hidden throughout this entire mode. Thus, the main dangerous process is not the occurrence of failures, but their manifestation, which is investigated and evaluated by the checkability of the circuit. This fault-indicating property of a circuit turns out to be as important to functional safety as fault tolerance, which fails to handle failures without considering checkability. Testability is derived from testability, which depends completely on the structure of the digital device [11]. In the operating mode, this structural form also acquires a dependence on input data, which can contribute or, conversely, prevent the manifestation of faults. By the way a fault is manifested in the form of an error or a change in energy parameters, checkability can be used, respectively, in a logical or energy-oriented form [12]. Logical checkability, being the main one for digital circuits, regulates the possibilities of on-line testing in detecting errors caused by faults on base of methods and means of logical checking [13]. The development of critical infrastructures and their monitoring by safety-related systems led to the further evolution of checkability, which is associated with the separation of the operating mode into normal and emergency. This separation leads to the separation of functions and parts of the circuit, as well as the input data, which are activated differently in these modes. All this is reflected in the checkability of digital circuits, which also becomes different in normal and emergency mode and, moreover, begins to play a different role in ensuring functional safety. The ability of a circuit to fault manifestation defines its checkability as an important attribute for performing on-line testing functions and opposes the trustworthiness of calculated results, which decreases in the event of malfunctions in the form of errors. In normal mode, checkability plays a positive role by ensuring that the circuit is cleared of faults by methods of on-line testing. With the onset of the emergency mode, checkability becomes a hindrance to functional safety, reducing the trustworthiness of the calculated results with errors caused by manifested faults. Changing modes also affects on-line testing, which changes its purpose. The normal mode can be considered as a test mode, preceding the emergency mode as the main one from the point of view of the focus of critical systems on preventing accidents and reducing accident losses. In this case, on-line testing should inherit the inherent purpose of testing, which is performed during the pauses of the main operations, i.e., to detect faults in digital circuits. However, this purpose is realized not on tests, but on operating inputs with low circuit checkability in normal mode and therefore creates a problem of hidden faults. A long period in evolution of on-line testing associated with the development of totally self- checking circuits took place precisely for this purpose, although its real purpose is to check the trustworthiness of the calculated results [14]. Purpose substitution took place within the framework of exact data processing, which became the basis for the definition and construction of totally self-checking circuits that detect a fault at its first manifestation in the form of an error. Typically, the first error is caused by a transient fault due to its more frequent occurrence than a permanent fault. Transient fault detection is not important from the point of view of circuit performance, but is important in checking the trustworthiness of the result. For exact data, both of the named purposes of on-line testing are indistinguishable, since the detected error is a symptom of both the detection of faults and the calculation of an unreliable result. Indeed, any error in an exact number containing only the most significant bits makes the result unreliable. In the processing of approximate data, the purposes diverge in accordance with the structure of the approximate data, which contains the most significant and least significant bits in the high and low positions, respectively. In these bits, faults occur errors, which are essential and inessential for the trustworthiness of the result. The checking of the trustworthiness in the calculated results requires the detection of essential errors and the ignoring of inessential errors. Safety-related systems receive initial data from sensors, i.e., measurement results, which are approximate data [15]. Therefore, from the beginning of the emergency mode, on-line testing changes the goal pursued in the normal mode to its characteristic checking of the trustworthiness in the result. In normal mode, characterized by stability and duration, the safety-related system can operate at noise levels with little change in the input data received from the sensors. Such conditions lead to low checkability of digital circuits and contribute to the accumulation of hidden faults in a significant amount. The start of the emergency mode is associated by an increase the activity of input data and their diversity. Such a multiple failure collapses the fault tolerance of the digital components and the functional safety of the critical system [5]. However, the described scenario, which is quite typical for modern safety-related systems, does not reveal another aspect underlying it and associated with evolutionary processes. These processes are explained by the resource-based approach, which analyzes the integration of models, methods and means of the computer world into the natural one [16, 17]. In the evolution of these resources, the approach identifies three levels: a) replication; b) diversification; c) self-sufficiency as the goal of development. At the level of replication, integration occurs in the absence of close limiting contact with the natural world, i.e., in resource niches: ecological, technological, market and others. In them, development is carried out by stamping clones, where the survival advantage is provided by an increase in productivity. Filling the niches leads to their closure and dooms the clones to extinction. Survival is only possible through the manifestation of features that allow a level of diversification to be achieved. At this higher level, integration takes place in close contact with the natural world and is realized due to trustworthiness, i.e., adequacy to this world. Close contact is reflected in the processes of structuring resources for the peculiarities of the natural world. The history of the development of computer resources has shown to the greatest extent two such features: parallelism and fuzziness, which, in particular, are demonstrated in the predominant hardware support for parallelization in the approximate data processing. All promising areas of development of modern technologies, including quantum computing, cyber-physical systems, the Internet of things and everything, as well as safety-related systems, are associated with the parallel processing of approximate data. The computer world demonstrates all levels of resource evolution, but the priority is given to replication. Hardware solutions are stamped using matrix structures composed of their homogeneous elements. A distinctive feature of these structures, presented in parallel circuits of adders, shifters, multipliers and dividers, is the processing of data in parallel codes. Software products are stamped by attaching bulky redundant modules with little use of their functionality [18]. This slagging of software is supported by the open performance and memory capacity of modern computer systems. Matrix structures introduce into the development of computer resources the limitations inherent in replication as the lowest level of evolution. The main purpose of matrix parallelism is to parallelize computations over time. However, parallel codes do not receive proper parallelization in data processing. Here and below the matrix architecture is analyzed using a matrix multiplier. This is due to the fact that multiplication is the main operation of approximate data processing. Multiplication is used indirectly in the floating-point number notation itself. This leads to the fact that multiplication is actually used in all mantissa operations. The results of such operations have the same properties as product. Binary n-bit codes are multiplied in one clock cycle on n2 operational elements with a delay formed by the serial connection of 2n – 2 elements. Thus, each of the n2 operational elements is used in a cycle only on its (2n – 2) th part, that is, by 1.6% and 0.8% for n = 32 and n = 64, respectively [17]. The rest of the cycle is spent on parasitic transitions, which form the main part of the dynamic component of power consumption and are supplemented by a significant static component determined by the large size of the matrices. Truncated arithmetic operations reduce the manifestation of the described shortcomings in the processing of approximate data. The development of critical systems shows the main disadvantage of matrix structures associated with the low checkability of FPGA components. Typically, matrix structures use a wide variety of values accepted by parallel binary codes, to a negligible fraction. For example, the input word of the iterative array multiplier is formed from n bits of two operands and takes 22n values, which for n = 64 is 2128. In this case, the operation of the multiplier even on a billion values uses only 298th part of their entire variety. However, in the normal mode of critical systems, diversity can be limited to a few values of input words and result in a correspondingly low checkability of the digital components [17]. Analysis of the growth challenge allows you to determine the ways to solve it based on the improvement of components to the level of critical systems. The most radical solution is to reduce matrix structures and switch to parallelizing computations in sequential codes. However, today such a decision is not possible given the current realities. The dominance of matrix structures over the past decades has led to the creation of a powerful infrastructure formed by computer resources to support the processing of parallel codes using matrix schemes. Modern CAD systems, including FPGA design with LUT-oriented architecture, are also involved in the process of increasing the role of matrix structures. This process is supported not only by a matrix LUT-oriented architecture, but also by iterative array multipliers built into the microcircuit, schemes for accelerated addition of parallel codes, and access to extensive libraries of ready-made solutions with a matrix structure. In these conditions, it is advisable to pull up the components to the level of critical systems by improving the matrix structures to the level of diversification, including the LUT-oriented architecture of FPGA components. This architecture is organized in the form of a matrix of logical elements LE, containing a programmable one-bit register and a LUT unit, built on the basis of SRAM memory and a multiplexer composed of 2:1 switches connected in a pyramid scheme. The LUT unit has Z inputs and 2Z memory bits and is used as a logic function generator from Z variables. Calculations are implemented in FPGA architecture by decomposing them into logical functions. In the process of programming an FPGA project, the description of these functions is entered into the memory of the LUT units in the form of a program code. The unit's LUT memory contains 16 bits for the most frequently used case Z = 4. The memory is accessed at dcba2, which is formed at inputs A, B, C and D using address bits a, b, c and d. 3. The essence of the proposed method In FPGA components, faults can be identified with the distortion of the memory bits of the LUT units, which allows for a unified approach to checkability analysis in relation to various manifestations of faults in LUT-oriented circuits. In a digital circuit based on LUT elementary units, the computational process is configured by means of program code from the LUT nodes memory. The FPGA program code is verified to be correct using a checksum. This check makes all the bits written to the LUT memory checkable during normal FPGA mode. But the checkability of the LUT memory bits does not affect the faults associated with the distortion of these bits. So, reading these bits can be performed by distortion, which is created by a faulty switch that selects the bits when they are read. When assessing the testability of the LUT-oriented circuit, the possibility of constant faults in the switches that read bits of program code from memory is taken into account. These switches are based on a pyramid scheme, which has several levels. In the case of Z = 4, this pyramid contains 4 levels, in which 8, 4, 2 and 1 switches are located from inputs to outputs, respectively. At the first level, the read bit is fetched directly from the unit's LUT memory as a set of eight bits. A fault occurring at any input of one of the switches of this level is identified with a fault of the read LUT memory bit. A similar fault of the next layer is identified with fault of two bits of the memory LUT, which can be selected by switches of this layer. Reading any of these bits will overwrite their values with the switch fault value. Thus, these bits turn out to be associated with one fault, i.e., independently of each other, they indicate the existence of the same fault. Each next level doubles the number of bits associated with the same switch fault. Since the identification of faults occurring in switches with faults in the memory LUT bits does not classify switches as checkable, it becomes necessary to study the checkability of the LUT-oriented circuit in terms of multiplexers. A switch fault can manifest itself as an error only if the erroneous value does not match the bit value read from the memory LUT. In addition, the switch output must be observed at the outputs of the LUT-oriented circuit. Then the switch becomes checkable with respect to this fault. For the second and subsequent layers of the multiplexer circuit, where faults are identified with faults in several bits of the memory LUT, the checkability of switches of these layers increases with each associated bit. In safety-related systems, the checkability of a LUT-oriented scheme receives additional restrictions imposed on the conditions for its evaluation. The priority position of the emergency mode differentiates the memory LUT bits and gives the bits observed in this mode a status important to ensure the functional safety of the critical system. These bits are assigned to the set S. Therefore, the checkability of the LUT-oriented circuit is considered and evaluated in relation to faults, the manifestation of which is identified with faults in the set of S bits. Bits important to functional safety are diversified by dividing them into two sets of SCN and SUN bits, which are respectively checkable and non-checkable in normal mode. Checkability can be extended by associated bits if the set A of these bits includes the sets ACN = A SCN, ACN ≠ and AUN = A SUN, AUN ≠ bits that are important to security and are respectively checkable and non-checkable in normal mode. Until now, checkability has been evaluated taking into account only the bits of the ACN set using the following formula: CO = ВCN / ВS, (1) where BCN and BS are the number of bits in the SCN and S sets, which is calculated taking into account all LUT units of the LUT-oriented circuit. The non-checkable bits AUN associated with a single fault with the checkable bits of the ACN set repeat the behavior of these bits with respect to the uniting fault, and therefore become indirectly also checkable. Indeed, a fault that is the same for the bits of the ACN set and for the bits of the AUN set will be observed in normal mode in the ACN bits as well as in the AUN bits with the start of the emergency mode. Conversely, if the bits of the ACN set indicate no fault, then there will be no such fault in the AUN bits in emergency mode. Thus, the checkability of the circuit is increased in the normal mode at the expense of the bits of the AUN set that are not observed in this mode. The bits of the set AUN can be diversified into sets AU1 and AU2, which are checkable to varying degrees depending on the values received by their bits. If the bits of the set ACN ≠ take both values 0 and 1, then the bits of the set AUN are checkable with respect to both values and 1 and 0 of the uniting stuck-at fault. Indeed, in one of the indicated value 0 or 1, the fault will necessarily manifest itself in the form of an error, i.e., it will become detectable in the normal mode for on-line testing methods. Such sets AUN are further considered as sets AU1. If all the bits of the set ACN ≠ take only one value 0 or 1, then the bits of the set AUN are checkable with respect to only the value that is inverse for the value determined by the uniting stuck- at fault. Indeed, the fault will not show itself if the value determined by it coincides with the values of all bits of the ACN set and becomes detected in the normal mode for the bits of the AUN set, otherwise. Such sets AUN are further considered as sets AU2. Taking into account the bits of the set AUN, which become testable due to the uniting fault and the bits of the set ACN ≠ , increases checkability, which can be estimated by the following formula: CA = CO + (BU1 + BU2 / 2) / ВS, (2) where BU1 and BU2 are the number of bits in the sets AU1 and AU2, which is calculated taking into account all LUT units of the LUT-oriented circuit. Thus, the original checkability CO is supplemented by the amount G = (BU1 + BU2) / ВS, i.e., by its part L = G / CO. The method proposed in this paper is such a sequence of steps. Step 1. Simulate of a LUT-oriented circuit on the normal and emergency input data and determine the S, SCN and SUN sets for the memory of each LUT unit. Step 2. Modeling all the uniting stuck-at faults that can occur at the inputs of the switches, and defining the sets A, ACN and AUN for them in each LUT unit. Step 3. Checking bit values in the ACN sets and forming the AU1 and AU2 sets for each LUT unit. Step 4. Counting the number of bits BCN, BS, BU1 and BU2 in the sets ACN, S, AU1 and AU2, taking into account all LUT units of the circuit. Determination of the original CO and augmented CA checkability according to formulas (1) and (2), as well as indicators G and L of the LUT-oriented scheme checkability extension. 4. Case Study In order to test the proposed method, we developed software that implements this method. This software was developed in the environment Delphi 10 Seattle demo version [19]. The initial data of the developed program include a description of the LUT-oriented circuit with an indication of the number and list of LUT units, their program codes and the structure of the circuit. The program is also guided by data on LUT units of LE elements operating in arithmetic mode. To implement the method, LUT units are ranked in order of closeness to circuit inputs. The input data are formed separately for normal and emergency modes of operation of the system. A threshold T is used for this separation. The input data values are then assigned to the circuit inputs. The developed software evaluates the checkability of the circuit at eight different values of the threshold, which are varied with a given step. The operation of the circuit is simulated by performing computations at each LUT unit in the order of units in an ordered list. Calculations are performed by forming an address at the inputs of the LUT unit and reading a bit from the LUT memory at this address, taking into account the program code stored in it. The read bit is transmitted from the output of the LUT unit to the inputs of the next LUT units, where a similar computational process takes place. In the arithmetic mode of LE elements, the LUT unit uses the lower half of its program code to form a bit in the fast carry chain. The simulation distinguishes between the normal and emergency addressable bits of the LUT memory. To form the sets S, SCN and SUN, the observability of each addressable bit is estimated by propagating its inverse value to the outputs of the circuit. The number of bits is counted in the set S. For each stuck-at fault at the inputs of the switches in each LUT unit, the program generates a set of A associated bits, divided into checkable and non-checkable sets ACN and AUN in normal mode. The number of bits is counted in the ACN set. As a result of checking the values of the bits in the ACN sets, the program generates the sets AU1 and AU2 for each LUT unit and counts the number of bits BU1 and BU2. Next, the program calculates checkability CO and CA and its expansion indices G and L for the LUT-oriented circuit. The main program window is shown in Fig. 1 for the case of application of the checkability assessment method to the FPGA design of the iterative array multiplier of 8-bit binary codes from the LPM_mult CAD Quartus library. FPGA project is implemented in the Intel Cyclone 10 LP FPGA: 10CL025YU256I7G [20]. The implementation was performed using CAD Quartus Prime 20.1 Lite Edition. The resulting LUT- oriented circuit, built using 101 LUT units, has 16 inputs, 16 outputs. 16 LUT units are connected to the outputs of the component. The simulation starts and the program is exited using the "Start" and "Exit" keys. Key "P: 3 - 24" shows the values of the threshold P, which in this case takes 8 values from 3 to 24 and changes in steps of 3. In normal mode, the factors take on values less than the threshold. In emergency mode, the circuit processes the rest of the input data. The next key "LUT # 6" allows to view the memory of the LUT unit 6 for all values of the threshold P. Pressing this key increases the number of the considered LUT unit with a step of 1 in a circle. Inputs A, B, C and D used in the considered LUT unit 6 are shown on the right: "Used inputs: A B C D". The memory of the LUT unit is shown as a square matrix of bits, the numbers of which are made up of the numbers of rows and columns: 002, 012, 102, 112. The rows and columns of the matrix are indicated by specifying two pairs of inputs D, C and B, A, on which the dcba2 address of selected bit is formed. Bits of SCN and SUN, which are checkable and non-checkable in normal mode, are colored blue and yellow, respectively. As the threshold P increases, the amount and variety of input data in the normal mode increases, resulting in non-checkable bits moving from the set of SUN to the set of SCN. The original bit ratio 14 : 2 in these sets changes to a ratio 12 : 4. In the first level of switches, their faults are identified with faults in individual bits of the LUT memory. Faults of the second-level switches are identified with pairs of associated bits located at adjacent addresses 00002 and 00012, 00102 and 00112, 01002 and 01012, etc. Level 3 switches bind the bits located in the rows of the LUT memory. Thus, each next level connects pairs of the A sets of the previous level. At the bottom of the panel, simulation results are shown for various thresholds P. Lines BCN, BUN, BU1 and BU2 show the change in the number of checkable and non-checkable bits in the ACN, AUN sets, as well as checkable bits in the AU1 and AU2 sets, complementing the original checkability CO. An increase in the threshold P leads to an increase in the number of checkable bits of the ACN set from 253 to 850 and a decrease in the number of non-checkable bits from 992 to 475. As a result of this bit reallocation, the CO checkability increases from 20.3% to 64.1%. Bits of the sets AU1 and AU2 allow to get augmented CA checkability, which increases from 37.1% to 79.8%. The indicators of its increase relative to the initial CO checkability decrease in absolute terms from 16.8% to 15.7% and in relative terms from 82.7% to 24.4%. Thus, the addition of checkability increases with a decrease in the activity of the input data, when checkability is most in demand, and reaches 82.7% with the lowest threshold P = 3. 5. Conclusions Checkability plays just as important a role in ensuring functional safety as the fault tolerance of a circuit, ensuring its transformation into fail safety. Safety-related systems can operate in two modes: normal and emergency. In each of these modes, the system circuits show significantly different levels of checkability. In normal mode there is a low activity of changing input data. This results in low checkability over a long period of time. This can result in latent faults that do not show up in normal mode. In emergency mode, the input change activity increases greatly. As a result, the checkability of the circuits increases and hidden faults become apparent. Thus, different levels of checkability in each mode cause multiple failures. This threatens the fault tolerance of critical system components. LUT-oriented circuits of FPGA components developed for safety-related systems allow their faults to be identified with faults in bits of the LUT memory. This approach does not allow extending the checkability of LUT memory to all faults of LUT-oriented circuits, but creates a unified basis for analyzing their influence on the checkability of the circuit. The memory LUT bits, which determine the results computed in emergency mode, are referred to as bits important to functional safety. These bits are differentiated by dividing them into two sets: bits that are checkable and non-checkable in normal mode. The ratio of the number of checkable bits to all bits important to functional safety determines the checkability of LUT-oriented circuits. The proposed method complements this checkability assessment by analyzing the memory LUT bits associated with a single fault. Due to a common fault, the non-checkable bits can be observed in normal mode with the associated checkable bits and thus also become checkable. Experiments have shown an 82.7% increase in the checkability of LUT-oriented 8-bit iterative array multiplier circuits under the most critical conditions of the lowest activity of the normal mode input data. Figure 1: Main panel of the program implementing proposed method 6. References [1] V. Kumar, L.K. Singh, A.K. Tripathi, P. Singh, Safety analysis of safety critical systems using state space models, IEEE Software 34 (2017) 38–47. [2] IAEA Safety Standards, Specific Safety Guide No.SSG-39, Design of Instrumentation and Control Systems for Nuclear Power Plants, No. SSG-39 Specific Safety Guide, 2016. [3] Siamak Alizadeh, Srinivas Sriramula, Impact of common cause failure on reliability performance of redundant safety related systems subject to process demand, Reliability Engineering & System Safety 172 (2018) 129–150. [4] J. Kim, E. S. Kim, J. Yoo, Y. J., J. G. Lee Choi, An Integrated Software Testing Framework for FPGA-Based Controllers in Nuclear Power Plants, Nuclear Engineering and Technology 48(2) (2016) 470–481. [5] O. Drozd, V. Romankevich, M. Kuznietsov, M. Drozd, O. Martynyuk, Using natural version redundancy of FPGA projects in area of critical applications, in: Proceedings of the 11th IEEE International Conference on Dependable Systems, Services and Technologies, Kyiv, Ukraine, 2020, pp. 58–63. DOI: 10.1109/DESSERT50317.2020.9125050. [6] Hafizul Asad, Ilir Gashi, Diversity in Open Source Intrusion Detection Systems, Computer Safety, Reliability, and Security, Lecture Notes in Computer Science 11093 (2018) 267–281. [7] G. Farkas, D. Schweitzer, Z. Sarkany, M. Rencz, On the Reproducibility of Thermal Measurements and of Related Thermal Metrics in Static and Transient Tests of Power Devices, Energies 13 (2020) 557. [8] Henrik Eriksson, Andreas Soderberg, Andreas Soderberg, Remote Sensing and Functional Safety, in: Proceedings of the 2th ITSITS European Congress, Strasbourg, France, 2017. [9] H. Waidyasooriya, M. Hariyama, K. Uchiyama, Design of FPGA-Based Computing Systems with OpenCL. Springer, Cham, Switzerland, 2018. DOI: 10.1007/978-3-319-68161-0. [10] N. Arya, A. P. Singh, Fault Tolerant System for Embedded System, International Journal of Engineering and Technology 99 (3S) (2017) 93–97. [11] T. Hovorushchenko, Information Technology for Assurance of Veracity of Quality Information in the Software Requirements Specification. Advances in Intelligent Systems and Computing 689 (2018) 166–185. [12] T. Hovorushchenko, A. Herts, Ye. Hnatchuk, Concept of Intelligent Decision Support System in the Legal Regulation of the Surrogate Motherhood, CEUR-WS 2488 (2019) 57–68. [13] Lokesh Kamble, Prachi Palsodkar, Prasanna Palsodkar, Research trends in development of floating-point computer arithmetic, in: Proceedings of the International Conference on Communication and Signal Processing (ICCSP), 2017. [14] Ronak Shah, Glitch Analysis and Reduction in Combinational Circuits, Computer Science & Information Technology (2016) 33–40. [15] L. Chen, J. Han, W. Liu, and F. Lombardi, On the Design of Approximate Restoring Dividers for Error-Tolerant Applications, IEEE Transactions on Computers 65(8) (2016). [16] J. de Fine Licht, M. Blott, T. Hoefler, Designing Scalable FPGA Architectures Using High-Level Synthesis, in: Proceedings of 23nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Vienna, Austria, 2018. [17] H. Amano, Principles and Structures of FPGAs, Springer, USA, New-York, 2018. [18] M. Ebrahimi, R. Sadeghi, Z. Navabi, LUT Input Reordering to Reduce Aging Impact on FPGA LUTs, IEEE Transactions on Computers 69(10) (2020) 1500–1506. [19] Delphi 10 Seattle: Embarcadero, 2022. URL: https://www.embarcadero.com/docs/datasheet.pdf. [20] Intel Cyclone 10 LP Device, 2022. URL: https://www.intel.com/content/dam/support/us/en/ programmable/kdb/pdfs/literature/hb/cyclone-10/c10lp-51001.pdf.