--- Quote Start ---
I do have conversion libraries
--- Quote End ---
Which ones? For math, you should use numeric_std and math_real, not the older std_logic_arith libraries.
--- Quote Start ---
Sorry for not posting the whole code, this snippet is part of a huge module that I'm upgrading.
--- Quote End ---
That's ok, but when paring down code, synthesize it before posting it, as then the compiler performs the first level of syntax checks.
--- Quote Start ---
I have to remind myself of the strict type checking in VHDL.
--- Quote End ---
I think its a good thing. There is much less ambiguity when reading code other people have written.
--- Quote Start ---
Also elsif is interesting, didn't know there was a difference. That could also be a problem that I'm facing.
--- Quote End ---
There's also another factor. The tool. The style of code that I wrote infers a register ... perhaps the style you wrote does not. The way to answer that question is to look at the synthesized output. In Quartus there is an RTL netlist viewer which draws a schematic of your circuit. Use it to look at how Quartus interprets your code vs my code ... perhaps its identical. (Tools->Netlist Viewers->RTL Viewer).
Use both Modelsim and Quartus while learning about FPGAs and HDLs. Feedback is good :)
Cheers,
Dave