当前位置: 首页 > news >正文

【Verilog学习日常】—牛客网刷题—Verilog快速入门—VL16

使用8线-3线优先编码器Ⅰ实现16线-4线优先编码器

描述

②请使用2片该优先编码器Ⅰ及必要的逻辑电路实现16线-4线优先编码器。优先编码器Ⅰ的真值表和代码已给出。

可将优先编码器Ⅰ的代码添加到本题答案中,并例化。

优先编码器Ⅰ的代码如下:

module encoder_83(input      [7:0]       I   ,input                  EI  ,output wire [2:0]      Y   ,output wire            GS  ,output wire            EO    
);
assign Y[2] = EI & (I[7] | I[6] | I[5] | I[4]);
assign Y[1] = EI & (I[7] | I[6] | ~I[5]&~I[4]&I[3] | ~I[5]&~I[4]&I[2]);
assign Y[0] = EI & (I[7] | ~I[6]&I[5] | ~I[6]&~I[4]&I[3] | ~I[6]&~I[4]&~I[2]&I[1]);assign EO = EI&~I[7]&~I[6]&~I[5]&~I[4]&~I[3]&~I[2]&~I[1]&~I[0];assign GS = EI&(I[7] | I[6] | I[5] | I[4] | I[3] | I[2] | I[1] | I[0]);
//assign GS = EI&(| I);endmodule


下表是8线-3线优先编码器Ⅰ的功能表

EI

I[7]

I[6]

I[5]

I[4]

I[3]

I[2]

I[1]

I[0]

Y[2]

Y[1]

Y[0]

GS

EO

0

x

x

x

x

x

x

x

x

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

x

x

x

x

x

x

x

1

1

1

1

0

1

0

1

x

x

x

x

x

x

1

1

0

1

0

1

0

0

1

x

x

x

x

x

1

0

1

1

0

1

0

0

0

1

x

x

x

x

1

0

0

1

0

1

0

0

0

0

1

x

x

x

0

1

1

1

0

1

0

0

0

0

0

1

x

x

0

1

0

1

0

1

0

0

0

0

0

0

1

x

0

0

1

1

0

1

0

0

0

0

0

0

0

1

0

0

0

1

0

输入描述:

   input      [15:0]      A   ,
   input                  EI  

输出描述:

   output wire [3:0]      L   ,
   output wire            GS  ,
   output wire            EO  

解题思路:

16-4线优先编码器与8-3优先编码器工作状态类似:

对于编码器1:令其I7~I0对应16-4编码器的A7~A0,将编码器1记为EN1;

同理,编码器2I7~I0对应16-4编码器的A15~A8,将编码器2记为EN2;

将EN1的使能端EI做为整个编码器的使能端EI;

其中,我们希望当EN1为EI=1时,EN2的EI端同样为1,即两个编码器EN1,EN2同时进入工作状态;根据8-3编码器的功能表,发现,当E1=1时,无论什么情况,GS和EO端的输出值总有一个值为1,即GS | EO = 1;因此,将EN1的GS端和EO端经过一个或门(OR)再接入EN2的EI端

GS:当且仅当A[15:0]为全0时,GS=0,因此,将两个EN的GS端经过一个或门(OR)输出,可包含以上情况;

EO:当且仅当A[15:0]为全0时,EO=1,因此,将两个EN的EO端经过一个与门(AND)输出;


对于输出变量L的判断:

L[3]当L[3]=0时,说明待编码的数据为前8个数据(EN1);当L[3]=1时,说明待编码的数据为后8个数据(EN2);

对于L[3]的状态的判定,只需要判定EN2的输出端Y与GS的按位相或是否为1(观察8-3编码器功能表),

L[3]=1则说明EN2处于输出状态,最终输出的L[2:0]同样应为EN2的Y端

L[3]=0:说明L[2:0]应对应于EN1的输出端Y

(因为设定的是EN2的为高端输出,因此EN2优先级高)

因此,根据以上所述画出其电路图:


