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

FPGA前瞻篇-组合逻辑电路设计-多路复用器

多路选择器(MUX)简介

基本概念

多路选择器(MUX,Multiplexer)是一种多输入、单输出的组合逻辑电路。

它通过选择控制信号,在多个输入信号中选择一个连接到输出端。

可以理解为一个多路数字开关

🛠 功能描述

一个 N 路输入的 MUX,有 N 个输入通道,1 个公共输出端。

控制信号(通常是 log₂(N) 位)决定了当前选通的是哪一路输入。

多路选择器可以实现信号切换、数据路由等功能,是数字系统中非常常用的模块。

在 FPGA 中的应用

多路选择器是 FPGA 内部的基础资源单元之一,广泛用于内部信号的选择与切换。

通过级联多个小型 MUX,可以轻松构建更大规模的多路选择器。

本节的实验任务是使用开发板来设计一个简单的 2 1 多路选择器,主要功能是通过选通控制信号 sel 确定输入信号 in1 in2 哪一个信号作为输出。当选通控制信号 sel 1 时,输出为 A 端信号;当选通控制信号 sel 0 时,信号输出为 B 端信号。

有两个输入信号:in1in2

有一个控制信号:sel(select,选择的意思)

有一个输出信号:out

“当sel=1时,输出in1;当sel=0时,输出in2。”

assign out = sel ? in1 : in2;
always @(*) beginif (sel)out = in1;elseout = in2;
end

做一个32选1多路选择器

32个输出口,默认都是断开的,只有一个口连接到 VCC。

5个控制引脚,作为通道选择,因为 25=322^5 = 3225=32,正好能选 32 个通道。

再加 1个输入引脚(比如直接接 VCC 电源)。

控制思路是:

当选择信号是 00001(也就是十进制的 1)时,第1口输出VCC,其余口输出0。

当选择信号是 00010(也就是十进制的2)时,第2口输出VCC,其余为0。

以此类推。

