Commonly Used Blocks——Bus、Mux、Demux

一. Bus Creator/Bus Selector
中文译名:
根据输入元素创建总线 / 从传入总线中选择元素
图标:

模块参数:双击打开

窗口信息:
· 在 ‘输入的数目’ 中,可以选择合并多少路信号,并且可以 ‘按名称进行筛选查找’ ,进行 ‘刷新’ 或者 ‘上/下移’ 来对信号进行排序;
· 每次单击 ‘添加’ 将多出1个信号输入端口,选中想要删除的信号输入/输出端口,单击 ‘删除’ 可删除端口;
· 若要修改信号名称,勾选 ‘要求输入的名称与以上的名称匹配’ 后可修改,同时要保证输入数据的名称与修改后的名称相匹配;
· 下方可以选择输出数据类型,一般默认auto即可;
特点:
· 可以选择输出的信号,并对信号进行排序;
· 可以捆绑合并不同类型的信号,例如可以合并布尔信号与int8矩阵,如下图所示

程序可以正常运行并且运行出结果。
二. Mux/Demux
中文译名:
复用器 / 分路器
图标:

模块参数:

·可根据输入/输出信号数目来对 ‘输入/输出数目’ 进行修改;
·显示选项是对Mux/DeMux的外观进行修改,修改后的样式如下;

特点:
· Demux按顺序输出,不能自定义选取;
· 合并的信号必须是相同类型,否则程序会报错;

· Demux输出采用平均分配原则,尽量让每个端口获取相同的数据个数。

三. 二者区别
Bus的可选择性较多,如果仅仅为了模型仿真连线方便,使用Mux,Demux就好。Bus creator/selector 还能在代码生成时实现 struct 的数据结构。