几个有用的组件
探测器(Probe)
该组件位于菜单「组件 ➤ 输入输出 ➤ 探测器」(Components ➤ IO ➤ Probe)。 用于读取探测点的数值。
如果设置了「标签」(Label)属性,那么仿真时其值可以显示在测量图表中。
即使「探测器」(Probe)组件位于子电路中,测量图表中仍然可以显示其值,这对于观察子电路中的状态是非常有用的。 |
分线器/并线器(Splitter/Merger)
该组件位于菜单「组件 ➤ 导线 ➤ 分裂器/合并器」(Components ➤ Wire ➤ Splitter/Merger)。
本书将「Splitter」译为「分线器」,「Merger」译为「并线器」,与软件翻译略有不同。 |
分线器是指将一根多位的导线分成几个部分,如图 1(a)所示,输入是一根6位的导线,输出是三根2位的导线。 并线器是指将几根导线合并为一根,如图 1(b)所示,输入是两根3位的导线,输出是一根6位的导线。 更为灵活的是,输入、输出可以同时有多根导线,如图 1(c)所示,输入是两根3位的导线,输出是三根2位的导线。

该组件有两个重要的属性:「输入分割」(Input Splitting)和「输出分割」(Output splitting)。输入、输出如何分割,完全取决于这两个属性值的设置。分割属性的表示方法非常灵活,总体上可以分为两类,下面分别介绍。
以位数表示分割
输入分割(Input Splitting) | 输出分割(Output splitting) | |
---|---|---|
图 1(a) |
6 |
2,2,2 |
图 1(b) |
3,3 |
6 |
图 1(c) |
3,3 |
2,2,2 |
对于多个相同导线数的情况,可以用乘号简化;如2,2,2
可以表示为2*3
,3,3
可以表示为3*2
。
以位号表示分割
输入分割(Input Splitting) | 输出分割(Output splitting) | |
---|---|---|
图 1(a) |
0-5 |
0-1,2-3,4-5 |
位号表示比位数表示更为灵活,可以适应更多特殊的需求,如图 2所示。

仔细对比图 1(a)和图 2(a),图 2(a)的特殊之处在于输出分割的排列顺序为0-1,4-5,2-3
,这只有用位号表示才能实现。
图 2(b)的特殊之处在于位号为2的导线并没有出现在输出中,也就是说输入分割和输出分割的总位数可以不相等,可以只抽取其中一部分导线。
图 2的分割属性设置如表 3所示。
输入分割(Input Splitting) | 输出分割(Output splitting) | |
---|---|---|
图 2(a) |
6 |
0-1,4-5,2-3 |
图 2(b) |
4 |
3-3,0-1 |
特别需要说明的是,图 2(b)位号为3的导线是1位的输出,其分割属性值为3-3
。
更多用法可点击属性窗口内的「帮助」按钮。 |
符号扩展器(Sign extender)
该组件位于菜单「组件 ➤ 运算器 ➤ 符号扩展器」(Components ➤ Arithmetic ➤ Sign extender)。 如果需要将位宽较小的导线扩展为更大的位宽,并且保持符号位不变,就需要「符号扩展器」(Sign extender)组件。该组件需要设置「输入位宽」和「输出位宽」两个属性,且输入位宽必须小于输出位宽。
虽然「Splitter/Merger」组件也可以扩展导线的位宽,但是只能扩展固定的常数。而符号扩展器则是根据电路工作时的实际数据进行扩展,如果输入数据的最高位为“0”,扩展0;为“1”则扩展1。在计算机中,最高位表示带符号数的符号,故称为符号扩展。
隧道(Tunnel)
该组件位于菜单「组件 ➤ 导线 ➤ 隧道」(Components ➤ Wire ➤ Tunnel)。
图 3中两个三角形的组件就是隧道组件,这两个组件之间并没有导线连接,但是由于它们的名称相同,则意味着它们之间是连通的,只是表面看不见,就像有一条隧道把他们连接起来。

隧道的名称通过「网络名称」(Net name)属性设置。在一张图中可以有多个同名的隧道,它们之间都是电气连通的。
隧道可以减少复杂电路图的连线,使外观更整洁;但是也给读图和检查电路带来不便,不应过度使用。 |