代码如下:
`timescale 1ns/1nsmodule encoder_164(input      [15:0]      A   ,input                  EI  ,output wire [3:0]      L   ,output wire            GS  ,output wire            EO    
);
wire [2:0] E1_Y, E2_Y;
wire Eo_1, Eo_2;
wire Ei_2;
wire GS_1, GS_2;
//编码器1
encoder_83 EN1(.I(A[7:0]),.EI(EI),.Y(E1_Y),.GS(GS_1),.EO(Eo_1));
//编码器2
assign Ei_2 = GS_1 | Eo_1;encoder_83 EN2(.I(A[15:8]),.EI(Ei_2),  .Y(E2_Y),.GS(GS_2),.EO(Eo_2));assign L[3] = |{E2_Y[2:0], GS_2} ;
assign L[2:0] = (L[3])? E2_Y : E1_Y;assign EO = Eo_1&Eo_2;
assign GS = GS_1 | GS_2;endmodule

相关文章:

【Verilog学习日常】—牛客网刷题—Verilog快速入门—VL16

使用8线-3线优先编码器Ⅰ实现16线-4线优先编码器 描述 ②请使用2片该优先编码器Ⅰ及必要的逻辑电路实现16线-4线优先编码器。优先编码器Ⅰ的真值表和代码已给出。 可将优先编码器Ⅰ的代码添加到本题答案中,并例化。 优先编码器Ⅰ的代码如下: module…...

12 - TCPServer实验

在上一章节中,我们学习了TCPClient通信测试的相关知识。接下来,本章节将以此为基础,构建一个基础性的TCPServer连接机制,该机制将利用之前所建立的WIFI网络连接。为方便演示,我们将借助网络调试助手工具进行数据的发送…...

Explain执行计划

Explain执行计划 explain可以帮助开发人员分析SQL问题,explain用于显示MySQL如何使用SQL执行计划,可以帮助开发人员写出更优化的查询语句。使用方法就是在查询语句前加上explain关键字。 执行添加上explain关键字的语句可以看到一个列表: 其…...

ARM/Linux嵌入式面经(三六):中科曙光

文章目录 1.AD转换,怎么在项目中运用2.项目中的通信网络介绍一下通信网络介绍1. 通信网络类型2. 通信网络特点3. 应用场景4. 关键技术5. 项目中的具体应用和实现方式模拟面试官追问3.socketSocket介绍深度拓展与追问深度拓展可能的追问4.进程间通信方式进程间通信方式介绍总结…...

Python和C++气候模型算法模型气候学模拟和统计学数据可视化及指标评估

🎯要点 贝叶斯推理气候模型辐射对流及干湿能量平衡模型时间空间气象变化预测模型评估统计指标气象预测数据变换天气和气象变化长短期影响预估降低气候信息尺度评估算法气象行为模拟:碳循环、辐射强迫和温度响应温室气体排放碳循环温室诱导气候变化评估气…...

鸿蒙开发城市联动选择弹框

鸿蒙开发城市联动选择弹框 城市联动选择弹框不容易,在Android那边也是不容易。选择某个省份时,城市要对得上,切换得及时 一、思路: 关键用Provide和Consume互相监听对方的变化 二、效果图: 三、视频效果&#xff1…...

css 控制虚线刻度尺寸

文章目录 css效果 css <div style"width: 100%; height: 1px;background-image: linear-gradient(to right, #545454 0%, #545454 80%, transparent 5%);background-size: 15px 10px;background-repeat: repeat-x; margin: 0 auto;"></div>效果...

NLP三天入门大模型,我领先你好几个版本了

大模型时代下&#xff0c;nlp初学者需要怎么入门? 入门姿势简单粗暴:打一些必要的基础就跑步进入Transformera 大模型时代&#xff0c;传统的算法&#xff0c;像分词、词性标注&#xff0c;被替代得非常厉害&#xff0c;在入门阶段没必要花费太多精力在传统算法上面。 数学和…...

专题六_模拟_算法详细总结

目录 模拟算法 1.模拟算法流程&#xff08;一定要在草稿纸上演算一遍流程&#xff09; 2.把流程转换成代码 1. 替换所有的问号&#xff08;easy&#xff09; 解析&#xff1a; 1.暴力&#xff1a; 2.优化&#xff1a;&#xff08;找规律&#xff09; 总结&#xff1a; …...

ArrayList的扩容机制

ArrayList的扩容机制 ArrayList中的成员变量&#xff1a;1.不带参数的构造方法 让elementDate 引用指向 DEFAULTCAPACITY_EMPTY_ELEMENTDATA所指向的对象 > 当我们调用 不带参数的构造方法的时候 第一次进行add元素的时候&#xff0c;会为底层的数组 进行内存的分配&…...

一、编译原理(引论)

目录 【一】、引论 一、编译器 1、编译器 2、编译器与解释器 3、编译器结构 【一】、引论 一、编译器 1、编译器 &#xff08;1&#xff09;编译器&#xff1a;将人类易懂的 高级语言 翻译成 硬件可执行的目标机器语言 &#xff08;2&#xff09; 高级语言 ⚫ 直接面…...

【Javascript修炼篇】JS中的函数式编程

介绍&#xff1a; 函数式编程&#xff08;FP&#xff09;是一种编程范式&#xff0c;这意味着一种基于一些原则来思考软件构建的方法&#xff0c;比如 纯函数、不可变性、一等与高阶函数、函数组合、闭包、声明式编程、递归、引用透明性、柯里化 和 部分应用。 当这些原则有效…...

spring cxf 常用注解

在Spring框架中&#xff0c;特别是当与Apache CXF&#xff08;一个流行的SOAP和RESTful Web服务框架&#xff09;结合使用时&#xff0c;我们会遇到一系列的注解。以下是一些在Spring和CXF中常用的注解&#xff1a; Spring相关注解&#xff1a; Component&#xff1a;用于定义一…...

python | x-y 网格切片

写在前面 通常&#xff0c; 我们处理的毕竟完善的nc产品&#xff0c;一般呈现未timexlatxlon的维度&#xff0c;且lon和lat都是规则的网格&#xff0c;我们可以方便的使用xarray.sel()选择合适的区域进行切片。但是&#xff0c;部分nc产品比如卫星轨道或者模式输出的数据&…...

【C#】vs2022 .net8

Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 (microsoft.com) 更新就会出现...

【华为杯】第二十一届中国研究生数学建模竞赛

“华为杯”第二十一届中国研究生数学建模竞赛即将开始&#xff0c;梦想科研社给大家整理一些比赛信息&#xff0c;在正式开赛后&#xff0c;我们也会持续分享一些课题的分析以及代码&#xff0c;有需要的可以联系我们获取资料信息哦 一、时间节点 1.加密赛题开始下载时间&…...

首次开机android.intent.action.BOOT_COMPLETED开机广播发送慢的问题

1. 背景 做过android开发的同学相信一定做个这种逻辑:app接收BOOT_COMPLETED开机广播&#xff0c;自启动&#xff0c;或者收到广播做一些事情。目前在我们的项目上遇到首次开机&#xff0c;BOOT_COMPLETED开机广播发送慢的问题。接下来分享记录下如何定位这类问题。 2. 分析过…...

通信工程学习:什么是OLT光线路终端

OLT&#xff1a;光线路终端 OLT&#xff08;Optical Line Terminal&#xff0c;光线路终端&#xff09;是光纤通信系统中的核心局端设备&#xff0c;特别是在无源光网络&#xff08;Passive Optical Network, PON&#xff09;架构中扮演着至关重要的角色。以下是关于OLT光线路终…...

Unity的Button组件进行扩展

废话不多说&#xff0c;在Untiy中&#xff0c;如果想要对Button等组件进行扩展的话&#xff0c;那么不仅仅只需要将新增的属性设置为public或者增加SerializeField字段就行了的&#xff0c;同时需要对Inspector的GUI面板进行修改&#xff0c;以下直接展示代码&#xff1a; usi…...

前端vue-插值表达式和v-html的区别

创建vue实例的时候&#xff0c;可以有两种形式。 1.let appnew Vue({}) 2 const appnew Vue({}) 3 el是挂载点&#xff0c;是上面div的id值 4 data中的值可以展示在上面div中 5 v-html标签里面如果有内容&#xff0c;则我们的新内容会把标签里面的内容覆盖掉...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

C++ 设计模式 《小明的奶茶加料风波》

&#x1f468;‍&#x1f393; 模式名称&#xff1a;装饰器模式&#xff08;Decorator Pattern&#xff09; &#x1f466; 小明最近上线了校园奶茶配送功能&#xff0c;业务火爆&#xff0c;大家都在加料&#xff1a; 有的同学要加波霸 &#x1f7e4;&#xff0c;有的要加椰果…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台

淘宝扭蛋机小程序系统的开发&#xff0c;旨在打造一个互动性强的购物平台&#xff0c;让用户在购物的同时&#xff0c;能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机&#xff0c;实现旋转、抽拉等动作&#xff0c;增…...