优先编码器和3-8译码器.ppt
芜湖职业技术学院精品资源线下开放课程《FPGA应用技术》芜湖职业技术学院FPGA应用技术讲课教师:杨会伟芜湖职业技术学院第六章基本组合电路VerilogHDL设计组合电路设计方法三态门和奇偶校验位产生器8-3优先级编码器和3-8译码器数码管译码器数据选择器1.8-3优先编码器(1)编码器(Encoder)的概念与分类编码:在数字系统中,赋予二进制代码特定含义的过程称为编码。如:8421BCD码中,用1000表示数字8如:ASCII码中,用1000001表示字母A等编码器:具有编码功能的逻辑电路。6.38-3优先级编码器和3-8译码器广义地说,用文字、数码等字符表示特定信息的过程都成为编码。芜湖职业技术学院编码器的分类:普通编码器和优先编码器。普通编码器:任何时候只允许输入一个有效编码信号,否则输出就会发生混乱。优先编码器:允许同时输入两个以上的有效编码信号。当同时输入几个有效编码信号时,优先编码器能按预先设定的优先级别,只对其中优先权最高的一个进行编码。编码器的逻辑功能:能将每一个编码输入信号变换为不同的二进制的代码输出。如BCD编码器:将10个编码输入信号分别编成10个4位码输出。如8线-3线编码器:将8个输入的信号分别编成8个3位二进制数码输出。芜湖职业技术学院在实际应用中,经常有两个或更多输入编码信号同时有效。必须根据轻重缓急,规定好这些外设允许操作的先后次序,即优先级别。识别多个编码请求信号的优先级别,并进行相应编码的逻辑部件称为优先编码器。(2)8-3优先编码器功能分析在不考虑使能信号的前提下,8-3优先编码器包括8个信号输入端,可用din0~din7来表示。3个信号输出端,可用out0~out2来表示。设定din7的优先级别最低,依次类推,din0的优先级别最高。也就是说若din0输入为1(即为高电平)则无论后续的输入信号怎么样,对应的这种状态一样,如若din0输入为0(即为低电平),则看优先级仅次于din0的din1状态决定,依次类推。因为din0到din7共8中状态,可以用3位二进制编码来表示。8-3优先编码器真值表如下表所示。?芜湖职业技术学院8-3优先编码器真值表芜湖职业技术学院已知了信号和真值表,如何设计?我们在学习Verilog语言语法时了解到,if-else语句的多分支结构是有优先顺序的。利用if-else语句的特点,可实现带优先级的8-3编码器的设计。代码如下:芜湖职业技术学院(3)8-3优先编码器设计moduleencoder8_3(din,out);input[7:0]din;output[2:0]out;reg[2:0]out;芜湖职业技术学院always@(din)beginif(din[0])out=3b000;elseif(din[1])out=3b001;elseif(din[2])out=3b010;elseif(din[3])out=3b011;elseif(din[4])out=3b100;elseif(din[5])out=3b101;elseif(din[6])out=3b110;elseout=3b111;endendmodule芜湖职业技术学院2.3-8译码器(1)译码器的概念与分类译码:译码是编码的逆过程,它能将二进制码翻译成代表某一特定含义的信号.(即电路的某种状态)译码器的分类:二进制译码器:3-8译码器、二—十进制译码器显示译码器:七段数码管显示译码、LED数码显示译码芜湖职业技术学院(2)3-8译码器功能分析在不考虑使能信号的情况下,3-8译码器共有3个数据输入端,可用din0~din2来表示;8个信号输出端,低电平有效,可用nout0~nout7来表示。3-8译码器真值表如下表所示。?芜湖职业技术学院(3)3-8译码器设计moduledecode3_8(din,nout);input[2:0]din;output[7:0]nout;reg[7:0]nout;always@(din)beginif(din=3’b000)nout=8elseif(din=3’b001)nout=8