I just add some informations I've came across while constraint my desing.
About "set_clock_groups -asynchronous" vs "set_clock_groups -exclusive" what Rysc told is perfectly right.
In FPGA Timequest treat both in the same way.
The only thing usefull is that with -asyncronous parameter you can set more than 2 clock groups together, whereas -exclusive is limited to maximum of 2.
Another syntax problem I came across (because I didn't find explained on Altera documentations) is the the TCL backslash use.
It's used in order to make a command continue on next line because in tcl all command are closed on the line or by a ;.
There is an important exception that are the use of {}.
When you use { the command is not closed untill it find } so for example the correct syntax of set_clock_groups reported above shall be
set_clock_groups -asynchronous
-group {
clk1
clk2
}
-group {
clk3
clk4
}
-group {
clk5
}
so you need only the \ outside the curling brackets.
That's the same also when you use the double quotes " instead of curling brackets.
The difference is that if in "" you find a $var_name that will be substituted.
Example:
set a pippo
puts "my names is $a"
-> my names is pippo
puts { my names is $a }
-> my names is $a