Verilog八线 - 三线优先编码器设计(74LS148)

这篇博客介绍了如何使用Verilog语言设计一个八线-三线优先编码器,参照74LS148的功能。内容涵盖了if语句和case语句的用法,并提供了testbench验证。同时,博主提醒读者若发现错误或侵权情况及时反馈,转载请注明出处。

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

 

百度百科_74LS148

 

if语句法

 1  //8线-3线优先编码器设计(74LS148)
 2  //
 3  //EI |  A7 A6 A5 A4 A3 A2 A1 A0  |  Y2 Y1 Y0  GS  EO
 4  //0  |  0  x  x  x  x  x  x  x   |  0  0  0   0   1  
 5  //0  |  1  0  x  x  x  x  x  x   |  0  0  1   0   1
 6  //0  |  1  1  0  x  x  x  x  x   |  0  1  0   0   1
 7  //0  |  1  1  1  0  x  x  x  x   |  0  1  1   0   1
 8  //0  |  1  1  1  1  0  x  x  x   |  1  0  0   0   1
 9  //0  |  1  1  1  1  1  0  x  x   |  1  0  1   0   1
10  //0  |  1  1  1  1  1  1  0  x   |  1  1  0   0   1
11  //0  |  1  1  1  1  1  1  1  0   |  1  1  1   0   1
12  //0  |  1  1  1  1  1  1  1  1   |  1  1  1   1   0
13  //1  |  x  x  x  x  x  x  x  x   |  1  1  1   1   1
14 
15  
16  module encoder_83 (din, EI, GS, EO, dout);
17      input [7:0] din;  //编码输入端data_in,低电平有效
18      input EI;  //使能输入端EI(选通输入端),EI为 0 时芯片工作,即允许编码
19      output [2:0] dout;  //编码输出端data_out
20      output GS;  //片优先编码输出端,优先编码器工作工作状态标志GS,低电平有效
21      output EO;  //使能输出端EO(选通输出端)
22      reg [2:0] dout;
23      reg GS, EO;
24      always @(din or EI)
25          if(EI) begin dout <= 3'b111; GS <= 1; EO <= 1; end  //所有输出端被锁存在高电平
26          else if (din[7] == 0) begin dout <= 3'b000; GS <= 0; EO <= 1; end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值