> If you're only using this for simulation, then either method is OK. If you intend to synthesize this code, then you'll have to check to see if your synthesis tool supports shared variables. In theory, updating variables in simulation is quicker than signals (i.e. your wall clock time). You can experiment with both, but you'll probably be hard pressed to measure a significant difference unless this signal/variable gets updated a lot.
I'm only at the simulation stage, I might have a go at building it into a small project and see if it compiles. I'm moving from schematic entry to vhdl, I'm used to the hardware result being the same as the simulation without the need to worry about synthesis, it generally 'just works' when it's compiles. I didn't actually realise it didn't synthesise it when it runs the simulation.
> No, this is just a limitation of the simulation tool. I don't know about ISim, but with Modelsim, you can simply drag a variable over to the wave window for display. The drawback is there is no way to get the history so you will have to set it up at start of sim if you want it. With a signal you can log the activity to a file. Then if you want to display the signal in the wave window it will show the entire history from t=0. Again, this is Modelsim behavior, ISim may be different.
ISim is pretty similar, but I get a warning that it doesn't support variables. I see the latest value in the waveform list, but no waveform.
If I really need to see it, I just signal<=variable as a temporary measure, so it's not so bad.