基于FPGA的74ls148设计

 1 74ls148简介

       74ls148是8线-3线优先编码器,将 8 条数据线(0-7)进行 3 线(4-2-1)二进制(八进制)优先编码,即对最高位数据线进行译码。利用选通端(EI)和输出选通端(EO)可进行八进制扩展。

2 74ls148管脚图和逻辑图

        

管脚介绍

  0-7 编码输入端(低电平有效)

  EI 选通输入端(低电平有效)

  A0、A1、A2 三位二进制编码输出信号即编码输出端(低电平有效)

  GS 片优先编码输出端即宽展端(低电平有效)

  EO 选通输出端,即使能输出端

3 74ls148真值表

 

4 74ls148工作原理

  该编码器有8个信号输入端,3个二进制码输出端。此外,电路还设置了输入使能端EI,输出使能端EO和优先编码工作状态标志GS。当EI=0时,编码器工作;而当EI=1时,则不论8个输入端为何种状态,3个输出端均为高电平,且优先标志端和输出使能端均为高电平,编码器处于非工作状态。这种情况被称为输入低电平有效,输出也为低电来有效的情况。当EI为0,且至少有一个输入端有编码请求信号(逻辑0)时,优先编码工作状态标志GS为0。表明编码器处于工作状态,否则为1。

 5 74ls148的Verilog设计

 1 module ttl_74148(
 2     input     wire         D0,D1,D2,D3,D4,D5,D6,D7, //输入信号,低电平有效
 3     input     wire         EI,                            //输入使能
 4     output    reg         A0,A1,A2, //输出信号,
 5     output     reg         GS,        //优先编码工作状态标志,0表示工作状态
 6     output     reg         EO            //输出使能
 7 );
 8 
 9     always@(*)begin
10         if(EI)
11             begin {A2,A1,A0} = 3'b111; GS = 1'b1; EO = 1'b1; end
12         else if({D7,D6,D5,D4,D3,D2,D1,D0} == 8'b1111_1111)
13             begin {A2,A1,A0} = 3'b111; GS = 1'b1; EO = 1'b0; end
14         else if(!D7)
15             begin {A2,A1,A0} = 3'b000; GS = 1'b0; EO = 1'b1; end
16         else if(!D6)
17             begin {A2,A1,A0} = 3'b001; GS = 1'b0; EO = 1'b1; end
18         else if(!D5)
19             begin {A2,A1,A0} = 3'b010; GS = 1'b0; EO = 1'b1; end
20         else if(!D4)
21             begin {A2,A1,A0} = 3'b011; GS = 1'b0; EO = 1'b1; end
22         else if(!D3)
23             begin {A2,A1,A0} = 3'b100; GS = 1'b0; EO = 1'b1; end
24         else if(!D2)
25             begin {A2,A1,A0} = 3'b101; GS = 1'b0; EO = 1'b1; end
26         else if(!D1)
27             begin {A2,A1,A0} = 3'b110; GS = 1'b0; EO = 1'b1; end
28         else 
29             begin {A2,A1,A0} = 3'b111; GS = 1'b0; EO = 1'b1; end
30     end
31 
32 endmodule 

6 波形仿真测试结果

 

参考资料:
(1)优先编码器74ls148引脚图及功能介绍(工作原理,逻辑图及应用电路) - 电子常识 - 电子发烧友网 (elecfans.com)

posted @ 2021-10-05 11:15  豌豆茶  阅读(620)  评论(0编辑  收藏  举报