Hi Josy,
--- Quote Start ---
I just wrote a workaround for the failing '**' operator
--- Quote End ---
The following should be equivalent ...
set c expr {$a**$b)}
set c expr {int(pow($a,$b))}
--- Quote Start ---
But I just found the reason: initially I wrote the module under QII 12.1:
package require -exact qsys 12.1
which I later downgraded to 12.0 (sweeping over all _hw.tcl in a bulk operation ...). I put the 12.1 back and, yes, out comes 8.6
--- Quote End ---
Ah, yes, I could see how that would downgrade Tcl.
Recently I have been using the construct
set qsys_version
So that I can use $qsys_version to add/remove Qsys version dependencies, eg.,
# Allow mixed-language simulation# * invalid option in 12.1, 13.0sp1, but ok in 13.1 and 14.0
if {$qsys_version >= 13.1} {
set_module_property PREFERRED_SIMULATION_LANGUAGE VHDL
}
Unfortunately when running under 13.0sp1, qsys_version is 13.1, which totally defeats this logic ... $::quartus(version) has the correct value, so I'll probably have to change the logic to use that.
Another case of Altera Tcl inconsistency ...
I even made sure to start Quartus from a 13.0sp1 NIOS II IDE shell, so the environment should not have picked up the tool from another installation, but I plan on trying this test on a VirtualBox install with only one version of the tool installed to check.
--- Quote Start ---
Thanks again, for being the sounding board.
--- Quote End ---
Likewise!
Cheers,
Dave