Method for generating code for an electronic component with programmable logic circuits, component and system for implementing the method
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- ELECTRICITE DE FRANCE
- Filing Date
- 2024-08-01
- Publication Date
- 2026-06-10
AI Technical Summary
Existing methods for implementing enthalpy calculations on electronic components with programmable logical circuits, such as those in Small Modular Reactors (SMRs), face challenges in miniaturization, modularity, and simplification, particularly in generating configuration codes suitable for FPGA-type components, which are not effectively addressed by current formulations like IAPWS-IF97.
A process is developed to generate configuration codes for programmable logical circuits that determine enthalpy values based on temperature and pressure, using specific functions and operator blocks in a material description language, allowing for the synthesis of a programmable logical circuit configured to calculate enthalpy values for a chemical element like water, by defining restricted application domains and interpolating enthalpy calculation formulas within these domains.
This process enables the automated generation of configuration codes for electronic components with programmable logical circuits, facilitating the production of efficient electronic components capable of precise enthalpy calculations within defined temperature-pressure domains, improving upon the limitations of existing formulations by simplifying the architecture and enhancing calculation performance.
Smart Images

Figure EP2024071926_06022025_PF_FP_ABST
Abstract
Description
French Description Description Title: Method for generating code for electronic component with programmable logic circuits, component and system for implementing the method Technical field
[0001] The present invention relates to a method for generating hardware configuration description code intended to be loaded onto an electronic component with programmable logic circuits configured for implementing an enthalpy calculation of a heat transfer chemical element, and a computer system for implementing this method. It applies in particular to electronic components with programmable logic circuits of the field programmable gate array (FPGA) type configured for implementing an enthalpy calculation of a heat transfer chemical element. Prior art
[0002] SMR (Small Modular Reactor) type installations present specific technical and economic constraints for their development, resulting in objectives of miniaturization, modularity and simplification, which are reflected in all aspects and at all levels of granularity of the design.
[0003] Certain functionalities, for example digital data processing, are thus implemented on electronic cards incorporating electronic components with programmable logic circuits, for example FPGA type. For example, certain safety functions developed for SMR type installations lead to the design of electronic components with programmable logic circuits configured for the implementation of an enthalpy calculation of a heat transfer chemical element, such as water.
[0004] The design of such a component includes the generation of hardware configuration description code intended to be loaded onto the component. There is thus a need for a method of generating code for an electronic component with programmable logic circuits meeting the specific constraints of implementing an enthalpy calculation of a heat-transfer chemical element. Abstract French Description
[0005] This disclosure improves the situation.
[0006] According to a first aspect, there is provided a computer-implemented method of generating hardware configuration description code for loading onto an electronic component with programmable logic circuits configured for implementing an enthalpy calculation of a heat transfer chemical element. The proposed method comprises: Determining a first function ℎ ^(^) of enthalpy as a function of temperature based on a formulation ℎ(^, ^) of the enthalpy calculation of the heat transfer chemical element in the pressure-temperature (PT) plane expressed for a pressure value of a function ^ ^^^ (^), in which the function ^ ^^^ (^) expresses a pressure value as a function of a temperature value ^ in a temperature interval ^ ^ = ^^ ^^^ , ^ ^^^ ^ ; Determine a second function ℎ ^ (^) of enthalpy as a function of temperature based on the formulation expressed for a pressure value equal to ^ ^^^ ( ^ ) + ^, in which ^^^^ is a pressure amplitude parameter, and ^ is a parameter with a value between 0 and ^^^^ (so that the value ^ ^^^ ( ^ ) + ^ is between ^ ^^^ ( ^ ) and ^ ^^^ ( ^ ) + ^^^^) ; Determine a third function ℎ^ (^) of enthalpy as a function of temperature based on the formulation expressed for a pressure value equal to ^ ^^^ ( ^ ) + ^^^^ ; Generate a first code in hardware description language of a first operator block ^^^^_^ ^ configured for implementing the calculation of an approximate value of a first intermediate function ^ ^ (^) depending on the temperature defined by ^ ^ (^) = + '(^) + )(^) "^#$.& & ' ("^#$.& "^#$ ' ("^#$.& ; Generate a second code in hardware description language of a second operator block ^^^^_^ ^ configured for implementing the calculation of an approximate value of a second intermediate function ^ ^ (^) depending on the ture defined by ^ ! (^).(^.+ ,-. (^) / & / "^#$) (^).(^.+ ,- (^) / "^#$) tempera ^ ( ^ ) = − ' . "^#$.& − & '("^#$.& − )(^).(^.+ ,-. (^) / &) "^#$ ' ("^#$.& ; Generate a third code in hardware description language of a third operator block ^^^^_^ ^ configured for implementing the calculation of an approximate value of a third intermediate function ^ ^ (^) depending on the temperature defined by ^ ! ( ^ ) . ( +,-. ( ^ ) / & ) .(+,- ( ^ ) / "^#$) ^ (^) = . "^#$.& "^#$ ' ("^#$.& ; and generate, based on the first, second and third codes, a target code usable for synthesizing a programmable logic circuit configured for French Description determine an enthalpy value ℎ 5 & (^, ^) based on input data of temperature and pressure of the heating element.
[0007] The proposed method advantageously allows the computer-automated generation of a hardware configuration description code intended to be loaded onto an electronic component with programmable logic circuits configured for the implementation of an enthalpy calculation of a heat transfer chemical element, which advantageously leads to the production of an electronic component with programmable logic circuits on the basis of the generated code.
[0008] The features set forth in the following paragraphs may optionally be implemented. They may be implemented independently of one another or in combination with one another. In one or more embodiments, the proposed method may further comprise: Determining a domain of use of the formulation ℎ(^, ^) in the pressure-temperature (PT) plane, delimited by a temperature interval ^ ^ = ^ ^ ^^^ , ^ ^^^ ^ and boundaries determined by two functions ^ ^^^ (^) (for the lower border) and ^ ^^^ (^) + ^^^^ (for the upper border) set to ^ ^, where ^^^^ corresponds to an amplitude parameter of the domain considered. We can thus advantageously determine a domain of use of the formulation ℎ(^, ^) of the enthalpy calculation of the heat transfer chemical element in the pressure-temperature (PT) plane, the resulting domain being delimited by the 4 boundaries 6^ = ^ ^^^ , ^ = ^ ^^^ , ^ = ^ ^^^ (^), ^ = ^ ^^^ (^) + ^^^^7, in order to benefit from properties of the enthalpy surface expressed over the determined domain which are particularly well suited for implementing the method proposed according to one or more embodiments. Alternatively, in certain embodiments, it is also possible to use a predefined domain of use, for example when it is known that the enthalpy surface has the desired properties over the domain considered for the target application.
[0009] In one or more embodiments, the proposed method may further comprise: configuring the electronic component with programmable logic circuits using the target code. The proposed method thus advantageously makes it possible to produce an electronic component with programmable logic circuits by configuring this component.
[0010] In one or more embodiments, the proposed method may further comprise: Determining a value of the parameter ^ . For example, in some embodiments Description realization, the value of the parameter ^ can be determined by minimizing an approximation error 8 ^##9:^ of a value of the function ℎ(^, ^) by the value ℎ 5 & (^, ^) on the domain of use of the pressure-temperature (PT) plane. For example, the approximation error 8^##9:^ can be based on: 8 ;; ^ ;; # ; # ;; 9 ;: ; ^ ; = m #a ,^x 0?ℎ 5 & (^, ^) − ℎ ( ^, ^ ) ?4. In one or more embodiments, at least one of the value of the parameter ^ and the approximation error 8 ^##9:^ can be determined by Newton's method.
[0011] In one or more embodiments, the pressure value ^ ^^^ (^) can be based on a value of the saturation pressure between the liquid and gas phases ^ @^A (^) as a function of temperature ^.
[0012] In one or more embodiments, the programmable electronic component may be of the field programmable gate array, FPGA, type.
[0013] In one or more embodiments, the heat transfer chemical element is water.
[0014] In one or more embodiments, generating the target code may include: Generating hardware description language code incorporating a plurality of operator blocks including the first, second, and third operator blocks; and: Synthesizing the target code based on the code.
[0015] According to another aspect, a programmable electronic circuit is provided, which includes programmable logic circuits configured using target code generated according to a method according to one of the embodiments provided in the present application.
[0016] Another aspect relates to an electronic component with programmable logic circuits comprising programmable logic circuits configured using target code generated according to a method according to one of the embodiments provided in the present application.
[0017] Another aspect relates to a computer program, loadable into a memory associated with a processor, and comprising portions of code for implementing a method according to one of the embodiments proposed in the present application during the execution of said program by the processor. French Description
[0018] Another aspect relates to a data set representing, for example by compression or encoding, a computer program as proposed in the present application.
[0019] Another aspect relates to a non-transitory storage medium of a computer-executable program, comprising a data set representing one or more programs, said one or more programs comprising instructions for, upon execution of said one or more programs by a computer comprising a processor operatively coupled to a memory and to a data communication input / output interface, causing the computer to manage a device according to a method according to one of the embodiments proposed in the present application.
[0020] Another aspect relates to a non-transitory storage medium for a computer-executable program, comprising a data set representing one or more programs, said one or more programs comprising instructions for, upon execution of said one or more programs by a computer comprising a processing unit operatively coupled to memory means and to an input / output interface module, causing the computer to implement a method according to one of the embodiments proposed in the present application. Brief description of the drawings
[0021] Other features and advantages of the present disclosure will appear in the following description of non-limiting exemplary embodiments, with reference to the appended drawings, in which: Fig. 1
[0022] [Fig. 1] is a diagram illustrating a set of values of the (mass) enthalpy of water (expressed in kJ / kg) as a function of pressure (expressed in MPa) and temperature (expressed in Kelvin); Fig. 2
[0023] [Fig. 2] is a diagram illustrating a range of values in a set of values of the (mass) enthalpy of water (expressed in kJ / kg) as a function of pressure (expressed in MPa) and temperature (expressed in Kelvin); French Description Fig. 3
[0024] [Fig. 3] is a diagram illustrating a method for determining the enthalpy of water according to one or more embodiments; Fig. 4
[0025] [Fig. 4] is a diagram illustrating a method according to one or more embodiments; Fig. 5a
[0026] [Fig. 5a] illustrates an example of a programmable logic circuit hardware architecture according to one or more embodiments; Fig. 5b
[0027] [Fig. 5b] illustrates an example of a programmable logic circuit hardware architecture according to one or more embodiments; Fig. 6
[0028] [Fig. 6] is a diagram illustrating an exemplary equipment architecture for implementing the proposed method according to one or more embodiments. Description of the embodiments
[0029] In the following detailed description of embodiments of the invention, numerous specific details are presented to provide a more complete understanding. However, those skilled in the art may realize that embodiments can be practiced without these specific details. In other instances, well-known features are not described in detail to avoid unnecessarily complicating this description.
[0030] The present application refers to functions, engines, units, modules, platforms, and diagram illustrations of the methods and devices according to one or more embodiments. Each of the described functions, engines, modules, platforms, units and diagrams can be implemented in hardware, software (including in the form of embedded software ("firmware"), or "middleware"), microcode, or any combination thereof. In the case of a software implementation, the functions, engines, units, modules and / or diagram illustrations can be implemented in Description work by computer program instructions or code, which can be stored or transmitted on a computer-readable medium, including a non-transitory medium, or a medium loaded into the memory of a generic, specific computer, or any other programmable data processing apparatus or device to produce a machine, such that the computer program instructions or code executed on the computer or the programmable data processing apparatus or device, constitute means of implementing these functions.
[0031] Embodiments of a computer-readable medium include, but are not limited to, computer storage media and communication media, including any medium that facilitates the transfer of a computer program from one location to another. "Computer storage medium(s)" means any physical medium that can be accessed by a computer.Examples of computer storage media include, but are not limited to, flash memory disks or components or any other flash memory devices (e.g., USB keys, memory keys, memory sticks, key disks), CD-ROMs or other optical data storage devices, DVDs, magnetic disk data storage devices or other magnetic data storage devices, data memory components, RAM, ROM, EEPROM, memory cards ("smart cards"), SSD ("Solid State Drive") type memories, and any other form of media usable for carrying or storing or memorizing data or data structures that can be read by a computer processor.
[0032] In addition, various forms of computer-readable media may transmit or carry instructions to a computer, such as a router, gateway, server, or any data transmission equipment, whether wired (via coaxial cable, fiber optics, telephone wires, DSL cable, or Ethernet cable), wireless (via infrared, radio, cellular, microwave), or virtualized transmission equipment (virtual router, virtual gateway, virtual tunnel endpoint, virtual firewall). The instructions may, depending on the embodiments, include code of any computer programming language or computer program element, such as, without limitation, assembly languages, C, C++, Visual Basic, HyperText Markup Language (HTML), Extensible Markup Language (XML), HyperText Transfer Protocol (HTTP), French Description Hypertext Preprocessor (PHP), SQL, MySQL, Java, JavaScript, JavaScript Object Notation (JSON), Python, and bash scripting.
[0033] Furthermore, the terms "notably", "for example", "example", "typically" are used in the present description to designate examples or illustrations of non-limiting embodiments, which do not necessarily correspond to preferred or advantageous embodiments compared to other aspects or possible embodiments.
[0034] The terms “operably coupled,” “coupled,” “mounted,” “connected,” and their various variations and forms as used herein refer to couplings, connections, and arrangements, which may be direct or indirect, and include, but are not limited to, connections between electronic equipment or between portions of such equipment that enable operations and functions as described in this application. In addition, the terms “connected” and “coupled” are not limited to physical or mechanical connections or couplings. For example, an operably coupled may include one or more wired connections and / or one or more wireless connections between two or more equipment that enable simplex and / or duplex communication links between the equipment or portions of the equipment.In another example, an operational coupling or connection may include a wired and / or wireless coupling to enable data communications between a server of the proposed system and other equipment of the system.
[0035] The methods and systems are particularly well suited for hardware accelerator devices for calculating the enthalpy of a heat-transfer chemical element, or for controlling devices for nuclear installations. They can in particular, but in a non-limiting manner, advantageously be used for the design of devices carrying out digital processing of safety functions for SMR (Small Modular Reactor) type installations.
[0036] Depending on the chosen embodiment, different types or architectures of electronic component with programmable logic circuits may be considered for implementing the proposed methods. Thus, in one or more embodiments, the proposed method may be implemented to generate a hardware configuration description code intended for an FPGA type component. Those skilled in the art French Description will however understand that the proposed method is not limited to implementations for FPGA type components, and that it can be advantageously used for the configuration of any programmable logic circuit (in English "Programmable Logic Device", or "PLD") for the implementation of an enthalpy calculation of a heat transfer chemical element.
[0037] In the following, the non-limiting example of water as a heat transfer chemical element is considered. However, those skilled in the art will be able to realize that any heat transfer chemical element may be used for implementing embodiments of the proposed method instead of or in addition to water, the enthalpy calculation of which is described only by way of example.
[0038] A reference formulation for the calculation of the enthalpy of water (as well as other thermodynamic properties of water and steam) was proposed in 1967 by the international association IAPWS (from the English "The International Association for the Properties of Water and Steam") over a wide domain of definition in the pressure-temperature (PT) plane.
[0039] The reference formulation for the calculation of the enthalpy of water proposed in 1967 by the IAPWS was replaced in 1997 by a new reference formulation established over a wide domain of definition in the pressure-temperature (PT) plane subdivided into 5 regions, some of which are divided into subregions. This formulation is described in the document "Revised Release on the IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam" published by the IAPWS and available at the URL: http: / / www.iapws.org / relguide / IF97-Rev.pdf (hereinafter the "IAPWS-IF97 document"), for version R7-97 published in 2012.
[0040] In the following, the non-limiting example of the general enthalpy formulations provided in the IAPWS-IF97 document is considered. However, those skilled in the art will be able to realize that one or more general enthalpy formulations other than those defined in the IAPWS-IF97 document, such as for example a formulation provided in the IAPWS R6-95 document published in September 2018 and entitled “Revised Release on the IAPWS Formulation 1995 for the Thermodynamic Properties of Ordinary Water Substance for General and Scientific Use” (available at the URL: http: / / iapws.org / relguide / IAPWS95-2018.pdf) could be used for the implementation Description of work of embodiments of the proposed method in place of or in addition to a formulation provided in this document.
[0041] The formulation of the IAPWS-IF97 document was proposed by seeking a good compromise between precision and computational performance on an embedded software target, for industrial uses, so that it has given rise to different software implementations. However, while this formulation seems well suited for a software implementation for industrial uses, it is unsuitable for an efficient implementation on a programmable logic circuit, for example of the FPGA (Field Programmable Gate Array) type.
[0042] Five different regions of the pressure-temperature (PT) plane are defined in section 2 of the IAPWS-IF97 document, and enthalpy calculation equations are proposed for regions 1, 2, 3 and 5 in sections 5, 6, 7 and 9 of the document (region 4 is defined by the saturation curve and section 8, which concerns it, describes the formulations of saturation pressure as a function of temperature and saturation temperature as a function of pressure). In order to propose a formulation more suitable for implementation on a programmable logic circuit, without losing too much calculation accuracy, the present disclosure proposes to consider application domains of the pressure-temperature (PT) plane more restricted than these 5 regions, adapted to a targeted application case, which makes it possible to advantageously simplify the interpolation of the enthalpy calculation formula used.
[0043] It is thus proposed, in one or more embodiments, to consider a domain of definition (also referred to in the present disclosure as "domain of application") determined according to the intended application (for example in a custom design logic, adapted to programmable logic circuits, for example of the FPGA type). For example, the domain of application determined for the envisaged use case may be a subset of region 1 defined by the document IAPWS-IF97 (or any other region or union of regions defined by this document), possibly much more restricted than region 1 when the use case lends itself to it, which advantageously makes it possible to envisage an implementation on a programmable logic circuit while respecting predefined constraints of enthalpy calculation precision.
[0044] Figure 1 shows a surface 1 corresponding to the values of the (mass) enthalpy of water (expressed in kJ / kg) as a function of the pressure (expressed in MPa) and Description the temperature (expressed in K) calculated according to the formulation of the document IAPWS-IF97 for regions 1 and 3 defined in this document (one can refer respectively to pages 6 to 9 and 29 to 32 of this document for the details of this formulation) on an example of pressure-temperature region delimited on one edge by the saturation curve between the liquid and gas phases of water. Nevertheless, the person skilled in the art will realize that one or more other formulations of the enthalpy corresponding to one or more other regions defined in the document IAPWS-IF97 could be used for the implementation of embodiments of the proposed method instead of or in addition to the formulation corresponding to region 1, the use of which is described only by way of example.
[0045] In the example illustrated in the figure, the pressure-temperature region is delimited for the pressure values by the liquid / vapor saturation curve 2a and by this same curve shifted by ^^^^ MPa (on the pressure axis) 2b. The value of ^^^^ in the example illustrated by the figure was chosen to be equal to 5. Advantageously, many industrial applications are concerned by this type of region (delimited by the liquid / vapor saturation curve and by this same pressure-shifted curve), in that it is delimited by the saturation curve between the liquid and gas phases, due to the fact that, for example, many energy-related applications take advantage of the particular properties of the phase change (principle of heat pumps) of a heat-transfer chemical element, such as water.
[0046] It can be observed in Fig. 1, on the one hand, that the enthalpy function ℎ(^, ^) seems rather regular over the region considered (apart from in the vicinity of the critical point 3 where the function behaves in a singular manner), and on the other hand, that it varies more as a function of the temperature T than of the pressure P over this region.
[0047] Depending on the implementation method (and in particular the use case envisaged), we can determine a domain (in the pressure-temperature plane) of use of the chosen enthalpy formulation.
[0048] In one or more embodiments, this domain may be characterized by two temperature values ^ ^^^ and ^ ^^^ , values of a function calculating a minimum pressure value ^ ^^^ (^) for a temperature value ^ between ^ ^^^ and ^ ^^^ and one French Description pressure amplitude ^^^^. For example, the domain may be included in a region of the pressure temperature plane, such as the region illustrated in Figure 1.
[0049] For example, in embodiments in which the domain of use of the formulation of the enthalpy function is included in a region of the pressure-temperature plane, such as for example the region illustrated by FIG. 1, the domain of pressure and temperature values used to evaluate the enthalpy function may be characterized by two temperature values ^ ^^^ and ^ ^^^ , values of a function calculating a minimum pressure value for a given temperature value ^ ^^^ ( ^ ) based on the saturation pressure function between the liquid and gas phases ^ @^A (^) as a function of temperature ^, and a pressure amplitude ^^^^.
[0050] For example, in embodiments in which the domain of use of the formulation of the enthalpy function is included in a region of the pressure-temperature plane, such as for example the region illustrated by FIG. 1, the domain of pressure and temperature values used to evaluate the enthalpy function may be characterized by two temperature values ^ ^^^ and ^ ^^^ , values of the saturation pressure function between the liquid and gas phases ^ @^A (^) as a function of temperature ^, and a pressure amplitude ^^^^.
[0051] Figure 2 shows an example of an application domain 4a included in the region corresponding to surface 1 of Figure 1. Figure 2 illustrates the boundaries 5a of an application domain characterized by the values: ^ ^^^ = 550 D , ^ ^^^ = 620 D , the function pressure ^^^^ = 5 G^H. Once the specific definition domain of the intended application has been determined, it is possible to determine an approximation of the enthalpy calculation formula corresponding to this definition domain.
[0052] In one or more embodiments, the approximation of the enthalpy calculation formula over the chosen definition domain can advantageously be obtained by interpolation, for example two-dimensional to take into account variations in temperature and pressure. For example, a two-valued polynomial interpolation (according to a first variable, then a second, in the case of the enthalpy calculation the temperature and the pressure) can advantageously be envisaged in one or more embodiments. French Description
[0053] In one or more embodiments, the implementation of this bi-valued polynomial interpolation may comprise the following operations: squaring the definition domain to be covered (in the case of the enthalpy calculation a temperature-pressure domain), performing a first polynomial interpolation in one direction (by fixing the other), i.e. according to a first of the two variables by fixing the second variable, then performing a second interpolation in the other direction, i.e. according to the second variable by fixing the first variable.
[0054] Preferably, in order to keep a relatively simple formulation, the discretization and the two interpolations must be of low order, for example chosen less than or equal to two. Obtaining a formulation that remains fairly simple can advantageously be used when designing the architecture of the target electronic component, in order to avoid excessive complexity of this architecture, which could deteriorate the digital processing performance of the component.
[0055] Due to the regularity properties of the enthalpy function ℎ(^, ^) , a two-dimensional interpolation can be advantageously carried out, for example following the skeleton illustrated in Figure 3 which shows a view of the curve of Fig. 1 on the temperature-pressure domain of Figure 2, i.e. characterized by the two temperature values ^ ^^^ and ^ ^^^ , the values of the function ^ ^^^(^) for temperature values ^ between ^ ^^^ and ^ ^^^ , and the pressure amplitude ^^^^ (for the following examples: ^ ^^^ = 550 D, ^ ^^^ = 620 D, ^ ^^^ (^) = ^ @^A (^) and ^^^^ = 5 G^H).
[0056] In one or more embodiments, three functions can be defined from the chosen enthalpy calculation reference formula ℎ(^, ^) (for example that of the IAPWS-IF97 document for region 1), for three predefined pressure values: ^ ^^^ (^), ^ ^^^ (^) + ^ and ^ ^^^ (^) + ^^^^.
[0057] For example, two functions and ℎ ^ (^) can be defined at the limits of the pressure domain considered, for pressure values ^ ^^^ (^) and ^ ^^^ (^) + ^^^^ of the domain. The values of these two functions can, for example, be calculated by interpolation of the function ℎ(^, ^) for ^ = ^ ^^^ (^) and ^ = ^^^^ (^) + ^^^^ , respectively. French Description
[0058] In one or more embodiments, the (enthalpy calculation as a function of temperature) functions ℎ ^ ( ^ ) and ℎ ^ ( ^ ) can be defined using the enthalpy formulation ℎ(^, ^), for example based on the functions ℎ ( ^ ^^^ ( ^ ) , ^ ) and ℎ ( ^ ^^^ ( ^ ) + ^^^^, ^ ) , respectively.
[0059] For example, in one or more embodiments, the following (enthalpy versus temperature) functions may be considered: ℎ ^ ( ^ ) = ℎ ( ^ ^^^ ( ^ ) , ^ ) and ℎ ^ ( ^ ) = ℎ ( ^ ^^^ ( ^ ) + ^^^^, ^ ) .
[0060] In embodiments wherein the pressure values ^ ^^^ (^) are determined on the basis of saturation pressure values between the liquid and gas phases of water (calculated for temperature values ^ between ^ ^^^ and ^ ^^^ ), for example equal to saturation pressure values ^ @^A (^), we can consider the following functions (for calculating enthalpy as a function of temperature): ℎ ^ ( ^ ) = ℎ ( ^ @^A (^), ^ ) and ℎ ^ ( ^ ) = ℎ ( ^ @^A (^) + ^^^^, ^ ) .
[0061] Depending on the embodiment, the value of the pressure amplitude of the pressure-temperature domain used can be chosen to be suitable for the intended application, such as for example equal to 5 MPa, as illustrated in Fig. 2. We can thus, for example, consider the following functions (for calculating enthalpy as a function of temperature): ℎ ^ ( ^ ) = ℎ ( ^ @^A (^), ^ ) and ℎ ^ ( ^ ) = ℎ ( ^ @^A ( ^ ) + 5, ^ ) .
[0062] In one or more embodiments, a third enthalpy calculation function as a function of temperature ℎ ^ ( ^ ) can be defined for a pressure value ^ ^^^ (^) + ^ between the values ^ ^^^ (^) and ^ ^^^(^) + ^^^^ (therefore included in the field of use considered). In one or more embodiments, the function (of calculation of enthalpy as a function of temperature) ℎ ^ (^) can be defined using the enthalpy formulation ℎ(^, ^) , for example based on the function ℎ ( ^ ^^^ ( ^ ) + ^, ^ ) . The values of this function can, for example, be calculated by interpolation of the function ℎ(^, ^) for ^ = ^ ^^^ ( ^ ) + ^.
[0063] For example, in one or more embodiments, the third enthalpy calculation function as a function of temperature ℎ ^ ( ^ ) can be defined as follows: ℎ ^ ( ^ ) = ℎ ( ^ ^^^ ( ^ ) + ^, ^ ) . French Description
[0064] In embodiments wherein the pressure values ^ ^^^ (^) are determined on the basis of saturation pressure values between the liquid and gas phases of water (calculated for temperature values ^ between ^ ^^^ and ^ ^^^ ), for example equal to saturation pressure values ^ @^A (^) , we can consider the following function (of enthalpy calculation as a function of temperature): ℎ ^ ( ^ ) = ℎ(^ @^A (^) + ^, ^).
[0065] Thus, in embodiments in which the pressure values ^ ^^^ (^) are determined on the basis of saturation pressure values between the liquid and gas phases of water (calculated for temperature values ^ between ^ ^^^ and ^ ^^^ ), for example equal to saturation pressure values ^ @^A(^), we can consider the following three functions (for calculating enthalpy as a function of temperature): ℎ ^ (^) = ℎ(^ @^A (^), ^), ℎ ^ (^) = ℎ(^ @^A (^) + ^, ^) and ℎ ^ (^) = ℎ(^ @^A (^) + ^^^^, ^).
[0066] According to the embodiment, the values can be calculated using any general formulation suitable for the calculation, such as, for example, the formulations of ℎ(^, ^) and ^ @^A (^), provided by the IAPWS-IF97 document for regions 1 and 4.
[0067] In one or more embodiments, it is thus possible to determine, on the basis of the enthalpy calculation functions as a function of temperature ℎ ^ ( ^ ) , ℎ ^ ( ^ ) and ℎ ^ ( ^ ) defined, the position of a point on each of these curves corresponding respectively to the values ℎ ^ (^ K ), ℎ ^ (^K ) and ℎ ^ (^ K ) for a temperature value ^ K given.
[0068] In one or more embodiments, it may be determined, based on the values ℎ ^ (^ K ), ℎ ^ (^ K ) and ℎ ^ (^ K ), the position of a point ℎ ^L (^ K ) on a curve passing through the three points ℎ ^ ( ^ K ) , ℎ ^ ( ^ K ) and ℎ ^ ( ^ K ) .
[0069] Depending on the embodiment, the determination of the value ℎ ^L (^ K ) may include determining, for example using any suitable interpolation method, a set of approximate values corresponding to an approximation curve of the curve connecting the three points ℎ ^ ( ^ K ) , ℎ ^( ^ K ) and ℎ ^ ( ^ K ) on the enthalpy surface ℎ(^, ^), among which the value ℎ ^L (^ K ) for pressure ^ K . We thus obtain an approximate value of the enthalpy value ℎ(^ K , ^ K ). French Description
[0070] For example, in one or more embodiments, a Lagrangian interpolation of order 2 may be used to calculate the value ℎ ^L (^ K ) to the extent that the calculated approximation corresponds to the desired precision for the intended use case.
[0071] In embodiments in which a Lagrangian interpolation of order 2 is used, the approximation curve connecting the three points ℎ ^ ( ^ K ) , ℎ ^ ( ^ K ) and ℎ ^ ( ^ K) on the enthalpy surface ℎ ( ^, ^ ) can thus correspond in certain embodiments to the function:
[0075] In one or more embodiments, the three functions (of temperature ^) ^ ^ ( ^ ) , ^ ^ ( ^ ) and ^ ^ ( ^ ) can be approximated using any suitable interpolation method, such as piecewise polynomial interpolation of order 1 (if one wishes to save primarily the logical resources of the target hardware in the resulting implementation), or of order 2 (if one wishes to save memory instead).
[0076] An approximate value of enthalpy ℎ 5 & (^, ^) can thus be calculated for a given pressure ^ and temperature ^.
[0077] A method (10) for generating hardware configuration description code intended to be loaded onto an electronic component with programmable logic circuits, for example of the FPGA type, in one or more embodiments is described below.
[0078] With reference to Figure 4, an electronic component with programmable logic circuits, for example of the FPGA type, is envisaged to be configured for the implementation of an enthalpy calculation of a heat transfer chemical element, such as, for example, water. French Description
[0079] We thus consider a formulation ℎ(^, ^) of the enthalpy calculation of the heat transfer chemical element in the pressure-temperature (PT) plane, such as the formulation provided by the IAPWS-IF97 document for region 1 in the case of water.
[0080] In one or more embodiments, a range of use in the pressure-temperature (PT) plane of the formulation ℎ(^, ^) may be determined, for example based on a temperature range ^ ^ = ^^ ^^^ , ^ ^^^ ^ , of a function ^ ^^^ (^) for example set to ^ ^ , and a pressure amplitude parameter ^^^^ . The resulting domain is then delimited by the following 4 boundaries: 6^ = ^ ^^^ , ^ = ^ ^^^ , ^ = ^ ^^^ ( ^ ) , ^ = ^ ^^^ ( ^ ) + ^^^^ 7 .
[0081] Alternatively, in some embodiments, the range of use in the pressure-temperature (PT) plane of the formulation ℎ(^, ^) may be predefined.
[0082] In one or more embodiments, a first function ℎ ^(^) of enthalpy as a function of temperature is determined (11) on the basis of a formulation ℎ(^, ^) of the enthalpy calculation of the heat transfer chemical element in the pressure-temperature (PT) plane expressed for a pressure value equal to ^ ^^^ (^), in which the function ^ ^^^ (^) expresses a pressure value as a function of a temperature value ^ in a temperature interval ^ ^ = ^ ^ ^^^ , ^ ^^^ ^ .
[0083] In one or more embodiments, a second function ℎ ^ (^) of enthalpy as a function of temperature is determined (12) on the basis of the formulation expressed for a pressure value equal to ^ ^^^ (^) + ^ , in which ^^^^ is a pressure amplitude parameter of the field of use, and ^ is a parameter with a value between 0 and ^^^^, such that the pressure value ^ ^^^ ( ^ )+ ^ is between ^ ^^^ ( ^ ) and ^ ^^^ ( ^ ) + ^^^^.
[0084] In one or more embodiments, a third function ℎ ^ (^) of enthalpy as a function of temperature is determined (13) on the basis of the formulation expressed for a pressure value equal to ^ ^^^ ( ^ ) + ^^^^.
[0085] In one or more embodiments, the proposed method may comprise generating (14) a first code in hardware description language (for example in VHDL (from the English "VHSIC Hardware Description Language")) of a first operator block ^^^^_^ ^ configured for implementing the calculation of an approximate value Description of a first intermediate function ^ ^ (^) depending on the temperature defined by
[0086] In one or more embodiments, the proposed method may further comprise generating (15) a second hardware description language (e.g., VHDL) code of a second operator block ^^^^_^ ^ configured for implementing the calculation of an approximate value of a second intermediate function ^ ^ (^) depending on the temperature defined by ^ ^ ( ^ ) = "^#$.& −
[0087] In one or more embodiments, the proposed method may further comprise generating (16) a third hardware description language (e.g., VHDL) code of a third operator block ^^^^_^ ^ configured for implementing the calculation of an approximate value of a third intermediate function ^ ^ (^) depending on the temperature defined by ^ ^ (^) = "^#$.& +
[0088] Depending on the embodiment chosen, the generation of one or more of the first, second and third codes may be carried out using one or more automatic hardware description language code generation tools, such as for example VHDL code generation tools such as the tool described in the following articles: Florent de Dinechin and Bogdan Pasca: “Designing custom arithmetic data paths with FloPoCo.”, IEEE Design & Test of Computers, 28(4):18--27, July 2011 and Florent de Dinechin: “Reflections on 10 years of FloPoCo.” in 26th IEEE Symposium of Computer Arithmetic (ARITH-26), June 2019.
[0089] In one or more embodiments, the first, second and third codes thus generated may be used to, for example after integration, synthesize an FPGA circuit.
[0090] In one or more embodiments, the proposed method may further comprise generating (17), based on the first, second and third codes, a target code usable for synthesizing a programmable logic circuit configured to determine Description an enthalpy value ℎ 5 & (^, ^) = based on input data of temperature and pressure of the heating element.
[0091] Depending on the embodiment, the synthesis of the programmable logic circuit may be carried out using one or more programmable logic circuit synthesis tools.
[0092] Figure 5a illustrates an example of functional architecture (21) of a programmable logic circuit according to one or more embodiments.
[0093] Figure 5a illustrates an example of a wiring diagram of computational blocks, including the blocks ^ ^ (^), ^^ (^) and ^ ^ (^) for which software codes can be generated according to one or more embodiments of the proposed method.
[0094] This example architecture allows to implement the calculation of enthalpy ℎ 5 & (^, ^) = ^ ^ ( ^ ) . ^ ^ + ^ ^ ( ^ ) . ^ + ^ ^ ( ^ ) described above in the context of embodiments of the proposed method, and lends itself particularly well to implementation on a programmable logic circuit, which advantageously makes it possible to produce an electronic component with programmable logic circuits, for example of the FPGA type, configured for the implementation of a calculation of the enthalpy of water over a pressure-temperature domain of interest.
[0095] Referring to the example illustrated in Figure 5a, the architecture comprises an interface (22) for inputting temperature data (T), for example obtained by a temperature sensor to which the temperature data input interface (22) is operatively coupled. The temperature data input interface (22) is operatively coupled to the three blocks ^ ^ (^), ^ ^ (^) and ^ ^(^) (24a, 24b and 24c) so as to provide as input to each of these blocks (24a, 24b and 24c) temperature input data. The illustrated architecture further comprises an interface (23) for inputting pressure data (P), for example obtained by a pressure sensor to which the pressure data input interface (23) is operatively coupled. The pressure data input interface (23) is operatively coupled to a squaring operation block (26) and to a first product operation block (25a). This first product operation block (25a) is further operatively coupled as input to the output of the block ^ ^ (^) (24b) in order to implement the product ^ ^ (^). ^ of the enthalpy calculation. Description The output of the squaring operation block (26) is coupled to the input of a second product operation block (25b) which is further operatively coupled to the output of the ^ block. ^ (^) (24c) in order to implement the product ^ ^ (^). ^ ^ of the enthalpy calculation. The outputs of the blocks ^ ^ ( ^ ) (24a), and product operation (25a) and (25b) are operatively coupled as input to a sum operation block (27), to implement the sum ^ ^ (^). ^ ^ + ^ ^ (^). ^ + ^ ^ (^) of the enthalpy calculation. The output of the sum operation block (27) is operationally coupled with an output interface of the architecture (21) configured to deliver the calculated enthalpy value ℎ 5 & (^, ^).
[0096] Those skilled in the art will understand that the present disclosure is not limited to a particular programmable logic circuit architecture, and that any architecture suitable for implementing the method proposed according to one or more embodiments, possibly using other operation blocks, such as for example any architecture suitable for implementing a calculation of enthalpy value ℎ 5 & (^, ^) = ^ ^ ( ^ ) . ^ ^ + ^ ^ ( ^ ) . ^ + ^ ^ ( ^ ) , could be used instead of architecture (21) of Figure 5a, which is described only as an illustrative example.
[0097] Thus, in one or more embodiments, the electronic component with programmable logic circuits may be configured using the target code, for example by synthesizing a programmable logic circuit using the target code.
[0098] For example, in one or more embodiments, generating the target code may include generating hardware description language code incorporating a plurality of operator blocks including the first, second, and third operator blocks, and synthesizing the target code based on the code.
[0099] In one or more embodiments, the method leading to the calculation of the enthalpy value ℎ 5 & (^, ^) = ^ ^ (^). ^ ^ + ^ ^ (^). ^ + ^ ^ (^) can be applied to a plurality of regions defined in the IAPWS-IF97 document, such as for example for region 1 (as described above) for the liquid phase of water, and for region 2 for the vapor phase, under the saturation curve.
[0100] In one or more embodiments, for applications using a domain relating to these two phases (and therefore these two regions), one can Description determine a first logical block of enthalpy calculation ℎ $^Q in liquid phase and a second logic block for calculating enthalpy in vapor phase ℎ R^# .
[0101] Figure 5b illustrates an example of functional architecture (31) of a programmable logic circuit according to one or more embodiments, which corresponds to this scenario.
[0102] The architecture (31) includes a block (21) for calculating enthalpy ℎ $^Q in liquid phase and a block (32) for calculating enthalpy in vapor phase ℎ R^# . For example, block (21) for calculating enthalpy ℎ $^Q in liquid phase can have the architecture illustrated in Figure 5a, and the block (32) for calculating enthalpy in vapor phase ℎ R^#may have substantially the same architecture as that illustrated in Figure 5a, with however ^ blocks ^ S (^), ^ ^ S (^) and ^ ^ S (^) different from ^ blocks ^ (^), ^ ^ (^) and ^ ^ (^) because determined from the formula for enthalpy in the vapor domain.
[0103] As illustrated in Figure 5b, we can also provide a block (34) for calculating ^ @^A (^), as well as a comparison operation block (35) to perform the test ^ >? ^ @^A (^) on the inlet pressure value ^. The architecture (31) may be configured for, in cases where it is determined that the inlet pressure ^ is greater than ^ @^A (^), control a multiplexer block (33) to deliver on an output interface (36) the enthalpy value calculated by the enthalpy calculation block (21) ℎ $^Qin the liquid phase, and in cases where it is determined that the inlet pressure ^ is not greater than ^ @^A (^), control the multiplexer block (33) to deliver on the output interface (36) the enthalpy value calculated by the enthalpy calculation block (32) ℎ R^# in vapor phase. In one or more embodiments, the value ^ @^A (^) can be calculated from a function ^ @^A approximated using an interpolation method, such as piecewise polynomial interpolation.
[0104] In one or more embodiments, the proposed method may further comprise determining a value of the parameter ^.
[0105] For example, in one or more embodiments, the value of the parameter ^ may be determined by minimizing an approximation error 8 ^##9:^ of the function ℎ(^, ^) by the function ℎ 5 &(^, ^) on the area of use of the pressure-temperature (PT) plane. French Description
[0106] For example, in one or more embodiments, the approximation error 8^##9:^ may be chosen based on which will lead for example to minimizing calculate a value of the parameter ^.
[0107] Depending on the embodiment, any optimization method suitable for minimizing the approximation error may be used. For example, at least one of the value of the parameter ^ and the approximation error may be determined. Newton's method or by the Lagrange multiplier method.
[0108] In one or more embodiments, to determine the scope of the enthalpy calculation formula used, the function ^ ^^^ ( ^ )can be determined based on (e.g. equal to) the function expressing the saturation pressure between the liquid and gas phases ^ @^A (^) as a function of temperature ^.
[0109] Figure 6 illustrates an example of equipment architecture for implementing the proposed method according to one or more embodiments.
[0110] With reference to FIG. 6, the device 100 comprises a controller 101, operatively coupled to a memory 102, which controls a module 103 for generating hardware configuration description code (for example, hardware configuration description code intended to be loaded onto an electronic component with programmable logic circuits configured for implementing an enthalpy calculation of a heat transfer chemical element).
[0111] The controller 101 is configured to control the code generation module 102 for implementing one or more embodiments of the proposed method.
[0112] The code generation module 103 is configured for the implementation of the proposed method by the device 100. In particular, the code generation module 103 can be configured to perform the functions and accomplish the acts described in the present description for the implementation of the proposed method by computer.
[0113] The device 100 may be a computer, a computer network, an electronic component, or another apparatus comprising a processor operatively coupled to a memory, as well as, depending on the chosen embodiment, a unit of Description data storage, and other associated hardware such as a network interface and a media reader for reading and writing to a removable storage medium (not shown in the figure). The removable storage medium may be, for example, a compact disc (CD), a digital video / versatile disc (DVD), a flash drive, a USB stick, a solid-state memory, etc. Depending on the embodiment, the memory, the data storage unit or the removable storage medium contains instructions which, when executed by the controller 101, cause this controller 101 to perform or control the code generation module 103 parts of the exemplary implementations of the proposed method described in this description. The controller 101 may be a component implementing a processor or a computing unit for managing communications according to the proposed method and controlling the unit 103 of the device 100.
[0114] The device 100 may be implemented in software, in hardware, such as an application-specific integrated circuit (ASIC), or in a combination of hardware and software elements. Similarly, the code generation module 102 may be implemented in software, in hardware, such as an ASIC, or in a combination of hardware and software elements.
[0115] In one or more embodiments, the proposed method may comprise one or more of the following operations, which advantageously provides an automatable procedure for constructing a water enthalpy calculation architecture that can be implemented on an FPGA-type component:
[0116] Calculate the parameter ^ as well as the approximation error ; 8 ; ^ ;; # ; # ;; 9 ; : ;^ ; , for example by Newton's method (approximation of a root of a real function).
[0117] Generate the VHDL code for each operator, for example using an automatic VHDL code generation tool.
[0118] Integrate the blocks according to a wiring diagram, such as the diagram shown in Figure 5a.
[0119] Synthesize the FPGA circuit, for example using an FPGA circuit synthesis tool.
[0120] In one or more embodiments, a programmable logic circuit, such as an FPGA component, can thus be produced by configuring it according to one or more French Description several embodiments of the proposed method. This logic circuit can then be inserted into an electronic circuit, for example to be operationally coupled with a pressure sensor and a temperature sensor, in order to receive pressure and temperature data as input, on the basis of which it will have been configured to calculate an enthalpy value with a precision corresponding to the intended use case.
[0121] Depending on the embodiment selected, certain acts, actions, events, or functions of each of the methods described herein may be performed or occur in a different order than they were described, or may be added, merged, or may not be performed or occur, as the case may be. In addition, in some embodiments, certain acts, actions, or events are performed or occur concurrently and not successively.
[0122] Although described through a number of detailed exemplary embodiments, the proposed method and the apparatus for implementing an embodiment of the method include various variations, modifications and improvements which will be apparent to those skilled in the art, it being understood that these various variations, modifications and improvements are within the scope of the invention, as defined by the following claims. In addition, different aspects and features described above may be implemented together, or separately, or substituted for each other, and all different combinations and sub-combinations of the aspects and features are within the scope of the invention. Furthermore, some systems and equipment described above may not incorporate all of the modules and functions described for the preferred embodiments.
Claims
French Claims Claims
1. A computer-implemented method of generating hardware configuration description code to be loaded onto an electronic component with programmable logic circuits configured to perform an enthalpy calculation of a heat transfer chemical element, the method comprising: Determining a first function ℎ ^ (^) of enthalpy as a function of temperature based on a formulation ℎ(^, ^) of the enthalpy calculation of the heat transfer chemical element in the pressure-temperature (PT) plane expressed for a pressure value of a function ^ ^^^ (^), in which the function ^ ^^^ (^) expresses a pressure value as a function of a temperature value ^ in a temperature interval ^ ^ = ^ ^ ^^^ , ^ ^^^ ^ ; Determine a second function ℎ ^(^) of enthalpy as a function of temperature based on the formulation expressed for a pressure value equal to ^ ^^^ ( ^ ) + ^, in which ^^^^ is a pressure amplitude parameter, and ^ is a parameter with a value between 0 and ^^^^; Determine a third function ℎ ^ (^) of enthalpy as a function of temperature based on the formulation expressed for a pressure value equal to ^ ^^^ (^) + ^^^^ ; Generate a first code in hardware description language of a first operator block ^^^^_^ ^ configured for implementing the calculation of an approximate value of a first intermediate function ^ ^ (^) depending on the temperature defined by + '(^) + )(^) & ' ("^#$.& "^#$ ' ("^#$.& Generate a second code in hardware description language of a second operator block ^^^^_^ ^configured for implementing the calculation of an approximate value of a second intermediate function ^ ^ (^) depending on the temperature defined by ^ ^ ( ^ ) = Generate a third code in hardware description language of a third operator block ^^^^_^ ^ configured for implementing the calculation of an approximate value of a third intermediate function ^ ^ (^) depending on the temperature defined by ^ ^ ( ^ ) = French Claims Generating, based on the first, second and third codes, a target code usable for synthesizing a programmable logic circuit configured to determine a value as a function of temperature and pressure input data of the heating element.
2. The method of claim 1, further comprising: Determining a domain of use of the formulation ℎ(^, ^) included in the pressure-temperature plane (PT), based on the temperature interval ^ ^ = ^^ ^^^ , ^ ^^^ ^, of the function ^ ^^^ (^) set to ^ ^ expressing a pressure value as a function of a temperature value, and the pressure amplitude parameter ^^^^, in which the resulting domain is delimited by the 4 boundaries 6^ = ^ ^^^ , ^ = ^ ^^^ , ^ = ^ ^^^ (^), ^ = ^ ^^^(^) + ^^^^7.
3. The method of any preceding claim, further comprising: configuring the programmable logic circuit electronic component using the target code.
4. The method of any preceding claim, further comprising: determining a value of the parameter ^.
5. The method of claim 4, wherein the value of the parameter ^ is determined by minimizing an approximation error 8 ^##9:^ of a value of the function ℎ(^, ^) by the value ℎ 5 & (^, ^) on the field of use of the pressure-temperature plane (PT).
6. Method according to claim 5, in which the approximation error 8^##9:^ est basée sur
7. A method according to any one of claims 4 to 6, wherein at least one of the value of the parameter ^ and the approximation error 8 ^##9:^is determined by Newton's method.
8. A method according to any preceding claim, wherein the function ^ ^^^ ( ^ ) is based on the saturation pressure function between the liquid and gas phases ^ @^A (^) as a function of temperature ^. French:
9. Method according to any one of the preceding claims, in which the programmable electronic component is of the in situ programmable gate array, FPGA, type.
10. Method according to any one of the preceding claims, in which the heat transfer chemical element is water.
11. Method according to any one of the preceding claims, in which the generation of the target code comprises: - Generating a code in hardware description language integrating a plurality of operator blocks comprising the first, second and third operator blocks; - Synthesizing the target code on the basis of the code.
12. Computer program, loadable into a memory associated with a processor, and comprising code portions for implementing a method according to any one of claims 1 to 11 during the execution of said program by the processor.
13. A data set representing, for example by compression or encoding, a computer program according to claim 12.
14. A non-transitory storage medium for a computer-executable program, comprising a data set representing one or more programs, said one or more programs comprising instructions for, upon execution of said one or more programs by a computer comprising a processing unit operatively coupled to memory means and to an input / output interface module, causing the computer to encode a first image divided into blocks according to the method of any one of claims 1 to 11.
15. A programmable electronic circuit comprising programmable logic circuits configured using target code generated according to a method according to any one of claims 1 to 11.