Code generation method for electronic components with programmable logic circuits, component and system for implementing the method
The described process automates the generation of configuration codes for programmable logical circuits, addressing the challenge of enthalpy calculations in SMR installations by defining intermediate functions and using interpolation to simplify enthalpy calculations, resulting in efficient and constrained electronic components for heat transfer chemical elements.
Patent Information
- Application Number
- FR2023008439
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-03
- Publication Date
- 2025-02-07
AI Technical Summary
Existing technologies face challenges in efficiently implementing enthalpy calculations for heat transfer chemical elements on programmable logical circuits, particularly in SMR installations, due to constraints of miniaturization, modularity, and simplification, which are not adequately addressed by current methods.
A process for generating a code description for programmable logical circuits, such as FPGAs, to automate the configuration of enthalpy calculations by defining intermediate functions and generating codes in material description languages like VHDL, using bi-dimensional interpolation and polynomial approximations to simplify the enthalpy calculation formula for restricted application areas.
This process enables the automated generation of equipment configuration codes for programmable logical circuits, facilitating the production of electronic components that efficiently perform enthalpy calculations on heat transfer chemical elements, suitable for SMR installations, while maintaining performance and adhering to design constraints.
Smart Images

Figure 00000024_0000 
Figure 00000024_0001 
Figure 00000025_0000
Abstract
Description
Title of the invention: 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 of the 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 for example water.
[0004] The design of such a component comprising 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. Summary
[0005] The present disclosure improves the situation.
[0006] According to a first aspect, there is provided a computer-implemented method of generating hardware configuration description code intended to be loaded onto an electronic component with programmable logic circuits configured for implementation implementing an enthalpy calculation of a heat transfer chemical element. The proposed method comprises: Determining a first enthalpy function h^T) as a function of temperature based on a formulation h(p, T) of the enthalpy calculation of the heat transfer chemical element in the pressure-temperature (PT) plane expressed for a pressure value of a function P in which the function Pmir^T) expresses a pressure value as a function of a temperature value T in a temperature interval IT — [ Tmirp T max ]; Determining a second enthalpy function h^T) as a function of temperature based on the formulation expressed for a pressure value equal to Pmin(T ) + a, in which Ampl is a pressure amplitude parameter, and a is a parameter with a value between 0 and Ampl (so that the value Pmin(T) + a is between Pmjn(T) and Pmin(T) + Ampl);Determine a third function h / T) of enthalpy as a function of temperature based on the formulation expressed for a pressure value equal to Pmin(T) + Ampl; Generate; a first code in hardware description language of a first operator block BIoc_tt] configured for the implementation of the calculation of an approximate value of a first intermediate function tt / T) as a function of the temperature defined by HT) Ampl.a MT) HT) ; Generate a second code in a—Ampla language AmpP-Ampla hardware description of a second operator block BIoc_tt2 configured for the implementation implementing the calculation of an approximate value of a second intermediate function ^(T) as a function of the temperature defined by h ATM 2Pmin ( T ) +a+Ampl ) h2 (T).( IP^ ( T ) +Ampl ) Ampla. a~Am.pl.a hiT)(2J^m(T)+M Amp^-Ampl.a Generate a third code in hardware description language of a third operator block Bloc_7T3 configured for the implementation of the calculation of an approximate value of a third intermediate function as a function of the temperature defined by Æ / T\ M'T'AMM.H+a(T] +Ampl) + h2(T\(P„jTpl^ + WWjTMtPjT)) 3' ' Ampla a'-Ampl.a AmpTAmpl.a ; and generating, based on the first, second and third codes, a target code usable for synthesizing a programmable logic circuit configured to determine an enthalpy value ha{p, T) = æ^T).p2 + tt2( T).p + as a function of temperature and pressure input data of the heating element.
[0007] The proposed method advantageously allows the automated generation by computer 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 leads advantageously to the production of an electronic component with programmable logic circuits on the basis of the generated code.
[0008] The features set out 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 h(p, T) in the pressure-temperature (PT) plane, delimited by a temperature interval IT — [ Tmiw Tmm ] and boundaries determined by two functions (for the lower boundary) and Pmin{T) + Ampl (for the upper boundary) defined on Ip, where Ampl corresponds to an amplitude parameter of the domain considered. It is thus advantageous to determine a domain of use of the formulation h(p, T) 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 {T=Tmi„ T = T„m P = Pmi,(T), P Ampl}, in order to benefit of properties of the enthalpy surface expressed over the determined domain which are particularly suitable 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 a. For example, in some embodiments, the value of the parameter a may be determined by minimizing an approximation error 5apptox of a value of the function h( p, T ) by the value hjppy T) over the domain of use of the pressure-temperature (PT) plane. For example, the approximation error Ôappr&x may be based on: ôaoproX - max ( | iïa(py T) - h(p, T ) | ) • p, T In one or more embodiments, at least one of the value of the parameter a and the approximation error Ôapprox may be determined by Newton's method.
[0011] In one or more embodiments, the pressure value Pfllin(T) may be based on a value of the saturation pressure between the liquid and gas phases Psa£T) as a function of the temperature T.
[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, the generation of the target code may including: 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 comprises 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 a target code generated according to a method according to one of the embodiments proposed 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.
[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 implements 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.l
[0022] [Fig.l] 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); 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 example of 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 the present description.
[0030] The present application refers to functions, motors, units, modules, pla teforms, and diagrammatic illustrations of the methods and devices according to one or more embodiments. Each of the described functions, engines, modules, platforms, units and diagrams may be implemented in hardware, software (including 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 may be implemented by computer program instructions or code, which may 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. By "computer storage medium(s)" is meant 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] Furthermore, 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, but not limited to, assembly languages, C, C++, Visual Basic, HyperText Markup Language (HTML), Extensible Markup Language (XML), HyperText Transfer Protocol (HTTP), 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 used herein refer to couplings, connections, assemblies, which may be direct or indirect, and include in particular connections between electronic equipment or between portions of such equipment that enable operations and functioning as described in the present application. In addition, the terms "connected" and "coupled" are not limited to physical or mechanical connections or couplings. For example, an operatively 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 suitable 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 envisaged 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 will, however, understand that the proposed method is not limited to implementations for FPGA-type components, and that it may be advantageously used for configuring any programmable logic circuit (in English "Programmable Logic Device", or "PLD") for implementing 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. Nevertheless, those skilled in the art will be able to realize that any heat transfer chemical element may be used for the implementation of 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 1TAPWS 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 sub-regions. 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 T 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 document IAPWS-IF97 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 document IAPWS-IF97, such as for example a formulation provided in the document IAPWS R6-95 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 of embodiments of the proposed method instead 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 calculation performance on an embedded software target, for industrial uses, so that it gave rise to different software implementations. Nevertheless, if 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 type (from the English "Field Programmable Gate Array").
[0042] Five different regions of the pressure-temperature (PT) plane are defined in Section 2 of IAPWS-IF97, 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 the saturation pressure as a function of temperature and of the saturation temperature as a function of pressure). In order to propose a formulation more suited to an implementation on a programmable logic circuit, without losing too much calculation precision, the present disclosure proposes to consider areas of application 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 called in the present disclosure "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] [Fig.l] 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 the temperature (expressed in K) calculated according to the formulation of the IAPWS-IF97 document 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 a pressure-temperature region delimited on one edge by the saturation curve between the liquid and gaseous phases of water. However, those skilled in the art will be able to 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 Ampl MPa (on the pressure axis) 2b. The value of Ampl 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 phases liquid and gaseous, because 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 hCP P) 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 embodiment (and in particular the use case envisaged), it is possible to 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 Tmin and Tmax, values of a function calculating a minimum pressure value Pmin ( T ) for a temperature value T between and Tmax and a pressure amplitude Ampl. For example, the domain may be included in a region of the pressure temperature plane, such as for example the region illustrated by [Fig.l].
[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 can be characterized by two temperature values Tmin and Tmax, values of a function calculating a minimum pressure value for a given temperature value P t (T) based on the saturation pressure function between the liquid and gas phases Psaff) as a function of temperature T, and a pressure amplitude Ampl.
[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 can be characterized by two temperature values Tmin and Tmax, values of the function of the saturation pressure between the liquid and gas phases Psa^P) as a function of the temperature T, and a pressure amplitude Ampl.
[0051] Figure 2 shows an example of an application domain 4a included in the region corresponding to the surface 1 of Figure 1. Figure 2 illustrates the boundaries 5a of an application domain characterized by the values: Tmjn = 550 K. Tmax — 620 K, the function Pmin(T) = P^T) and the pressure amplitude Ampl = 5 Mpa. Once the specific definition domain of the intended application has been determined, it is possible to de complete an approximation of the enthalpy calculation formula corresponding to this domain of definition.
[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.
[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 which 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 h(T, P), a two-dimensional interpolation can advantageously be carried out, for example according to the skeleton illustrated in Figure 3 which shows a view of the curve of Fig. 1 on the temperature-pressure domain of Figure 2, that is to say characterized by the two temperature values Tmin and Tmax, the values of the function Pmin(T) for temperature values T between Tmin and Tnuvc, and the pressure amplitude Amp / (for the following examples: Tmin = 550 K, Tmax = 620 K, PmjT) = Psat(T) and Ampl = 5 MPa).
[0056] In one or more embodiments, three functions can be defined from the reference formula for the chosen enthalpy calculation (hip. T) (for example that of the document IAPWS-IF97 for region 1), for three predefined pressure values: P min (T ) ' P min (T) + a A Pmin (T ) + Ampl-
[0057] For example, two functions h^T) and h / T) can be defined at the limits of the pressure domain considered, for pressure values Pmjn(T) and Pmit^T) + Ampl of the domain. The values of these two functions can, for example, be calculated by interpolation of the function h{p, T) for p = Pmin ( T ) and p = Pmin(T) + Ampl, respectively.
[0058] In one or more embodiments, the functions (for calculating enthalpy as a function of temperature) and T) may be defined using the enthalpy formulation h(P, T), for example based on the functions h(Pmin(T), T) and h(Pmin(T) + Ampl, T), respectively.
[0059] For example, in one or more embodiments, the following functions (for calculating enthalpy as a function of temperature) may be considered: h, (T) = h (P,„(T), T) and h3 (T) = h (PT) + Ampl, T).
[0060] In the embodiments in which the pressure values Pmin(T) are determined on the basis of saturation pressure values between the liquid and gaseous phases of water (calculated for temperature values T between Tmin and T, for example equal to saturation pressure values Psa^T\, the following functions (for calculating enthalpy as a function of temperature) can be considered: hAT) =h(P„(T\ T) eih3(T) = h(Pjp+Ampl, T).
[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) T) and / ^(7) = / l(P„,( T) +5, T),
[0062] In one or more embodiments, a third temperature-dependent enthalpy calculation function h-,(T) can be defined for a pressure value Pmiri(T) + a between the values Pmitl(T) and Pmin(T) + Ampl (thus included in the considered field of use). In one or more embodiments, the (temperature-dependent enthalpy calculation function) hAT) can be defined using the enthalpy formulation h(P, T), for example on the basis of the function h{Pmin(T) + a, T) ■ The values of this function can, for example, be calculated by interpolation of the function h(p, T) for p = Pmin(T ) + a-
[0063] For example, in one or more embodiments, the third enthalpy calculation function as a function of temperature (T) may be defined as follows: M,T)=h(P,„^
[0064] In the embodiments in which the pressure values P are determined on the basis of saturation pressure values between the liquid and gaseous phases of water (calculated for temperature values T between Tmin and Tmaù, for example equal to saturation pressure values Pxa^T), the following function (for calculating enthalpy as a function of temperature) can be considered: / l,(7)= / l( / >„(T)+s,7).
[0065] Thus, in the embodiments in which the pressure values Pmitl(T) are determined on the basis of saturation pressure values between the liquid and gaseous phases of water (calculated for temperature values T between Tmm and Tmax\ for example equal to saturation pressure values Psai{T\ we can consider the following three functions (for calculating enthalpy as a function of temperature): T ) = h(Psat(T\ T ), h2(T) = h(PsaiT)+ a, T ) and h3(T) = h(PjT) + Ampl, T).
[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 h{p, T) and Psa^T), provided by the document IAPWS-IF97 for regions 1 and 4.
[0067] In one or more embodiments, it is thus possible to determine, on the basis of the functions for calculating enthalpy as a function of the temperature T), Ip (T) and T) defined, the position of a point on each of these curves corresponding respectively to the values Tq), ^(Tq) and hj(Tq) for a given temperature value 7q.
[0068] In one or more embodiments, it is possible to determine, on the basis of the values Tq), ^(Tq) and Ii^Tq), the position of a point on a curve passing through the three points h,(To), h?(To) and
[0069] Depending on the embodiment, determining the value hT (p^ may comprise 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 (Tq), and H^ÇTq) on the enthalpy surface h(T, P), among which the value for the pressure Pq. We thus obtain an approximate value of the enthalpy value 1i(Pq, Tq).
[0070] For example, in one or more embodiments, a Lagrangian interpolation of order 2 may be used to calculate the value hT ^p^ to the extent that the calculated approximation corresponds to the desired accuracy for the intended use case.
[0071] In the embodiments in which a Lagrangian interpolation of order 2 is used, the approximation curve connecting the three points Tq), Ah(Tq) and Tq) on the enthalpy surface h(T, P) can thus correspond in certain embodiments to the function: ri T)=h ,, (p^(,Ty.Ampi) ,i 'vr' 7 ''A. 7 -a -Ampl tl2\ 7 «a-Ampl 7 Ampl Ampt-a , which can be rewritten in the form / lAp, T) =^1(T)-P2 + ^2(T)P + ^3(T)^ with :
[0072] .Mil - 5a a~5a 2S5a
[0073] h^Ty^pj^ ^Ty^pjry+s) h^pp^^y+a) ''A1 J - ~ 5a " «2-5« - 25-5«
[0074] hST)\PjT)+4[pjT^ h^T}pJ^ hAT^J^ ^{T)=-----5«------+----~----+----“----
[0075] In one or more embodiments, the three functions (of the temperature T) zr j ( T ), tt? ( T ) and pp ( T ) can be approximated using any suitable interpolation method, such as for example a polynomial interpolation of order 1 (if it is desired to save as a priority the logical resources of the hardware target, in the resulting implementation), or of order 2 (if it is desired rather to save memory), piecewise.
[0076] An approximate enthalpy value h^p, T} can thus be calculated for a given pressure P and temperature T.
[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 [Fig.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.
[0079] We thus envisage a formulation h(p, T) of the calculation of the enthalpy of the heat-transfer chemical element in the pressure-temperature (PT) plane, such as for example the formulation provided by the document IAPWS-IF97 for region 1 in the case of water.
[0080] In one or more embodiments, a domain of use in the pressure-temperature (PT) plane of the formulation h( p, T ) can be determined, for example on the basis of a temperature interval = [ TmirP Tmm ], a function Pmin(T) for example defined on 7 / , and a pressure amplitude parameter Ampl. The resulting domain is then delimited by the following 4 boundaries: {T = Tmin, T = TP = Pmin(T), P = Pmin(T) + Ampl}.
[0081] Alternatively, in some embodiments, the range of use in the pressure-temperature (PT) plane of the formulation h(p, T) may be predefined.
[0082] In one or more embodiments, a first enthalpy function h^T) as a function of temperature is determined (11) on the basis of a formulation h(p, T) of the enthalpy calculation of the heat transfer chemical element in the pressure-temperature (PT) plane expressed for a pressure value equal to Pmin(T), in which the function P expresses a pressure value as a function of a temperature value T in a temperature interval lT = [ Tnii)V Tmax ].
[0083] In one or more embodiments, a second enthalpy function as a function of temperature is determined (12) on the basis of the formulation expressed for a pressure value equal to Pmin(T) + a, in which Ampl is a pressure amplitude parameter of the field of use, and a is a parameter with a value between 0 and Ampl, such that the pressure value Pmin(T} + a is between Pmm ( T ) and Pmin ( T ) + Ampl.
[0084] In one or more embodiments, a third enthalpy function h^T) as a function of temperature is determined (13) based on the formulation expressed for a pressure value equal to Ptriin(T ) + Ampl-
[0085] In one or more embodiments, the proposed method may comprise the generation (14) of a first code in hardware description language (for example in VHDL language (from the English "VHSIC Hardware Description Language")) of a first operator block BIoc^jt^ configured for implementing the calculation of an approximate value of a first intermediate function 7T[(T) as a function of the tem temperature defined by (T\ > V ' Ampl.a f^T) cfi-Ampl.a h / T) Ampr-Ampl.a
[0086] In one or more embodiments, the proposed method may further comprise generating (15) a second code in hardware description language (for example in VHDL language) of a second operator block Bloc_7T? configured to the implementation of the calculation of an approximate value of a second intermediate function ^(T) as a function of the temperature defined by h^TïlZP^AT^+a+Ampl) h2(T).(2PmÀT)+Ampl). “ Ampl.a aA Ampl.a Ampf-Ampl.a
[0087] In one or more embodiments, the proposed method may further comprise the generation (16) of a third code in hardware description language (for example in VHDL language) of a third operator block BIoc_tt^ configured for the implementation of the calculation of an approximate value of a third intermediate function as a function of the temperature defined by ZT v + + / Ampla (P-Ampla Ampf-Ampla
[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 tools for automatic generation of code in hardware description language, 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 an enthalpy value ha(p, T) —nA(TYp2 + n2(T)p + ^ as a function of 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] [Fig.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 calculation blocks, among which the blocks T), T ) and 77^( T ) for which software codes can be generated according to one or more embodiments of the proposed method.
[0094] This example of architecture makes it possible to implement the enthalpy calculation h^P' T)— .p2 + rp,( T).p + 7t3( T) described above in the context of modes of carrying out 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] With reference 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 77^(T), 7^(T) and zr3(T) (24a, 24b and 24c) so as to provide temperature input data as input to each of these blocks (24a, 24b and 24c). 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 a first product operation block (25a). This first product operation block (25a) is further operatively coupled as an input to the output of the n-, ( T ) block (24b) in order to implement the product ( T ).p of the enthalpy calculation. The output of the squaring operation block (26) is coupled as an input to a second product operation block (25b) which is further operatively coupled as an input to the output of the T) block (24c) in order to implement the product T}.p~ of the enthalpy calculation. The outputs of the blocks 77^( Tj (24a), and product operation (25a) and (25b) are operationally coupled as input to a sum operation block (27), to implement the sum ( T ) .p2 + tt^ ( T ) .p + ( T ) of the calculation enthalpy. 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 ha(p, T).
[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 an enthalpy value calculation h^p, T) - tt. ( T ) .p2 + 7f2 ( T ) .p + n3 ( T ), could be used instead of the architecture (21) of [Fig.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 comprise 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 fplp, L) = tt , ( T ) , / ?2 + 7r2 ( 7 j ( T ) can be applied to a plurality of regions defined in the FIAPWS-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 concerning these two phases (and consequently these two regions), a first logical block for calculating enthalpy hnq in the liquid phase and a second logical block for calculating enthalpy in the vapor phase hvap can be determined.
[0101] [Fig.5b] illustrates an example of functional architecture (31) of logic circuit
[0102]
[0103]
[0104]
[0105]
[0106]
[0107] programmable according to one or more embodiments, which corresponds to this scenario. The architecture (31) comprises a block (21) for calculating the enthalpy hj^ in the liquid phase and a block (32) for calculating the enthalpy in the vapor phase hvap. For example, the block (21) for calculating the enthalpy hu^ in the liquid phase may have the architecture illustrated in Figure 5a, and the block (32) for calculating the enthalpy in the vapor phase hvap may have substantially the same architecture as that illustrated in Figure 5a, with however blocks ( T ), tt2 ( T ) and ( T ) different from the blocks tt1 ( T ), tt2 ( T ) and tf3 ( T ) because determined from the formula for enthalpy in the vapor domain. As illustrated in Figure 5b, it will also be possible to provide a block (34) for calculating Psaff\ as well as a block (35) for comparison operation to perform the test P > '?Psa£F) on the inlet pressure value P. The architecture (31) may be configured to, in cases where it is determined that the inlet pressure P is greater than PxaAT), control a multiplexer block (33) to deliver on an output interface (36) the enthalpy value calculated by the block (21) for calculating enthalpy h]^ in the liquid phase, and in cases where it is determined that the inlet pressure P is not greater than Pxa£T\ control the multiplexer block (33) to deliver on the output interface (36) the enthalpy value calculated by the block (32) for calculating enthalpy hntp in the vapor phase. In one or more embodiments, the value Psc / T) may be calculated from a function P.its / approximate using an interpolation method, such as polynomial interpolation by . pieces. In one or more embodiments, the proposed method may further comprise determining a value of the parameter a. For example, in one or more embodiments, the value of the parameter a may be determined by minimizing an approximation error 5apProx of the function h(p, T ) by the function h^p. T} over the domain of use of the plan pressure-temperature (PT). For example, in one or more embodiments, the approximation error 5apPr <jx pourra être choisie basée sur l’erreur ôapprox = max PT ([hJ^Tj-h^p, 7)1), which will lead for example to minimizing the error Ôapprox = max( |Up, T)-h(p, T) | ) to calculate a value of the parameter a. & T ' 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 a and the approximation error Ôapprox may be determined by Newton's method or by the Lagrange multiplier method.
[0108] In one or more embodiments, to determine the scope of application of the enthalpy calculation formula used, the function Pmin(T) may be determined based on (for example equal to) the function expressing the saturation pressure between the liquid and gas phases as a function of the temperature T.
[0109] [Fig.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 the implementation of 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 other apparatus comprising a processor operably coupled to a memory, as well as, depending on the selected embodiment, a data storage unit, 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 flash drive, 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 form, in hardware form, such as an application-specific integrated circuit (ASIC), or in the form of a combination of hardware and software elements. Similarly, the code generation module 102 may be implemented in software form, in hardware form, such as an ASIC, or in the form of 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 a as well as the approximation error ôapprox, 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 illustrated in [Fig.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 embodiments of the proposed method. This logic circuit can then be inserted into an electronic circuit, for example to be operatively 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 chosen, certain acts, actions, events or functions of each of the methods described herein may be performed or occur in a different order than that in which they were described, or may be added, merged or not performed or not occur, as the case may be. Furthermore, 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 of the various 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
Claims
1. A computer-implemented method of generating hardware configuration description code for loading onto a programmable logic electronic component configured to perform an enthalpy calculation of a heat transfer chemical element, the method comprising: Determine a first enthalpy function h / T) as a function of temperature based on a formulation h(p, T) of the enthalpy calculation of the heat transfer chemical element in the pressure-temperature (PT) plane expressed for a pressure value of a function P in which the function P in(T) expresses a pressure value as a function of a temperature value T in a temperature interval j — rtti • 1 TL ' mù? T max j ' Determine a second enthalpy function as a function of temperature based on the formulation expressed for a pressure value equal to Pmin(T) + a, in which Ampl is a pressure amplitude parameter, and a is a parameter with a value between 0 and Ampl; Determine a third function h / T) of enthalpy as a function of temperature on the basis of the formulation expressed for a pressure value equal to Pmin(T) + Ampl; Generate a first code in hardware description language of a first operator block Block configured for the implementation of the calculation of an approximate value of a first intermediate function Tiff) as a function of the temperature defined by n + -M- । 1K / AmpLa a^Ampln Ampf-AmpLa Generate a second code in hardware description language of a second operator block BIoc_jt7 configured for the implementation of the calculation of an approximate value of a second intermediate function 7T7(T) as a function of the temperature defined by , ht(T).(2Pmin(T)+a+Ampl) h2(T).{2J',^T)+Ampl) _ T)+a) Æ2V ) ~ Ample a^-AmpLa Amp^-Ampla Generate a third code in hardware description language of a third operator block BIoc_tt^ configured for the implementation of the calculation of an approximate value of a third intermediate function based on the temperature defined by A ' AmpLa lA-Am / Aa 1 Ampt2-Amf>la Generate, based on the first, second and third codes, a target code usable for synthesizing a programmable logic circuit configured to determine an enthalpy value h^p, T) = TTj ( T ) .p2 + ?r2 ( T ) .p 4- tf3 ( T ) based on input data of temperature and pressure of the heating element.
2. The method of claim 1, further comprising: Determining a domain of use of the formulation h{p, T) included in the pressure-temperature plane (PT), on the basis of the temperature interval IT - [ Tmw ], of the function Pmill(T) defined on IT expressing a pressure value as a function of a temperature value, and of the pressure amplitude parameter Ampl, in which the resulting domain is delimited by the 4 boundaries {T = Tmi„ T = TmaM P = Pmin(T), P = Pmin(T) + Ampl}.
3. A method according to any preceding claim, further comprising: configuring the programmable logic circuit electronic component using the target code.
4. A method according to any preceding claim, further comprising: Determining a value of parameter a.
5. Method according to claim 4, in which the value of the parameter a is determined by minimizing an approximation error 5apprax of a value of the function h(p, T) by the value hjp, T) over the domain of use of the pressure-temperature plane (PT).
6. The method of claim 5, wherein the approximation error is based on: &approx = max ( | ha(p, T)-h[pT)\}- P, T
7. A method according to any one of claims 4 to 6, wherein at least one of the value of the parameter a and the approximation error ôapprax is determined by Newton's method.
8. A method according to any preceding claim, wherein the function Pmin(T) is based on the function of saturation pressure between the liquid and gas phases Pxa^P) as a function of temperature T.
9. Method according to any one of the preceding claims, in which the programmable electronic component is of the field programmable gate array, FPGA, type.
10. A method according to any preceding claim, wherein the heat transfer chemical element is water.
11. A method according to any preceding claim, wherein generating the target code comprises: - Generating a hardware description language code incorporating a plurality of operator blocks including the first, second and third operator blocks; - Synthesizing the target code based on the code.
12. Computer program, loadable into a memory associated with a processor, and comprising portions of code 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.