「Verilog学习笔记」用3-8译码器实现全减器

专栏前言

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

分析

首先列出3-8译码器和全减器的真值表 全减器真值表如下

3-8译码器真值表如下

`timescale 1ns/1nsmodule decoder_38(input             E      ,input             A0     ,input             A1     ,input             A2     ,output reg       Y0n    ,  output reg       Y1n    , output reg       Y2n    , output reg       Y3n    , output reg       Y4n    , output reg       Y5n    , output reg       Y6n    , output reg       Y7n    
);always @(*)beginif(!E)beginY0n = 1'b1;Y1n = 1'b1;Y2n = 1'b1;Y3n = 1'b1;Y4n = 1'b1;Y5n = 1'b1;Y6n = 1'b1;Y7n = 1'b1;end  else begincase({A2,A1,A0})3'b000 : beginY0n = 1'b0; Y1n = 1'b1; Y2n = 1'b1; Y3n = 1'b1; Y4n = 1'b1; Y5n = 1'b1; Y6n = 1'b1; Y7n = 1'b1;end 3'b001 : beginY0n = 1'b1; Y1n = 1'b0; Y2n = 1'b1; Y3n = 1'b1; Y4n = 1'b1; Y5n = 1'b1; Y6n = 1'b1; Y7n = 1'b1;end 3'b010 : beginY0n = 1'b1; Y1n = 1'b1; Y2n = 1'b0; Y3n = 1'b1; Y4n = 1'b1; Y5n = 1'b1; Y6n = 1'b1; Y7n = 1'b1;end 3'b011 : beginY0n = 1'b1; Y1n = 1'b1; Y2n = 1'b1; Y3n = 1'b0; Y4n = 1'b1; Y5n = 1'b1; Y6n = 1'b1; Y7n = 1'b1;end 3'b100 : beginY0n = 1'b1; Y1n = 1'b1; Y2n = 1'b1; Y3n = 1'b1; Y4n = 1'b0; Y5n = 1'b1; Y6n = 1'b1; Y7n = 1'b1;end 3'b101 : beginY0n = 1'b1; Y1n = 1'b1; Y2n = 1'b1; Y3n = 1'b1; Y4n = 1'b1; Y5n = 1'b0; Y6n = 1'b1; Y7n = 1'b1;end 3'b110 : beginY0n = 1'b1; Y1n = 1'b1; Y2n = 1'b1; Y3n = 1'b1; Y4n = 1'b1; Y5n = 1'b1; Y6n = 1'b0; Y7n = 1'b1;end 3'b111 : beginY0n = 1'b1; Y1n = 1'b1; Y2n = 1'b1; Y3n = 1'b1; Y4n = 1'b1; Y5n = 1'b1; Y6n = 1'b1; Y7n = 1'b0;end default: beginY0n = 1'b1; Y1n = 1'b1; Y2n = 1'b1; Y3n = 1'b1; Y4n = 1'b1; Y5n = 1'b1; Y6n = 1'b1; Y7n = 1'b1;endendcase  end 
end    endmodulemodule decoder1(input             A     ,input             B     ,input             Ci    ,output wire       D     ,output wire       Co         
);wire [7:0] Y ; assign D = ~Y[1] + ~Y[2] + ~Y[4] + ~Y[7] ;assign Co = ~Y[1] + ~Y[2] + ~Y[3] + ~Y[7] ;decoder_38 d1(.E (1   ),.A0(Ci   ),.A1(B   ),.A2(A   ),.Y0n(Y[0]),.Y1n(Y[1]),.Y2n(Y[2]),.Y3n(Y[3]),.Y4n(Y[4]),.Y5n(Y[5]),.Y6n(Y[6]),.Y7n(Y[7]));endmodule

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

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

相关文章

KylinOSv10修改ulimit值

问题 ulimit 值过小,可能导致压力测试遇到瓶颈,比如通过nginx建立tcp长链接时,链接数量受限。需要修改ulimit值,Linux默认为1024。 解决 使用root或sudo权限,编辑文件/etc/security/limits.conf,新增以下…

数据资产入表,给企业带来的机遇和挑战

作为推动数字经济发展的核心要素,近年来,数据资源对于企业特别是相关数据企业的价值和作用正日益凸显。 数据资产入表之后,能够为企业经营带来实质性的收益。“随着数据资产的纳入,企业的资产也出现了新标的。在资产负债表中&…

letcode::最小栈

最小栈 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。…

如何简单挖掘公益SRC?

目录 1、寻找漏洞 1)谷歌语法 2)fofa 2、挖掘漏洞 3、提交报告 第一步:“标题”和“厂商信息”和“所属域名” 第二步:其它内容 第三步:复现步骤 0、IP域名归属证明 1、漏洞页 2、该干啥 3、注入的结果 4、上榜吉时 时间&#x…

opencv(3):控制鼠标,创建 tackbar控件

文章目录 控制鼠标相关APIsetMouseCallbackcallback TrackBar 控件cv2.createTrackbarcv2.getTrackbarPos: 控制鼠标相关API setMouseCallback(winname, callback, userdata)callback(event, x, y, flags, userdata) setMouseCallback 在 OpenCV 中,s…

主办方:上海视频媒体,多样式多渠道跨屏传播

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 一,邀请视频媒体参加活动发布会,好处多多,首先现场气氛会很热烈,主办方会很有面子,视频媒体不管是电视台还是视频网站&#xf…

指针学习(五)

一.函数指针数组 定义:函数指针放进数组中,就叫函数指针数组,准确的说,将一个函数的地址存到⼀个数组中 那这个数组就叫函数指针数组。 int (*pi[5])(int); 解读:pi先和[]结合,因此是数组,加i…

JVM:字节码文件,类的生命周期,类加载器

JVM:字节码文件,类的生命周期,类加载器 为什么要学这门课程 1. 初识JVM1.1. 什么是JVM1.2. JVM的功能1.3. 常见的JVM 2. 字节码文件详解2.1. Java虚拟机的组成2.2. 字节码文件的组成2.2.1. 以正确的姿势打开文…

[内存泄漏][PyTorch](create_graph=True)

PyTorch保存计算图导致内存泄漏 1. 内存泄漏定义2. 问题发现背景3. github中pytorch源码关于这个问题的讨论 1. 内存泄漏定义 内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费&#…

【2021集创赛】 RISC-V杯三等奖:基于E203 处理器的SM4算法硬件加速

杯赛题目:基于蜂鸟E203 RISC-V处理器内核的SoC设计 参赛要求:研究生组/本科生组 赛题内容: 基于芯来科技的开源蜂鸟E203 Demo SoC进行扩展,在限定的可编程逻辑平台上构建面向专用应用领域(譬如人工智能、信息安全、工业…

手机,蓝牙开发板,TTL/USB模块,电脑四者之间的通讯

一,意图 通过手机蓝牙连接WeMosD1R32开发板,开发板又通过TTL转USB与电脑连接.手机通过蓝牙控制开发板上的LED灯的开,关,闪等动作,在电脑上打开串口监视工具观察其状态.也可以通过电脑上的串口监视工具来控制开发板上LED灯的动作,而在手机蓝牙监测工具中显示灯的状态. 二,原料…

美团外卖9元每周星期一开工外卖红包优惠券怎么领取?

美团外卖9元周一开工红包活动时间是什么时候? 美团外卖9元周一开工红包优惠券是指每周星期一可以领取的美团外卖红包优惠券,在美团外卖周一开工红包领取活动时间内可领取到9元周一开工美团外卖红包优惠券;(温馨提醒:如…

【ArcGIS】批量对栅格图像按要素掩膜提取

要把一张大的栅格图裁成分省或者分县市的栅格集,一般是用ArcGIS里的按掩膜提取。 但是有的时候所要求的栅格集量非常大,所以用代码来做批量掩膜(按字段)会非常方便。 import arcpy , shutil , os from arcpy import env from ar…

PHP常用的数组函数

PHP是一种流行的服务器端脚本语言,广泛用于Web开发。数组是PHP中最重要且最常用的数据类型之一,它提供了许多强大的数组函数,用于在数组上执行各种操作。在本文中,我们将深入解析PHP中一些常用的数组函数,以便更好地理…

【C/C++笔试练习】继承和派生的概念、虚函数的概念、派生类的析构函数、纯虚函数的概念、动态编译、多态的实现、参数解析、跳石板

文章目录 C/C笔试练习选择部分(1)继承和派生的概念(2)程序分析(3)虚函数的概念(4)派生类的析构函数(5)纯虚函数的概念(6)动态编译&…

uniapp App 端 版本更新检测

function checkVersion() { var req { //升级检测数据 appid: plus.runtime.appid, version: plus.runtime.version }; const timestamp Date.parse(new Date()); config.server.query_news uni.reque…

LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字

上一节实现了 LangChain 实现给动物取名字, 实际上每次给不同的动物取名字,还得修改源代码,这周就用模块化template来实现。 1. 添加promptTemplate from langchain.llms import OpenAI # 导入Langchain库中的OpenAI模块 from langchain.p…

优思学院|什么是精益生产管理?从一个生活上的故事出发来说明。

你关掉电脑,离开办公室。 一个小时后,你进入家门和孩子们在一起。 你和家人一起吃晚饭。 你的老板打电话来查看你的项目进展。 你哄孩子入睡并给他们读个故事。 作为一个负责任的父母,你想要与孩子们的互动时间增加并提高生活的质量&…

ChatGPT + DALL·E 3

参考链接: https://chat.xutongbao.top/

Linux中安装部署环境(JAVA)

目录 在Linux中安装jdk 包管理器yum安装jdk JDK安装过程中的问题 验证安装jdk 在Linux中安装tomcat 安装mysql 在Linux中安装jdk jdk在Linux中的安装方式有很多种, 这里介绍最简单的方法, 也就是包管理器方法: 包管理器yum安装jdk Linux中常见的包管理器有: yumaptp…