名称数量说明
选择输入(select)5控制要打通哪一个口
电源输入(VCC)1提供需要送出的信号
输出口(out0~out31)32连接到外部使用,每次只有一个输出有效
module mux32_out(input wire [4:0] sel,    // 5位选择信号input wire vcc_in,       // VCC输入output wire [31:0] out   // 32路输出
);// 全部输出初始化为0,只有选中的那一路为vcc_in
assign out = (vcc_in) ? (32'b1 << sel) : 32'b0;endmodule
module mux32_out_auto(input wire clk,        // 系统时钟(比如50MHz)input wire rst_n,      // 系统复位,低有效input wire vcc_in,     // VCC输入(固定高电平)output wire [31:0] out // 32路输出
);reg [4:0] sel;             // 选择信号// --- 选择器逻辑 ---
assign out = (vcc_in) ? (32'b1 << sel) : 32'b0;// --- 选择器自动增加逻辑 ---
always @(posedge clk or negedge rst_n) beginif (!rst_n)sel <= 5'd0;             // 复位时回到0elsesel <= (sel == 5'd31) ? 5'd0 : sel + 1'b1;  // 达到31时回0,否则加1
endendmodule

相关文章:

FPGA前瞻篇-组合逻辑电路设计-多路复用器

多路选择器&#xff08;MUX&#xff09;简介 基本概念 多路选择器&#xff08;MUX&#xff0c;Multiplexer&#xff09;是一种多输入、单输出的组合逻辑电路。 它通过选择控制信号&#xff0c;在多个输入信号中选择一个连接到输出端。 可以理解为一个多路数字开关。 &…...

作为高速通道光纤传输模式怎么理解以及到底有哪些?

光纤的传输模式主要取决于光纤的结构(如纤芯直径和折射率分布),不同模式对应光波在光纤中传播的不同路径和电磁场分布。以下是光纤传输模式的主要分类及特点: 1. 单模光纤(Single-Mode Fiber, SMF) 核心特点: 纤芯直径极小(通常为 8-10微米),仅允许光以单一模式(…...

【Castle-X机器人】五、物联网模块配置与调试

持续更新。。。。。。。。。。。。。。。 【Castle-X机器人】五、物联网模块配置与调试 五、物联网模块配置与调试5.1 物联网模块调试物联网模块测试:控制物联网模块:物联网模块话题五、物联网模块配置与调试 5.1 物联网模块调试 调试前需确保Castle-x与mqtt主机服务器处于同…...

马架构的Netty、MQTT、CoAP面试之旅

标题&#xff1a;马架构的Netty、MQTT、CoAP面试之旅 在互联网大厂的Java求职者面试中&#xff0c;一位名叫马架构的资深Java架构师正接受着严格的考验。他拥有十年的Java研发经验和架构设计经验&#xff0c;尤其对疑难问题和线索问题等有着丰富的经历。 第一轮提问&#xff…...

20250426在ubuntu20.04.2系统上打包NanoPi NEO开发板的FriendlyCore系统刷机eMMC的固件

20250426在ubuntu20.04.2系统上打包NanoPi NEO开发板的FriendlyCore系统刷机eMMC的固件 2025/4/26 21:30 缘起&#xff1a;使用NanoPi NEO开发板&#xff0c;编译FriendlyCore系统&#xff0c;打包eMMC固件的时候报错。 1、在ubuntu14.04下git clone异常该如何处理呢&#xff…...

JAVA---字符串

ctrlN 搜索界面&#xff08;idea&#xff09; API和API帮助文档 API &#xff1a; 应用程序编程接口&#xff08;换句话说&#xff0c;就是别人已经写好了&#xff0c;我们不需要再编写&#xff0c;直接使用即可&#xff09; Java API &#xff1a;就是JDK中提供的各种功能…...

MacOS 10.15上能跑大语言模型吗?

MacOS 10.15上能跑大语言模型吗&#xff1f; 下载安装Ollama运行大语言模型引申出的问题 MacOS 10.15.7&#xff08;发布于2020年9月&#xff09;作为已经发布了将近5年的系统版本能够运行当今流行的大语言模型吗&#xff1f;这篇文章简要介绍了在MacOS 10.15上通过Ollama运行d…...

AI Agent开发第37课-DeepSeek的多模态版JanusPro-7B本地安装

开篇 搜遍Janus Pro git issues、谷哥、国内网络,教程全都是错的。因此还是决定写一本全网唯一正确的教程。 目前网上的教程包括外网的教程都是“缺斤少量”,按照那些教程操作下来不是装不起来,就是装起来只能CPU运行,或者运行起来了Janus的Web前端老是转啊转不出内容。 …...

神经网络笔记 - 感知机

一 感知机是什么 感知机&#xff08;Perceptron&#xff09;是一种接收输入信号并输出结果的算法。 它根据输入与权重的加权和是否超过某个阈值&#xff08;threshold&#xff09;&#xff0c;来判断输出0还是1。 二.计算方式 感知机的基本公式如下&#xff1a; X1, X2 : …...

阿里云基于本地知识库构建RAG应用 | 架构与场景

RAG&#xff08;检索增强生成&#xff0c;Retrieval-Augmented Generation&#xff09;是一种结合了检索和生成技术的框架&#xff0c;旨在通过外部知识库的检索来增强大语言模型&#xff08;LLM&#xff09;的生成能力。 其核心架构包括两个主要部分&#xff1a; 检索模块&a…...

CSS简单实用的加载动画、骨架屏有效果图

效果图 .wxml <!-- 骨架屏 --> <view wx:for"{{skeleton}}" wx:key"index" class"container center" style"--w:{{item.w}}rpx;--h:{{item.h}}rpx" /> <!-- 加载 --> <view class"arco-loading center&quo…...

3:QT联合HALCON编程—海康相机SDK二次程序开发

思路&#xff1a; 1.定义带UI界面的主函数类 1.1在主函数中包含其它所有类头文件&#xff0c;进行声明和实例化&#xff1b;使用相机时&#xff0c;是用公共相机的接口在某一个具体函数中去实例化具体的海康相机对象。 1.2设计界面&#xff1a;连接相机&#xff0c;单次采集&a…...

【前后端分离项目】Vue+Springboot+MySQL

文章目录 1.安装 Node.js2.配置 Node.js 环境3.安装 Node.js 国内镜像4.创建 Vue 项目5.运行 Vue 项目6.访问 Vue 项目7.创建 Spring Boot 项目8.运行 Spring Boot 项目9.访问 Spring Boot 项目10.实现 Vue 与 Spring Boot 联动11.安装 axios12.编写请求13.调用函数请求接口14.…...

数据结构和算法(八)--2-3查找树

目录 一、平衡树 1、2-3查找树 1.1、定义 1.2、查找 1.3、插入 1.3.1、向2-结点中插入新键 1.3.2、向一棵只含有一个3-结点的树中插入新键 1.3.3、向一个父结点为2-结点的3-结点中插入新键 1.3.4、向一个父结点为3-结点的3-结点中插入新键 1.3.5、分解根结点 1.4、2…...

Java爬虫入门:从网页抓取到数据提取(正则表达式篇)

在当今信息爆炸的时代&#xff0c;如何从浩瀚的互联网中快速、准确地获取所需数据成为了一个重要的技能。网络爬虫技术应运而生&#xff0c;它允许我们自动化地访问网页并提取其中的信息。Java作为一门功能强大且拥有丰富生态的编程语言&#xff0c;在构建网络爬虫方面也表现出…...

Unity-Shader详解-其二

前向渲染和延迟渲染 前向渲染和延迟渲染总的来说是我们的两种主要的渲染方式。 我们在Unity的Project Settings中的Graphic界面能够找到渲染队列的设定&#xff1a; 我们也可以在Main Camera这里进行设置&#xff1a; 那这里我们首先介绍一下两种渲染&#xff08;Forward R…...

深入浅出理解并应用自然语言处理(NLP)中的 Transformer 模型

1 引言 随着信息技术的飞速发展&#xff0c;自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;作为人工智能领域的一个重要分支&#xff0c;已经取得了长足的进步。从早期基于规则的方法到如今的深度学习技术&#xff0c;NLP 正在以前所未有的速度改变着我…...

当自动驾驶遇上“安全驾校”:NVIDIA如何用技术给无人驾驶赋能?

自动驾驶技术的商业化落地&#xff0c;核心在于能否通过严苛的安全验证。国内的汽车企业其实也在做自动驾驶&#xff0c;但是吧&#xff0c;基本都在L2级别。换句话说就是在应急时刻内&#xff0c;还是需要人来辅助驾驶&#xff0c;AI驾驶只是决策层&#xff0c;并不能完全掌握…...

WIN11安装Ubuntu22.04双系统,驱动cuda,配置3D GS

前言&#xff1a;看了很多基于3D GS开发的SLAM系统都默认在Ubuntu20.04-22.04中运行&#xff0c;并且WIN11不太方便安装cmake等基础编译库。所以还是在Ubuntu系统中进行咱的研究吧。 step 1. WIN11安装Ubuntu双系统 首先确认系统是否为UEFI模式。 winX进行磁盘管理&#xff…...

【OSG学习笔记】Day 9: 状态集(StateSet)与渲染优化 —— 管理混合、深度测试、雾效等渲染状态

干货开始。_ 一、StateSet核心概念与作用 StateSet 是OSG(OpenSceneGraph)中管理渲染状态的核心类,用于封装 OpenGL 渲染状态(如混合、深度测试、雾效、材质、纹理、着色器等),并将这些状态应用于节点或几何体。 通过合理组织 StateSet,可实现: 渲染状态的高效复用:…...

如何解析商品详情页面

解析商品详情页面是爬虫开发中的一个重要环节。由于商品详情页面通常包含丰富的信息&#xff0c;如商品名称、价格、描述、图片等&#xff0c;因此需要仔细分析页面结构并提取所需数据。以下是一个详细的步骤指南&#xff0c;展示如何使用 Java 和 Jsoup 解析商品详情页面。 一…...

Operating System 实验七 Linux文件系统实验

实验目标: 使用dd命令创建磁盘镜像文件ext2.img并格式化为ext2文件系统,然后通过mount命令挂载到Linux主机文件系统。查看ext2文件系统的超级块的信息,以及数据块的数量、数据块的大小、inode个数、空闲数据块的数量等信息 在文件系统中创建文件xxxxx.txt(其中xxxxx为你的学…...

使用 IntersectionObserver 实现懒加载提升网页性能的高效方案

在当今快节奏的网络环境中&#xff0c;用户对于网页加载速度的要求越来越高。对于前端开发者而言&#xff0c;优化网页性能、减少初始加载时间成为了一项至关重要的任务。懒加载&#xff08;Lazy Loading&#xff09;作为一种有效的性能优化策略&#xff0c;能够延迟非关键资源…...

Python-Django系列—部件

部件是 Django 对 HTML 输入元素的表示。部件处理 HTML 的渲染&#xff0c;以及从对应于部件的 GET&#xff0f;POST 字典中提取数据。 内置部件生成的 HTML 使用 HTML5 语法&#xff0c;目标是 <!DOCTYPE html>。例如&#xff0c;它使用布尔属性&#xff0c;如 checked…...

linux中shell脚本的编程使用

linux中shell脚本的编程使用 1.shell的初步理解1.1 怎么理解shell1.2 shell命令 2.shell编程2.1 什么是shell编程2.2 C语言编程 和 shell编程的区别 3.编写和运行第一个shell脚本程序3.1 编写时需要注意以下几点&#xff1a;3.1.1 shell脚本没有main函数&#xff0c;没有头文件…...

图像畸变-径向切向畸变实时图像RTSP推流

实验环境 注意&#xff1a;ffmpeg进程stdin写入两张图片的时间间隔不能太长&#xff0c;否则mediamtx会出现对应的推流session超时退出。 实验效果 全部代码 my_util.py #进度条 import os import sys import time import shutil import logging import time from datetime i…...

手搓雷达图(MATLAB)

看下别人做出来什么效果 话不多说&#xff0c;咱们直接开始 %% 可修改 labels {用户等级, 发帖数, 发帖频率, 点度中心度, 中介中心度, 帖子类型计分, 被列为提案数}; cluster_centers [0.8, 4.5, 3.2, 4.0, 3.8, 4.5, 4.2; % 核心用户0.2, 0.5, 0.3, 0.2, 0.1, 0.0, 0.0;…...

汽车零配件供应商如何通过EDI与主机厂生产采购流程结合

当前&#xff0c;全球汽车产业正经历深刻的数字化转型&#xff0c;供应链协同模式迎来全新变革。作为产业链核心环节&#xff0c;汽车零部件供应商与主机厂的高效对接已成为企业发展的战略要务。然而&#xff0c;面对主机厂日益严格的数字化采购要求&#xff0c;许多供应商在ED…...

闻性与空性:从耳根圆通到究竟解脱的禅修路径

一、闻性之不动&#xff1a;超越动静的觉性本质 在《楞严经》中&#xff0c;佛陀以钟声为喻揭示闻性的奥秘&#xff1a;钟声起时&#xff0c;闻性显现&#xff1b;钟声歇时&#xff0c;闻性不灭。此“不动”并非如磐石般凝固&#xff0c;而是指觉性本身超越生灭、来去的绝对性…...

第34课 常用快捷操作——按“空格键”旋转图元

概述 旋转某个图元&#xff0c;是设计过程中常需要用到的操作&#xff0c;无论是在原理图中旋转某个图形&#xff0c;还是在PCB图中旋转某个元素。 旋转操作的快捷键是空格键。下面作详细介绍。 按空格键旋转图元 当我们选中一个图元时&#xff0c;按下空格键&#xff0c;即…...