verilog基本语法-case语句-译码电路,编码电路,选择器电路

概述:

本节主要讲解LUT构造的组合逻辑电路中的译码电路,编码电路,选择器电路。这些基本电路是使用的最广泛的电路,但是一般情况下很容易忽略这些电路。其中译码电路是构成RAM中写地址的电路,而选择电路是构成RAM中数据读出的地址。编码电路用于模数转换器ADC的编码等。这些都是使用FPGA的过程 中经常用到的,但是容易忽视他的设计原理。本节通过基本的verilog语句来测试这些电路的构造原理。

使用case语句构造

case(a)
_:_;
...
endcase

主要内容

1.译码电路

2.编码电路

3.选择器电路

1.译码电路

代码

module assign1(input[1:0] A,output reg [3:0]	y);always @(*)case (A)2'b00   : y <= 4'b0001;2'b01   : y <= 4'b0010;2'b10   : y <= 4'b0100;2'b11   : y <= 4'b1000;default : y <= 4'b0000;endcase
endmodule

RTL结构图

技术原理图

2.编码电路

代码

module assign1(input[3:0] A,output reg [1:0]	y);always @(*)case (A)4'b0001 : y <= 2'b00;4'b0010 : y <= 2'b01;4'b0100 : y <= 2'b10;4'b1000 : y <= 2'b11;default : y <= 2'b00;endcase
endmodule

RTL结构图

技术原理图

3.选择电路

代码

module assign1(input[1:0] A,input din1,din2,din3,din4,output reg 	y,output  	y2); assign y2 = A[0]? din2 : din1; // 2选1always @(*)  // 4选1case (A)2'b00: y = din1;2'b01: y = din2;2'b10: y = din3;2'b11: y = din4;endcaseendmodule

RTL结构图

技术原理图

4. 总结

1. 通过awalys @(*) 语句实现组合逻辑语句

2. case语句可以实现译码电路,编码电路,选择电路的实现

3. 译码电路和编码电路会遇到宽组合逻辑设计场合,列如1G的ram的写地址线,65536位ADC的编码等,

4. 选择电路是FPGA内部结构的基本元件,他的使用频率高,使用LUT+MUX结合来设计组合电路,可以提高资源的利用率。此外选择器也作为存储器的读出地址线。

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

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

相关文章

Vue xtermjs 终端

Vue xtermjs 终端 安装步骤如下 安装xtermjs所需要的插件 npm install --save xterm npm install --save xterm-addon-fit npm install --save xterm-addon-attachHTML代码片段 <template><div><a-drawertitle"终端"placement"right":cl…

视频数据卡设计方案:120-基于PCIe的视频数据卡

一、产品概述 基于PCIe的一款视频数据收发卡&#xff0c;并通过PCIe传输到存储计算服务器&#xff0c;实现信号的采集、分析、模拟输出&#xff0c;存储。 产品固化FPGA逻辑&#xff0c;实现PCIe的连续采集&#xff0c;单次采集容量2GB&#xff0c;开源的PCIe QT客…

安卓11添加切换以太网动态静态方法

客户要在app中自由切换动态&#xff0c;静态方法&#xff0c;直接把系统jar-api给他搞了半天搞不定&#xff0c;只有在系统里给他实现一个接口&#xff0c;方法如下&#xff1a; Index: packages/apps/Settings/AndroidManifest.xml--- packages/apps/Settings/AndroidManifes…

11.仿简道云公式函数实战-逻辑函数-TRUE

1. TRUE函数 TRUE 函数可直接返回逻辑值 true。 2. 函数用法 TRUE() 3. 函数示例 TRUE 函数一般不会作为函数单独使用&#xff0c;可与其他函数一起使用&#xff0c;或作为判断逻辑的结果。如&#xff0c;判断字段值是否为空时&#xff0c;设置公式为IF(ISEMPTY(方案选择)…

接口使用@requestMapping应用场景

父类&#xff1a; public class BaseController<T> {PostMappingpublic ResponseValue add(HttpServletRequest req, Validated({DeleteValid.class}) T entity) throws Exception {return service.add(req, entity);}GetMappingpublic ResponseValue searchList(HttpSe…

02 python语句判断

2.1 布尔类型与比较运算符 演示bool类型的定义 比较运算符的应用# 定义变量储存布尔类型的数据 bool1True bool2False print(fbool1变量的内容是&#xff1a;{bool1},其类型是{type(bool1)}) print(fbool2变量的内容是&#xff1a;{bool2},其类型是{type(bool2)})# 比较运算符的…

“以赛促创”火正旺! 诸暨海归小镇逐梦“天空之城”

大雪节气已过&#xff0c;寒意渐浓&#xff0c;海归小镇却涌动着一股热潮。12月13日&#xff0c;以“海归智汇新时代 聚力创赢新发展”为主题的欧美同学会第三届“双创”大赛空天装备产业赛区决赛在浙江诸暨举行。作为全国唯一一个落地此项赛事的县级城市&#xff0c;诸暨将以赛…

