2016-07-15 24 views
0

Ich habe Vivado im TCL-Modus unter cygwin und bemerkte, dass ich keine Ausgabe als Antwort auf einige Befehle bekomme ich eingeben.
Die Befehle, die nichts zurückgeben, scheinen nicht-eingebaute oder Befehle zu sein, die OS-Interaktion erfordern, soweit ich das beurteilen kann.
betrachte das folgende Beispiel:Interaktive TCL-Shell zeigt keine Ausgabe in cygwin

$ vivado -mode tcl 
puts HelloTcl 

****** Vivado v2015.4.2 (64-bit) 
    **** SW Build 1494164 on Fri Feb 26 04:18:56 MST 2016 
    **** IP Build 1491208 on Wed Feb 24 03:25:39 MST 2016 
    ** Copyright 1986-2015 Xilinx, Inc. All Rights Reserved. 

HelloTcl 
puts 2 
2 
expr 1 + 2 
puts 5 
5 
help synth_design 
read_vhdl 
ERROR: [Common 17-163] Missing value for option 'files', please type 'read_vhdl -help' for usage info. 

package require Tcl 
pwd 
exit 
exit 
INFO: [Common 17-206] Exiting Vivado at Fri Jul 14 13:44:28 2016... 

Die Befehle, die nicht die erwartete Ausgabe zurückgekommen sind expr 1 + 2, help synth_design und pwd (und möglicherweise package require Tcl).
Die Situation ist die gleiche mit der "normalen" tclsh. Kann mir jemand helfen zu verstehen, was der Grund für dieses Verhalten ist?

Mein Betriebssystem ist Win7 Pro 64bit. Alles funktioniert gut mit cmd oder Powershell. Das Verhalten ist auch wie erwartet, wenn Vivado in einem Terminal unter Linux läuft.

+1

Im Fall von Ausdruck gab es keine 'puts', d. H.' Puts [Ausdruck 1 + 2] ' –

Antwort

1

Es scheint, dass vivado nur Werte ausgibt, wenn Sie explizit danach fragen, im Gegensatz zu einer standardmäßigen interaktiven tclsh, die auch das Ergebnis jedes Befehls ausgibt (sofern es nicht die leere Zeichenfolge ist). Sie müssen eine explizite puts […] schreiben.

puts [expr 1 + 2] 
puts [pwd] 

Solange Sie darüber wissen, denke ich, es ist nicht zu groß. Nur ein bisschen nervig.

+0

Wie für _why_, weil sie ihre eigene Lese-Auswertung-Schleife verwenden und keinen Druckschritt enthalten. –

+0

Die seltsame Sache ist, dass das Verhalten von Vivado wie erwartet von einem interaktiven tclsh ist, wenn ich es in cmd/powershell oder in einem Terminal in meiner Fedora VM laufe. Das "unerwartete Verhalten" ist nur bei Cygwin zu sehen. (Ich habe meine Frage aktualisiert, um diese Informationen hinzuzufügen.) – damage