优先编码器

在之前的教程中,我们已经看到了对给定数据进行编码的二进制编码器。但是一个标准的数字编码器有一个限制,如果在给定的时间有多个输入是有源的,那么它的输出就会产生误差。如果两个输入同时是逻辑1,它将生成一个未定义的输出组合。

考虑8 - 3线的编码器,同时如果D2和D5 1,编码器生成的输出为111,这意味着这三个输出等于逻辑1(例如在一个人操作键盘可能按另一个键释放第一个之前)。该值不对应二进制2或二进制5。

为了克服这个问题,编码器电路必须建立一个优先级,这样在这种情况下只有一个输入被编码。这意味着,当两个输入同时等于逻辑1时,编码器必须对每个输入的电平进行优先级排序,以便产生对应于最高优先级输入的输出。这样的编码器称为优先编码器。

优先编码器 如前所述,优先级编码器是对输入进行排序的编码器类型之一,这意味着与标准编码器相比,它包含优先级函数。 然而,这个优先级是基于输入的相对数量。因此,大小较大的输入就是最先被编码的输入。 在许多实际应用中,优先级编码器可以选择具有最高优先级的输入。这种选择的过程叫做仲裁。 仲裁最常见的一个例子是,计算机系统中有大量的输入设备,其中有几个设备试图同时向计算机提供数据。在这些情况下,优先级编码器使输入设备在试图同时访问计算机的设备中具有最高的优先级。 让我们看看4输入、8输入优先编码器的设计。

1. 知识点

2. CircuitJS中的仿真

3. 原理图

4. Verilog代码

5. 管脚分配

6. 功能验证