【发布时间】:2012-01-26 13:07:49
【问题描述】:
假设我们有一个变量“a”,它最后应该代表一个 4 位的值,例如。 一个=“0011”。这个变量的单个位是从 VHDL 实例中读取的。
假设 VHDL 输出的第一位是 1,例如result_from_VHDL_instance = 1。 然后我将这个最重要的位存储在我的变量 a 中:
set a [BUS2INT result_from_VHDL_instance]; # a = 1
现在我如何将剩余的位连接到这个变量。假设 VHDL 输出的第二位再次为 1,例如result_from_VHDL_instance = 1。我现在想将此位连接到已经存储在 a 中的位,例如a = 11。
这样继续下去,下一点,例如。 result_from_VHDL_instance = 0,a的值 应该是 110 等。
编辑:
到目前为止,感谢您的回答,但我认为我在这里有一个更基本的问题。第一个问题是 TCL 中是否存在这种用于二进制表示的数据类型,例如。 a = 1011。如果不是,那么我要么必须将变量表示为字符串或整数,有什么建议吗?
【问题讨论】:
-
要消除错误,只需在命令中删除第二个 $。但不清楚你真正想做什么。
-
是的,错误消失了,但我没有得到想要的结果。我编辑了我的帖子,希望它现在更有意义
-
@Patrick,kostix 在他的回复中给出了你更新问题的答案。
标签: tcl