  Accurate simulations of various physical processes on digital computers
requires huge computing performance, therefore accelerating these scientific
and engineering applications has a great importance. Density of programmable
logic devices doubles in every 18 months according to Moore's Law. On the
recent devices around one hundred double precision floating-point adders and
multipliers can be implemented. In the paper an FPGA based framework is
described to efficiently utilize this huge computing power to accelerate
simulation of complex physical spatiotemporal phenomena. Simulating complicated
geometries requires unstructured spatial discretization which results in
irregular memory access patterns severely limiting computing performance. Data
locality is improved by mesh node renumbering technique which results in
predictable memory access pattern. Additionally storing a small window of node
data in the on-chip memory of the FPGA can increase data reuse and decrease
memory bandwidth requirements. Generation of the floating-point data path and
control structure of the arithmetic unit containing dozens of operators is a
very challenging task when the goal is high operating frequency. Long and high
fanout control lines and improper placement can severely affect computing
performance. In the paper an automatic data path generation and partitioning
algorithm is presented to eliminate long delays and aid placement of the
circuit. Efficiency and use of the framework is described by a case study
solving the Euler equations on an unstructured mesh using finite volume
technique. On the currently available largest FPGA the generated architecture
contains three processing elements working in parallel providing 90 times
speedup compared to a high performance microprocessor core.
