「Verilog学习笔记」优先编码器Ⅰ

专栏前言

本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网

分析

分析编码器的功能表:

当使能El=1时,编码器工作:而当E1=0时,禁止编码器工作,此时不论8个输入端为何种状态,3个输出端均为低电平,且GS和EO均为低电平。

只有在EI为1,且所有输入端都为0时,EO输出为1.它可与另一片编码器的EI连接,以便组成更多输入端的优先编码器。

GS的功能是,当EI为1,且至少有一个输入端有高电平信号输入时,GS为1.表明编码器处于工作状态,否则GS为0,由此可以区分当电路所有输入端均无高电平输人,或者只有I[0]输入端有高电平时,Y[2:0]均为000的情况

复制代码
`timescale 1ns/1ns

module encoder_83(
   input      [7:0]       I   ,
   input                  EI  ,
   
   output wire [2:0]      Y   ,
   output wire            GS  ,
   output wire            EO    
);
    reg [2:0] Y_r ;
    reg GS_r ;
    reg EO_r ; 

    always @ (*) begin 
        if (~EI) begin
            Y_r = 3'b000 ; 
            GS_r = 0 ; 
            EO_r = 0 ; 
        end 
        else begin 
            if (!I) begin 
                Y_r = 0 ; 
                GS_r = 0 ; 
                EO_r = 1 ; 
            end 
            else begin 
                GS_r = 1 ; 
                EO_r = 0 ; 
                casez (I) 
                    8'b1???????: Y_r = 3'b111 ; 
                    8'b01??????: Y_r = 3'b110 ; 
                    8'b001?????: Y_r = 3'b101 ; 
                    8'b0001????: Y_r = 3'b100 ; 
                    8'b00001???: Y_r = 3'b011 ;
                    8'b000001??: Y_r = 3'b010 ; 
                    8'b0000001?: Y_r = 3'b001 ; 
                    8'b00000001: Y_r = 3'b000 ; 
                    default: Y_r = 3'b000 ;
                endcase
            end
        end
    end

    assign Y = Y_r ; 
    assign GS = GS_r ; 
    assign EO = EO_r ;
    
endmodule   
相关推荐
向前V10 分钟前
Flutter for OpenHarmony轻量级开源记事本App实战:笔记编辑器
开发语言·笔记·python·flutter·游戏·开源·编辑器
LaoZhangGong12327 分钟前
学习TCP/IP的第4步:重点掌握TCP序列号和确认号
网络·学习·tcp/ip·以太网
DuHz29 分钟前
UWB 雷达综述精读:应用、标准、信号处理、数据集、芯片与未来方向——论文阅读
论文阅读·学习·算法·信息与通信·信号处理
snow_star_dream34 分钟前
(笔记)VSC python应用--函数补全注释添加
笔记·python
calvinpaean41 分钟前
Video Depth Anything: Consistent Depth Estimation for Super-Long Videos论文学习
学习
wubba lubba dub dub75042 分钟前
第三十四周 学习周报
学习
songyuc43 分钟前
【SAR】旋转框定义法学习笔记
笔记·学习
zilikew44 分钟前
Flutter框架跨平台鸿蒙开发——小语种学习APP的开发流程
学习·flutter·华为·harmonyos·鸿蒙
菜鸟‍2 小时前
【论文学习】重新审视面向持续图像分割的基于查询的 Transformer || 用于二分类图像分割的多视图聚合网络
人工智能·学习·计算机视觉
孞㐑¥2 小时前
算法—前缀和
c++·经验分享·笔记·算法