c++用#define宏定义来批量实例化对象

参考自 PX4-Autopilot/platforms/common/include/px4_platform_common/param.h 正常实例化一个类Myclass Myclass obj 实例化多个类&#xff1a; Myclass1 obj1; Myclass2 obj2; Myclass3 obj3; ... 如果之后还要对这些对象都进行统一的一系列操作&#xff0c;比如obj1.up…

面试题-反转链表

反转链表的java写法&#xff0c;熟能生巧。 目录 一、题目描述 数据范围 样例 二、实现代码&#xff08;java&#xff09; 一、题目描述 定义一个函数&#xff0c;输入一个链表的头结点&#xff0c;反转该链表并输出反转后链表的头结点。 思考题&#xff1a; 请同时实现迭代…

【PostgreSQL】从零开始:(三)PgAdmin4下载与安装

【PostgreSQL】从零开始:&#xff08;三&#xff09;PgAdmin4下载与安装 pgAdmin简介liunx下部署通过yum部署pgAdmin4&#xff08;6.21&#xff09;1.安装依赖包2.永久停止防火墙3.配置pgadmin4项目源4.下载并安装pgAdmin45.执行初始化命令6.访问我们的网站 liunx下通过python方…

Linux install manual 1Panel

前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。1Panel 的功能和优势包括: 快速建站:深度集成 Wordpress 和 Halo,域名绑定、SSL 证书配置等一键搞定;高效管理:通过 Web 端轻松管理 Linux 服务器,包括主机监控、文件管理、数据库管理、容器管理等;安全可…

利用机器学习实现客户细分的实战

前言&#xff1a; Hello大家好&#xff0c;我是Dream。 今天来学习一下机器学习实战中的案例&#xff1a;创建客户细分&#xff0c;在此过程中也会补充很多重要的知识点&#xff0c;欢迎大家一起前来探讨学习~ 一、导入数据 在此项目中&#xff0c;我们使用 UCI 机器学习代码库…

Mysql研学-SQL语言基础

一 DDL语句:数据定义语言 1 作用:操作表 2 常用关键字 CREATE(创建) DROP(删除(销毁)) ALTER修改 3 格式 -- 单行注释/* 多行注释 */删除表:DROP TABLE [IF EXISTS] 表名;括号内为查看该表是否存在有则删创建表:参考JavaBean中定义有参构造器 &#xff08;最后一列不写逗…

如何创建逼真的3D模型

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 1、如何创建逼真的3D模型 通过调整默认的表面贴图&#xff0c;可以为…

DNSLog漏洞探测(七)之SQL注入漏洞实战

DNSLog漏洞探测(七)之SQL注入漏洞实战 在前面的文章之中&#xff0c;我们已经学习了XSS、RCE、XXE、SSRF漏洞中有关于DNSLog平台的使用。这些漏洞本身在执行时就有解析URL地址&#xff0c;发起网络请求的操作&#xff0c;所以只要我们把DNSLog平台获取的子域名地址发送到存在漏…

电脑监控软件丨你能接受在电脑上安装吗

很多人说自己是不能接受老板在电脑上安装电脑监控软件的&#xff0c;怎么说呢&#xff0c;我自己本身是没有任何意见的。 我是可以接受的。 先来说说我的理由&#xff1a; 我是站在企业管理者的角度上&#xff0c;来思考这个问题的。老板花钱雇佣员工不是来公司来上网聊天打游…

docker-harbor私有仓库

docker 三大组件 镜像 容器 仓库 仓库&#xff1a;保存镜像 私有&#xff0c;自定义用户的形式登录仓库&#xff0c;拉去或者上传镜像&#xff08;内部管理的用户&#xff09; harbor&#xff1a;是由VMware公司开发的&#xff0c;开源的企业级的docker registry 项目 。 帮…

阿里云国际DDOS设置流量清洗阈值

当您的公网IP资产的业务流量超过正常流量基线时&#xff0c;DDoS防护会对攻击流量进行清洗&#xff0c;并尽可能保障您的业务可用。本文介绍了设置流量清洗阈值的方法。 背景信息 DDoS原生防护在清洗判定中采用了AI智能分析的方法。您可以根据正常业务流量基线&#xff0c;设…

图像特征提取-角点

角点特征 大多数人都玩过拼图游戏。首先拿到完整图像的碎片&#xff0c;然后把这些碎片以正确的方式排列起来从而重建这幅图像。如果把拼图游戏的原理写成计算机程序&#xff0c;那计算机就也会玩拼图游戏了。 在拼图时&#xff0c;我们要寻找一些唯一的特征&#xff0c;这些…

数据结构之---- 图

数据结构之---- 图 什么是图&#xff1f; 图是一种非线性数据结构&#xff0c;由顶点和边组成。我们可以将图 &#x1d43a; 抽象地表示为一组顶点 &#x1d449; 和一组边 &#x1d438; 的集合。 以下示例展示了一个包含 5 个顶点和 7 条边的图。 如果将顶点看作节点&…