几个有用的组件

常量(Constant value)

该组件位于菜单「组件 ➤ 导线 ➤ 常量」(Components ➤ Wire ➤ Constant value),用于提供一个常数。可以通过属性修改位宽和值。

探测器(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位的导线。

ds splitter 1
图 1. 分线器/并线器示例

该组件有两个重要的属性:「输入分割」(Input Splitting)和「输出分割」(Output splitting)。输入、输出如何分割,完全取决于这两个属性值的设置。分割属性的表示方法非常灵活,总体上可以分为两类,下面分别介绍。

以位数表示分割

图 1为例,分割属性的设置如表 1所示。

表 1. 图 1示例的分割属性设置
输入分割(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*33,3可以表示为3*2

以位号表示分割

可以通过指定每一根导线的位号来决定输入或输出的分割。 以图 1(a)为例,用位号表示的分割属性设置如表 2所示。图 1(b)(c)也类似。

表 2. 图 1示例的分割属性设置
输入分割(Input Splitting) 输出分割(Output splitting)

图 1(a)

0-5

0-1,2-3,4-5

位号表示比位数表示更为灵活,可以适应更多特殊的需求,如图 2所示。

ds splitter 2
图 2. 分线器/并线器的灵活分割

仔细对比图 1(a)和图 2(a),图 2(a)的特殊之处在于输出分割的排列顺序为0-1,4-5,2-3,这只有用位号表示才能实现。 图 2(b)的特殊之处在于位号为2的导线并没有出现在输出中,也就是说输入分割和输出分割的总位数可以不相等,可以只抽取其中一部分导线。 图 2的分割属性设置如表 3所示。

表 3. 图 2示例的分割属性设置
输入分割(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中两个三角形的组件就是隧道组件,这两个组件之间并没有导线连接,但是由于它们的名称相同,则意味着它们之间是连通的,只是表面看不见,就像有一条隧道把他们连接起来。

ds tunnel
图 3. 隧道示例

隧道的名称通过「网络名称」(Net name)属性设置。在一张图中可以有多个同名的隧道,它们之间都是电气连通的。

隧道可以减少复杂电路图的连线,使外观更整洁;但是也给读图和检查电路带来不便,不应过度使用。