What is the history behind the name Mock Turtle?
At the beginning this project was named White Rabbit Node Core; we quickly noticed that there was nothing related to White Rabbit in this project so we rename it to Mock Turtle. As for White Rabbit, this name comes from a character in "Alice In Wonderland". People may think that code execution on this system is slow like a turtle, because it runs on an FPGA based soft-CPU with limited resources. Actually this is not true: mock; the strong point of this project is the high determinism which make it a very good candidate for real-time tasks.
When I should use Mock Turtle?
The need for this framework comes from the fact that in some contexts the development of a gateware core is more complex than writing a software application. Software takes more computation time than a custom-designed gateware core; but on the other hand, the development and support efforts are significantly reduced. Mock Turtle is a solution for such problems. The gateware core complexity is moved to the software domain within the Mock Turtle boundaries, without sacrificing determinism.
To make clear the system architecture differences let's take the classical control system from control theory: the heating system. We have a thermometer sensor, and an actuator to adjust the temperature.
The following figures show the control system architecture with and without Mock Turtle.
In the scenario without Mock-Turtle in the figure, the user is responsible for the entire development. On the other hand, with Mock Turtle, you will be responsible for the development only of your business logic. This will limit your gateware development to the essential blocks, and move the control logic to the software domain. You do not have to care about the communication with the host system or the external world because it's already part of the Mock Turtle framework.
When I should not use Mock Turtle?
Mock Turtle has limited computation power, this precludes some high
performances applications like DSP.
If you really want to use Mock Turtle for DSP analysis (or other high
performances applications), please consider the development of a
dedicated HDL core to perform the DSP analysis and to use Mock Turtle as
a control system for the DSP core.
Which cards/FPGAs can it be used on?
Any FPGA is good, this is not limited to any particular brand or model.