This article is from Point-Of-View (POV) of an electrical engineer, so the focus is on implementing a particular processor and trading between implementation methodologies. This program does not address the POV of software developers with multi-threaded, parallel processing or reconfiguration. Acceptable adoption of the program is speed, accuracy, Time-to-Market (TM) and memory usage. There are other aspects such as coding standards, IP maintenance, portability, and documentation that affect TM for future projects but do not affect the current program. Thus, only the primary acceptance of the case study is considered. Ideally, we want the best in terms of implementation of the program, but real systems are not ideal and there are some compromises. This article discusses programming compromises between formula and Look-up-Table (LUT) methods, and explains which method would give better performance in all aspects. Selecting the Execution Mode Depends on Application Requirements
LUT is an expected list or list of the results stored in the system memory. Using the measured input value as an index, the output value is generated during execution, thus saving the processing time. The LUT can be created in different ways. In addition to the various technical aspects of engineering, "excel engineering" is the experience of most engineers, and this article uses Microsoft Excel to create LUT. The expected range of inputs is fed into the formula and the corresponding outputs are in LUT. The use of the LUT system is advantageous than performing conventional mathematical formulas
In a complete system, the delay between input and output is derived from hardware, software, interruptions, and logic-controlled delays. Data processing and analysis affect software delays. Data processing depends on the number of clock cycles needed to complete the instructions. This simplifies the fact that the multiplication, division or other mathematical functions used in the formula formula consume more CPU cycles than the memory value than the LUT method. There are algorithms that implement multiplication and split with bit shifts and add / sub, which can formulate the formula faster, but in most cases simplify the equations and make them more efficient and accurate. Thus, the LUT method is almost always faster than the formula method.
The accuracy of the method of the formula is always higher than the LUT method. Since electrical engineers are talking about POV, let's look at an analogy between the mode of execution and the electrical signal. The formula method is like a continuous time analog signal and a LUT quantized discrete signal. The endless patterns LUT gives the formula formula resolution. The accuracy of LUT depends on the range tested and the number of samples in it. Thus, LUT provides the scalability of memory utilization based on the accuracy and range required
Memory Usage formula method is primarily due to code domains for executing equation and mathematical libraries supporting equations. When adding a huge amount of memory, it says that a single floating point function is used that adds a whole directory. In the case of LUT method, memory consumption depends on which code is required for LUT analysis to obtain output value and LUT size. Usually, the code space for executing the equation and for LUT analysis is comparable, but the memory usage of the library is much higher than the size of the LUT. The size of the LUT depends on the required accuracy, and the size can be optimized using methods such as interpolation. Thus, LUT memory will be effective when the formulas required for the application are complex and the input range is smaller.
Faster market access time is achieved by using the formulas directly, as they have been developed and tested in most systems. This will give you the required precision and save time during system design, debugging, and testing. There are some projects in which memory is simply not enough to use math libraries for the formula formula. In these cases, the piecewise linear or LUT method must be followed. TM on a LUT method depends on a number of factors such as complexity of the application, engineer skills, and software tools available for LUT. Therefore, this parameter is not comparable from a quantitative point of view, but the formula method may be faster in implementation as it is not system / platform specific. Conclusion:
The debate shows that the LUT method accelerates the execution of program speed. There are other compromises that are involved in program execution, which are application-specific and must be considered before the implementation mode is selected. Choosing a way to choose depends on the specification of the application, but if the goal is accelerating acceleration and less memory, building LUT is a good time investment.