Logisim元件用法详解三:Plexers 复用器

本文详细介绍了Logisim中的五种逻辑组件:1. 多路选择器,用于根据选择端口的值复制输入到输出;2. 解复用器,接收单一输入并根据选择信号复制到多个输出;3. 译码器,根据选择输入确定一个输出为1;4. 优先编码器,找出输入中高位为1的编号并输出;5. 位选择器,根据选择输入从输入中选择并输出一部分位。每种组件的引脚、功能及属性进行了清晰解释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章为Hi_KER原创,因本人能力不足,文章难免有所纰漏,欢迎大家指正。

文章中部分中文名为HI_KER自行翻译,非官方翻译,特此提醒。

文章主要参考了 Logisim-Help-Tutorial (Logisim自带教程)

上一篇文章:Logisim元件用法详解二:Gates 门

1.Multiplexer 多路选择器

简介

        多路选择器将西面端口的输入复制到东面输出(多输入,一输出)。要输出哪个值是通过元件下端输入端口接收到的值确定的。

        一些人把这个词拼成 multiplexor,但 multiplexer 才是主要的拼写。

引脚

(假设组件面朝东,选择端在底部/左侧)

西边,可变数字(输入,位宽匹配数据位属性)

        有若干输入端口,可输入数据值,其中只有一个将被输出。每个输入数据值都有编号,从上到下编号,第一个编号为 0

东边(输出,位宽匹配数据位属性)

        输出值将与某个输入值相同。如果选择输入包含任何未指定的位(例如:浮动),那么输出就是完全浮动的

南侧边缘,左侧用灰色圆圈表示(输入,位宽匹配Select Bits属性)

        此输入的值决定将哪个输入进行输出

右侧南侧(输入,位宽1)

        使能输入,当输入为0时,复用器的输出浮动

部分属性说明

 Select Bits 选择端位宽

        设置组件选择端位宽以及输入的端口数。若选择端位宽为 n,则多路复用器的输入端口数将是 2^n

Include Enable? 包含使能端?

        为 Yes 时,元件南端右方有一个 1 为输入,控制元件是否可用

        为 No 时,不显示该输入端

图1 多路选择器示例

2.Demultiplexer 解复用器

简介

        将西面边缘的输入复制到东面边缘的某个输出,是输出中哪一个是通过南侧的输入接收到的值指定的。一些人把这个词拼成 demultiplexor,但 demultiplexer 是主要的拼写。

        解复用器可以和多路选择器(复用器)类比,具体属性不再赘述。

图2 解复用器示例

3.Decoder 译码器

简介

        在一个输出端输出 1,在哪个端输出是 1 取决于南侧输入接收到的值。

引脚

(假设组件面朝东,选择底部/左侧)

东边,可变数字(输出,位宽1)

        输出端从上到下编号,第一个编号为0。如果输出端的编号与当前通过南部的选择输入接收到的值相等,则这个端口的输出将为1,否则,它的值将是0或浮动,这取决于Three-State?(是否三态)属性。如果选择输入包含任何未指定的位,则所有输出都是浮动的

左侧南侧(输入,位宽1)

        当 Enable 为0时,所有输出都是浮动的(或0),无论选择的输入是什么

南侧边缘,右侧用灰色圆圈表示(输入,位宽匹配Select Bits属性)

        选择输入端,这个输入值决定了哪个输出端输出1

属性

Select Bits 选择端位宽

        组件在其南端的选择输入的位宽。若选择端位宽为 n,则译码器的东边输出端口数将是 2^n

图3 译码器示例

4.Pirority Encoder 优先编码器

简介

        组件在其西边有多个输入,第一个输入编号为0,从上往下编号。该组件寻找值为1的输入的编号,并输出值最大的编号。例如,如果输入端编号为0、2、5和6的输入都是1,那么优先级编码器将输出 110(也就是编号6的二进制表示)。如果没有输入为1,或者组件被禁用,那么优先级编码器的输出是浮动的。

引脚

(假设组件面朝东)

西边,可变数(输入,位宽1)

        输入端口

东边,上引脚(输出,位宽匹配Select Bits属性)

        输出那些值为1的输入的最高编号,或者如果没有输入为1或如果组件通过Enable In输入禁用了则输出浮动

东边,下引脚(输出,位宽1)

        如果该组件是启用的,且至少有一个索引的输入值为1,否则输出为0

南缘(输入,位宽1)

        如果输入为0,则组件被禁用,否则组件将被启用

北边(输出,位宽1)

        如果这个组件是启用的,并且没有索引的输入是1,否则输出为0

图4 优先编码器示例

5.Bit Selector 位选择器

简介

        给定一个 n 位的输入,将把输入分成几个大小相等的组(从最低阶位开始)。如果输出为 m 位,则一共分成 \left \lceil \frac{n}{m} \right \rceil 组(但是编号从 0 开始),并输出选择输入所选择的组。

        例如,如果我们有一个 8 位的输入01010101,而我们要有一个 3 位的输出,那么0 组将是最低阶的 3 位 101,1 组将是接下来的 3 位 010,2 组将是接下来的 3 位 001(顶部以外的位用0填充)。选择输入的位宽将是 2,选择这三组中的哪一组输出,但如果选择输入是3,那么将输出 000。

引脚

(假设组件面朝东)

西边(输入,位宽匹配 Selcet Bits 属性)

        n 位的输入值

东边(输出,位宽匹配 Output Bits 属性)

        输出数据,规则见前文

南沿(输入,位宽为数据位和输出位商,四舍五入)

        选择输入:确定应该将哪个位组路由到输出

图5 位选择器示例

下一篇文章:Logisim元件用法详解四:Arithmetic 运算器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值