简单组合逻辑

多路选择器

  在多路数据传输过程中,能够将任意一路选出来的电路叫做数据选择器,也称多路选择器。对于一个具有2^n个输入和一个输出的多路选择器,有n个选择变量,多路选择器也是FPGA内部的一个基本资源,主要用于内部信号的选通。简单的多路选择器还可以通过级联生成更大的多路选择器。

译码器

  译码是编码的逆过程,在编码时,每一种二级制都有特定的含义,都表示一个确定的信号。把代码状态的含义翻译出来的过程叫做译码,实现该功能的电路叫做译码器。或者说,译码器是可以将输入二进制代码的状态翻译成输出信号,以表示原来含义的电路。

  译码器是一类      多输入多输出   的组合逻辑电路器件,可以分为变量译码和显示译码。

多路选择器 if else
module  mux_2_1
(input    wire    in1    ,input    wire    in2    ,input    wire    sel    ,output    reg    out
);always@(*)beginif(sel == 1'b1)beginout = in1    ;endelsebeginout = in2    ;endendendmodule

 多路选择器 case
module mux2_1
(input    wire    in1    ,input    wire    in2    ,input    wire    sel    ,output    reg    out    
);always@(*)begincase(sel)1'b1:    out    =    in1    ;1'b0:    out    =    in2    ;default:    out    =    in1    ;endcaseendendmodule

多路选择器    ?:;

        

module mux2_1
(input    wire    in1    ,input    wire    in2    ,input    wire    sel    ,output   wire    out
);assign    out    =    (sel == 1'b1)?in1:in2;endmodule

译码器 if else 

module decode_3_8
(input    wire    in1    ,input    wire    in2    ,input    wire    in3    ,output   reg [7:0]    out    );always@(*)beginif(  {in1,in2,in3}  == 3'b000 )beginout    =    8'b0000_0001    ;endelse if(  {in1,in2,in3}  == 3'b001  )beginout    =    8'b0000_0010    ;endelse if(   {in1,in2,in3} == 3'b010   )beginout    =    8'b0000_0100    ;endelse if(   {in1,in2,in3} == 3'b011   )beginout    =    8'b0000_1000    ;endelse if(   {in1,in2,in3} == 3'b100     )beginout    =    8'b0001_0000    ;endelse if(   {in1,in2,in3}  == 3'b101    )beginout    =    8'b0010_0000    ;endelse if(  {in1,in2,in3} == 3'b110  )beginout    =    8'b0100_0000    ;endelse if(  {in1,in2,in3} == 3'b111  )beginout    =    8'b1000_0000    ;endelsebeginout    =    8'b0000_0001    ;endendendmodule

译码器 case

module decode3_8
(input    wire    in1    ,input    wire    in2    ,input    wire    in3    ,output   reg [7:0]    out
);always@(*)
begin    case({in1,in2,in3})3'b000    :    out    =    8'b0000_0001    ;3'b001    :    out    =    8'b0000_0010    ;3'b010    :    out    =    8'b0000_0100    ;3'b011    :    out    =    8'b0000_1000    ;3'b100    :    out    =    8'b0001_0000    ;3'b101    :    out    =    8'b0010_0000    ;3'b110    :    out    =    8'b0100_0000    ;3'b111    :    out    =    8'b1000_0000    ;default   :    out    =    8'b0000_0001    ;endcase
endendmodule

仿真验证

仿真文件编写

`timescale 1ns/1nsmodule tb_decode3_8();reg    in1    ;reg    in2    ;reg    in3    ;wire  [7:0] out    ;initialbeginin1 <= 1'b0    ;in2 <= 1'b0    ;in3 <= 1'b0    ;endalways #10    in1 <= {$random}%2    ;always #10    in2 <= {$random}%2    ;always #10    in3 <= {$random}%2    ;initialbegin$timeformat(-9.0,"ns",6)    ;$monitor("@time %t , in1 = %b ,in2 = %b ,in3 = %b , out = %b ",$time,in1,in2,in3,out)    ;enddecoder3_8    decoder3_8_inst
(.in1    (in1)    ,.in2    (in2)    ,.in3    (in3)    ,.out    (out)
);endmodule

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/66229.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Unity-Game4Automation PRO 插件】

Game4Automation PRO 插件 是一个用于 Unity 引擎 的工业自动化仿真工具&#xff0c;它提供了对工业自动化领域的仿真和虚拟调试支持&#xff0c;特别是在与工业机器人、生产线、PLC 系统的集成方面。该插件旨在将工业自动化的实时仿真与游戏开发的高质量 3D 可视化能力结合起来…

【安卓开发】【Android】总结:安卓技能树

【持续更新】 对笔者在安卓开发的实践中认为必要的知识点和遇到的问题进行总结。 一、基础知识部分 1、Android Studio软件使用 软件界面 最新的版本是瓢虫&#xff08;Ladybug&#xff09;&#xff0c;bug的确挺多。笔者更习惯使用电鳗&#xff08;Electric Eel&#xff0…

鸿蒙打包发布

HarmonyOS应用/元服务发布&#xff08;打包发布&#xff09; https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/ide-publish-app-V13?catalogVersionV13 密钥&#xff1a;包含非对称加密中使用的公钥和私钥&#xff0c;存储在密钥库文件中&#xff0c;格式…

Spring Boot 下的Swagger 3.0 与 Swagger 2.0 的详细对比

先说结论&#xff1a; Swgger 3.0 与Swagger 2.0 区别很大&#xff0c;Swagger3.0用了最新的注释实现更强大的功能&#xff0c;同时使得代码更优雅。 就个人而言&#xff0c;如果新项目推荐使用Swgger 3.0&#xff0c;对于工具而言新的一定比旧的好&#xff1b;对接于旧项目原…

神经网络基础-价格分类案例

文章目录 1. 需求分析2. 导入所需工具包3. 构建数据集4. 构建分类网络模型5. 训练模型6. 模型训练7. 评估模型8. 模型优化 学习目标&#xff1a; 掌握构建分类模型流程动手实践整个过程 1. 需求分析 小明创办了一家手机公司&#xff0c;他不知道如何估算手机产品的价格。为了…

SAP 固定资产常用的数据表有哪些,他们是怎么记录数据的?

在SAP系统中&#xff0c;固定资产管理&#xff08;FI-AA&#xff09;涉及多个核心数据表&#xff0c;用于记录资产主数据、折旧、交易等。以下是常用的数据表及其记录数据的逻辑&#xff1a; 1. ANKT - 资产主数据表 功能&#xff1a;存储资产主数据的文本描述。 字段&#x…

光伏储能电解水制氢仿真模型Matlab/Simulink

今天更新的内容为光伏储能制氢技术&#xff0c;这个方向我之前在21年就系统研究并发表过相关文章&#xff0c;经过这几年的发展&#xff0c;绿色制氢技术也受到更多高校的注意&#xff0c;本篇博客也是在原先文章的基础上进行更新。 首先让大家熟悉一下绿氢制取技术这个概念&a…

Redis 3.2.1在Win10系统上的安装教程

诸神缄默不语-个人CSDN博文目录 这个文件可以跟我要&#xff0c;也可以从官网下载&#xff1a;https://github.com/MicrosoftArchive/redis/releases 这个是微软以前维护的Windows版Redis安装包&#xff0c;如果想要比较新的版本可以从别人维护的项目里下&#xff08;https://…

基于springboot+vue.js+uniapp技术开发的一套大型企业MES生产管理系统源码,支持多端管理

企业级智能制造MES系统源码&#xff0c;技术架构&#xff1a;springboot vue-element-plus-admin 企业级云MES全套源码&#xff0c;支持app、小程序、H5、台后管理端 MES指的是制造企业生产过程执行系统&#xff0c;是一套面向制造企业车间执行层的生产信息化管理系统。MES系…

【Redis】Redis事务和Lua脚本的区别

Redis事务 概念 事务&#xff1a;Redis事务是一组命令的集合&#xff0c;这些命令会被序列化地执行&#xff0c;中间不会被其他命令插入。 MULTI/EXEC&#xff1a;Redis事务通过MULTI命令开始&#xff0c;通过EXEC命令执行所有已入队的命令。 特点 原子性&#xff1a; 事务…

frameworks 之 AMS与ActivityThread交互

frameworks 之 AMS与ActivityThread交互 1. 类关系2. 流程2.1 AMS流程2.1 ActivityThread流程 3. 堆栈 讲解AMS 如何和 ActivityThread 生命周期调用流程 涉及到的类如下 frameworks/base/core/java/android/app/servertransaction/ResumeActivityItem.javaframeworks/base/cor…

Jmeter 简单使用、生成测试报告(一)

一、下载Jmter 去官网下载&#xff0c;我下载的是apache-jmeter-5.6.3.zip&#xff0c;解压后就能用。 二、安装java环境 JMeter是基于Java开发的&#xff0c;运行JMeter需要Java环境。 1.下载JDK、安装Jdk 2.配置java环境变量 3.验证安装是否成功&#xff08;java -versio…

如何使用淘宝URL采集商品详情数据及销量

一、通过淘宝开放平台&#xff08;如果有资质&#xff09; 注册成为淘宝开发者 访问淘宝开放平台官方网站&#xff0c;按照要求填写开发者信息&#xff0c;包括企业或个人身份验证等步骤。这一步是为了获取合法的 API 使用权限。 了解商品详情 API 淘宝开放平台提供了一系列…

Unity3D中的Lua、ILRuntime与HybridCLR/huatuo热更对比分析详解

前言 在游戏开发中&#xff0c;热更新技术是一项重要的功能&#xff0c;它允许开发者在不重新发布游戏客户端的情况下&#xff0c;更新游戏内容。Unity3D作为广泛使用的游戏引擎&#xff0c;支持多种热更新方案&#xff0c;包括Lua、ILRuntime和HybridCLR/huatuo。本文将详细介…

QT加载Ui文件信息方法(python)

在 PyQt 或 PySide 中&#xff0c;加载 Qt Designer 生成的 .ui 文件有两种常见方法&#xff1a; 使用 pyuic 将 .ui 文件转换为 Python 代码。动态加载 .ui 文件。 以下是两种方法的详细说明和示例代码。 方法 1&#xff1a;使用 pyuic 将 .ui 文件转换为 Python 代码 步骤…

javascript基础从小白到高手系列一十二:JSON

本章内容  理解JSON 语法  解析JSON  JSON 序列化 正如上一章所说&#xff0c;XML 曾经一度成为互联网上传输数据的事实标准。第一代Web 服务很大程度上 是以XML 为基础的&#xff0c;以服务器间通信为主要特征。可是&#xff0c;XML 也并非没有批评者。有的人认为XML 过…

网络编程 - - TCP套接字通信及编程实现

概述 TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;是一种面向连接的、可靠的传输层协议。在网络编程中&#xff0c;TCP常用于实现客户端和服务器之间的可靠数据传输。本文将基于C语言实现TCP服务端和客户端建立通信的过程。 三次握手 在…

2023-2024 学年 广东省职业院校技能大赛(高职组)“信息安全管理与评估”赛题一

2023-2024 学年 广东省职业院校技能大赛(高职组“信息安全管理与评估”赛题一&#xff09; 模块一:网络平台搭建与设备安全防护第一阶段任务书任务 1&#xff1a;网络平台搭建任务 2&#xff1a;网络安全设备配置与防护DCRS:DCFW:DCWS:DCBC:WAF: 模块二&#xff1a;网络安全事件…

thinkphp6 + redis实现大数据导出excel超时或内存溢出问题解决方案

redis下载安装&#xff08;window版本&#xff09; 参考地址&#xff1a;https://blog.csdn.net/Ci1693840306/article/details/144214215 php安装redis扩展 参考链接&#xff1a;https://blog.csdn.net/jianchenn/article/details/106144313 解决思路&#xff1a;&#xff0…

PT8M2302 触控 A/D 型 8-Bit MCU

1. 产品概述 PT8M2302 是一款可多次编程&#xff08; MTP &#xff09; A/D 型 8 位 MCU &#xff0c;其包括 2K*16bit MTP ROM 、 256*8bit SRAM、 ADC 、 PWM 、 Touch 等功能&#xff0c;具有高性能精简指令集、低工作电压、低功耗特性且完全集 成触控按键功能。为…