Project 8 – Updating the temperature sensor project to a pipelined floating-point implementation
First, let's put our proposed design into a diagram to determine what we need:
The pipeline looks very similar to our previous temperature pipeline. The main differences are that we are now converting to/from floating point on the input and output. Internally, the old 4-5 stage pipeline is handled similarly. However, each stage is no longer a single clock cycle since floating-point operations take longer to process.
To convert our temperature sensor and Fahrenheit conversion, we will need the following floating-point operations, all of which we can generate from the Vivado IP catalog as we'll see in the next section.
Fix to floating point conversion
We'll need to make a couple of modifications to customize the fix_to_float
operator for our particular use case: