Patent ID: 8489381

Claim:
A method for synthesizing one or more of a plurality of different instrument functions to effect the instrument functions on input and provide in a run-time environment as output, a response to the input modified by the synthesized instrument function or functions, comprising: in a development stage, providing at least one set of electronic components, each set of electronic components including a Field Programmable Gate Array (FPGA) and a processor; creating, using a processor, a plurality of compiled software models each for configuring a set of the electronic components to simulate a respective one of a plurality of different physical instruments, different functions of the same instrument or functions of the instruments, the step of creating the software models comprising forming, using a processor, each of the plurality of software models with two different functions, f(x) and f(y), wherein f(x) is a function that configures only the hardware of the set of electronic components including the FPGA; and f(y) is a function that configures software for the synthesized instrument function and is dependent on the hardware of the set of electronic components including the FPGA that is configured by f(x), f(x) and f(y) being formed such that when f(x) is applied to the hardware including the FPGA and f(y) is applied to the processor, the hardware including the FPGA configured based on f(x) is controlled in accordance with software procedures based on f(y) and the electronic components will provide a response to input that corresponds to the simulated instrument or instrument function operative on the input, f(x) and f(y) being formed for each of the plurality of software models such that the software models are different from one another; and storing the plurality of software models in a plurality of model repositories such that each of the model repositories contains at least one of the software models, each including a single function f(x) and a single function f(y) formed based on that function f(x); and in a run-time stage, enabling a user to access the model repositories via a network and select any one of the plurality of stored software models from the model repositories when simulation of the instrument or instrument function is desired; and applying the selected software model to the associated set of electronic components to cause the electronic components to be configured when simulation of the instrument or instrument function is desired so that the electronic components will provide the response corresponding to the simulated instrument or instrument function, the step of applying the selected software model comprising: directing the function f(x) of the selected software model to the hardware of the set of electronic components including the FPGA; and directing the function f(y) of the selected software model to the processor.