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

胡说八道(24.6.12)——数字电子技术以及Modelsim

        上回书说到数电中的最常用的表达式——逻辑表达式(由布尔代数组成)以及常用的两种图表——真值表(真值表表示的是所有的输入可能的线性组合以及输出)和卡诺图(卡诺图则是一种化简工具,排除冗余项,合并可合并项)。

        今天,先来看看昨天说的基本逻辑电路功能图的Modelsim的Verilog仿真,代码较为丑陋,请多包涵。

        首先是主要的程序文件sign.v。

module sign(
    input wire a,b,                //输入
    output wire p0,p1,p2,p3,p4        //输出
);

    assign p0 = b&a;            //与门
    assign p1 = a|b;            //或门
    assign p2 = ~a;                //非门
    assign p3 = a^b;            //异或门
    assign p4 = ~(a^b);            //同或门
endmodule

        其次是测试文件sign_tb.v。

`timescale 1ns/1ns
module sign_tb;
wire p0,p1,p2,p3,p4;
reg a,b;

sign U(.p0(p0),.p1(p1),.p2(p2),.p3(p3),.p4(p4),.a(a),.b(b));

initial // initializes the register variable to a definite value of one 

begin 
    #20 a=0;b=0;  
    #20 a=0;b=1;
    #20 a=1;b=0;
    #20 a=1;b=1;
    #20 $stop;
end
endmodule

        这是Verilog文件在Modelsim中运行的两个必要的文件,看看仿真图,大家可以对比真值表记忆理解。

         此外,大家除了使用这软件编程的程序呢,也可以通过Multisim来模拟硬件的仿真。在Mutisim里面只需要点击放置其他数字,找到TTL,就能够看见各种门电路,当然还有一些能够起到门电路功能的芯片,也包含在里面,大家可以去探索。后续也会出一点Modelsim以及Multisim的一些仿真实例。

        好了,完成昨天遗留的部分,咱们继续记笔记,本次咱们看的是组合逻辑电路的分析与设计。组合逻辑电路是数字电路的一种类型。组合逻辑电路在任何时刻的输出仅仅取决于当时的输入信号,而与电路原来的状态无关,这里就要注意了,因为在后面的时序电路中,它的输出是次态和现态有关。组合逻辑电路呢,它里面最重要的部分就是门电路,把这些门组合起来,就能够构成组合逻辑电路了。

        接着,就是它的两个考点,一个是组合逻辑电路的分析,步骤如下:1、确定逻辑电路的输入和输出:根据题目,明确有哪些输入变量以及对应的输出变量。2、写出逻辑表达式:根据电路中逻辑门的连接关系,从输入到输出逐步推导,写出每个输出变量与输入变量之间的逻辑表达式。3、化简逻辑表达式:使用逻辑代数的定律和公式,对表达式进行化简,以得到最简形式。4、列出真值表:将输入变量的所有可能取值组合逐一列出,并计算出对应的输出值。5、分析逻辑功能:根据真值表,总结和描述电路的逻辑功能,即说明在不同输入组合下输出的情况。另外一个则是组合逻辑电路的设计,步骤如下:1、明确设计要求:根据题目,确定电路的输入和输出变量,以及它们之间需要实现的逻辑关系。例如,设计一个判断两个一位二进制数是否相等的电路。2、列出真值表:根据设计要求,列出输入变量的所有可能组合以及对应的输出值。3、写出逻辑表达式:根据真值表,通过逻辑函数的化简方法(如卡诺图、公式法等)写出最简的逻辑表达式。4、画出逻辑电路图:根据化简后的逻辑表达式,使用逻辑门电路画出相应的逻辑电路图。但是,这里它有时候会恶心你,非得用与非门,或者是或非门去画电路图,这就要去转换式子了。我也是无语了。有那么多的门不用,非得选唯一的一种门电路。个人看法:不要为了用一个考点,而去出题目,多一点创新不好吗?

        最后,来看组合逻辑电路的应用——半加器和全加器,半加器是一种实现两个一位二进制数相加的组合逻辑电路。它能产生本位和(Sum)以及向高位的进位(Carry),但不考虑低位来的进位。半加器由一个异或门和一个与门构成。异或门用于产生本位和,与门用于产生向高位的进位。全加器是能够计算三个一位二进制数相加的组合逻辑电路。它不仅考虑两个加数,还考虑来自低位的进位,并产生本位和以及向高位的进位。全加器通常由两个半加器和一个或门构成。其中一个半加器用于计算两个加数的和,另一个半加器用于计算这个和与低位进位的和,或门用于产生向高位的进位。

        今天,就讲到这里,大家想想怎么去仿真。明天再告诉大家。

        欲知后事如何,且听下回分解。OVO.......

相关文章:

胡说八道(24.6.12)——数字电子技术以及Modelsim

上回书说到数电中的最常用的表达式——逻辑表达式(由布尔代数组成)以及常用的两种图表——真值表(真值表表示的是所有的输入可能的线性组合以及输出)和卡诺图(卡诺图则是一种化简工具,排除冗余项,合并可合并项)。 今天,先来看看昨天说的基本逻…...

【Android面试八股文】AsyncTask中的任务是串行的还是并行的

文章目录 串行执行并行执行示例代码串行执行(默认)并行执行总结AsyncTask 的任务执行方式可以是串行的,也可以是并行的,这取决于使用的执行器 ( Executor)。 串行执行 默认情况下,AsyncTask 使用的是 SERIAL_EXECUTOR,即任务按顺序一个接一个地执行。这意味着下一个任务…...

无人机RTMP推流EasyDSS直播平台推流成功,不显示直播按钮是什么原因?

互联网视频云平台/视频点播直播/视频推拉流EasyDSS支持HTTP、HLS、RTMP等播出协议,并且兼容多终端,如Windows、Android、iOS、Mac等。为了便于用户集成与二次开发,我们也提供了API接口供用户调用和集成。在无人机场景上,可以通过E…...

经验分享,xps格式转成pdf格式

XPS 是一种电子文档格式、后台打印文件格式和页面描述语言。有时候微软默认打印机保存的是xps格式,我们如何转换为pdf格式呢,这里分享一个免费好用的网站,可以实现。 网站:https://xpstopdf.com/zh/ 截图:...

基于51单片机的音乐彩灯设计

基于51单片机的音乐彩灯设计 (程序+原理图+设计报告) 功能介绍 具体功能: 由STC单片机ADC0809模块LM386功放模块喇叭音频接口发光二极管电源构成 1.通过音频线输入可以播放电脑、手机、MP3里面的音乐。 2.AD对音频…...

API接口设计的艺术:如何提升用户体验和系统性能

在数字时代,API接口的设计对于用户体验和系统性能有着至关重要的影响。良好的设计可以显著提升应用程序的响应速度、可靠性和易用性。以下是几个关键点,帮助改善API接口的设计: 1. 理解并定义清晰的要求 用户研究:与最终用户进行…...

韩兴国/姜勇团队在《Trends in Plant Science》发表植物根系氮素再分配的观点文章!

氮素是陆地生态系统中的关键限制性营养元素,通过生物固氮和土壤氮供应通常远低高等植物的氮需求。当土壤氮素供应无法充分满足植物茎叶生长需求时,植物会通过自身营养器官(如根或根茎)再分配来实现氮的内部循环和再利用。尽管植物…...

52.Python-web框架-Django - 多语言编译-fuzzy错误

目录 1.起因 2.原因 3.解决方法 3.1手动移除fuzzy标记 3.2重新生成po文件,并检查是否还存在fuzzy标记 3.3重新编译生成mo文件 1.起因 在Django的国际化和本地化过程中,当你发现某些字段仅显示msgid,而不显示msgstr时,可能是…...

Linux自旋锁

面对没有获取锁的现场,通常有两种处理方式。 互斥锁:堵塞自己,等待重新调度请求自旋锁:循环等待该锁是否已经释放 本文主要讲述自旋锁 自旋锁其实是一种很乐观的锁,他认为只要再等一下下锁便能释放,避免…...

服务器----阿里云服务器重启或关机,远程连接进不去,个人博客无法打开

问题描述 在使用阿里云免费的新加坡服务器时,发现重启或者是关机在开服务器后,就会出现远程连接不上、个人博客访问不了等问题 解决方法 进入救援模式连接主机,用户名是root,密码是自己设置的 点击访问博客查看更多内容...

go 定时任务

在 Go 语言中&#xff0c;可以使用内置的 time 包来实现定时任务。以下是一个简单的示例&#xff1a; go package main import ( "fmt" "time" ) func main() { timer : time.NewTimer(2 * time.Second) <-timer.C fmt.Println(…...

Java Character 类

Java Character 类 Character 类用于对单个字符进行操作。 Character 类在对象中包装一个基本类型 char 的值 char ch a;// Unicode 字符表示形式char uniChar \u039A; // 字符数组char[] charArray { a, b, c, d, e };然而&#xff0c;在实际开发过程中&#xff0c;我们经…...

MQTT协议应用场景

MQTT协议的应用场景非常丰富&#xff0c;特别是在物联网领域。以下是对MQTT协议应用场景的清晰归纳&#xff1a; 1.物联网设备控制和监控&#xff1a;MQTT被广泛应用于物联网设备之间的通信&#xff0c;如智能家居、智能城市和工业自动化等领域。设备可以发布自身状态到特定主题…...

3.4.马氏链-随机游走的常返性

随机游走的常返态 1. 随机游走常返性定义1.1. 随机游走常返值和可能集1.2. 随机游走常返性2. 简单随机游走: 维数与常返性的关系2.1. 简单随机游走2.2. 二维及以下简单随机游走常返, 三维及以上简单随机游走非常返3. 随机游走 ( d ≤ 2 ) (d\leq 2) (d≤2): 常返的充分条件4. 随…...

HOT100与剑指Offer

文章目录 前言一、41. 缺失的第一个正数&#xff08;HOT100&#xff09;二、6. 从尾到头打印链表&#xff08;剑指Offer&#xff09;总结 前言 一个本硕双非的小菜鸡&#xff0c;备战24年秋招&#xff0c;计划刷完hot100和剑指Offer的刷题计划&#xff0c;加油&#xff01; 根…...

【AI开发】CRAG、Self-RAG、Adaptive-RAG

先放一张基础RAG的流程图 https://blog.langchain.dev/agentic-rag-with-langgraph/ 再放一个CRAG和self-RAG的LangChain官方博客 Corrective RAG(CRAG) 首先需要知道的是CRAG的特色发生在retrieval阶段的最后开始&#xff0c;即当我们获得到了近似的document&#xff08;或者…...

FFmpeg中内存分配和释放相关的源码:av_malloc函数、av_mallocz函数、av_free函数和av_freep函数分析

一、av_malloc函数分析 &#xff08;一&#xff09;av_malloc函数的声明 av_malloc函数的声明放在在FFmpeg源码&#xff08;本文演示用的FFmpeg源码版本为5.0.3&#xff0c;该ffmpeg在CentOS 7.5上通过10.2.1版本的gcc编译&#xff09;的头文件libavutil/mem.h中&#xff1a;…...

七天进阶elasticsearch[Four]

依赖: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId>...

数据库-数据定义和操纵-DDL语言的使用

创建一个数据库&#xff1a; create database 数据库名; 选择数据库&#xff1a; use 数据库名; 创建表 create table 表名( ); 添加字段&#xff1b; ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件] [FIRST|AFTER 已存在字段名] ; 删除字段&#xff1a; ALTER TABLE 表…...

黄金价格与美元的关系变了?

在一些传统的定价框架中&#xff0c;现货黄金的价格走势取&#xff0c;决于美元的实际利率水平——实际利率越高&#xff0c;黄金价格越低&#xff0c;反之亦然。在大多数的时候&#xff0c;美元的实际利率决定了美元指数的高低所以人们通常认为&#xff0c;现货金价与美元呈反…...

代码转图片怎么实现:代码高亮卡片生成方法

最近在做文章后台时&#xff0c;我遇到一个很实际的问题&#xff1a;编辑器里的代码块虽然能正常显示&#xff0c;但要拿去做分享图、封面图或者文档配图时就不太合适了。 一开始我试过手动截图&#xff0c;但这种方式效率低&#xff0c;而且样式不统一。代码只要改一行&#x…...

Origin9.1绘图避坑指南:从数据导入到论文级.tif图保存的完整流程

Origin9.1科研绘图全流程避坑指南&#xff1a;从数据导入到论文级.tif输出 科研绘图是论文写作中不可或缺的一环&#xff0c;而Origin9.1作为经典的数据可视化工具&#xff0c;在学术界有着广泛的应用。然而&#xff0c;从原始数据到最终符合期刊要求的图表&#xff0c;这一过程…...

QML WebEngine与ECharts联袂:打造高性能实时数据可视化桌面应用

1. 为什么选择QMLWebEngineECharts组合&#xff1f; 在开发桌面端实时数据可视化应用时&#xff0c;我们常常面临一个关键选择&#xff1a;是使用原生绘图方案还是Web技术栈&#xff1f;我经过多个工业监控项目的实战验证&#xff0c;发现QMLWebEngineECharts的组合堪称黄金搭…...

产品工程外包战略转型:从成本控制到价值共创

1. 产品工程外包的价值重构&#xff1a;从成本驱动到战略协同十五年前我刚入行IT咨询时&#xff0c;客户开口闭口都是"能省多少钱"。如今在硅谷参与过数十个跨国产品外包项目后&#xff0c;我深刻意识到&#xff1a;把PEO&#xff08;产品工程外包&#xff09;单纯看…...

告别高价限流流量腰斩,凌风工具箱为 Temu 商品流量兜底

2026 年 Temu 平台比价管控逻辑已进入新阶段&#xff0c;但高价限流&#xff08;前端屏蔽&#xff09;仍为常态化风险。卖家若仍靠手动逐件处理限流预警&#xff0c;极易错过流量挽回窗口。凌风工具箱基于 Temu 官方 API 接口开发&#xff0c;打造批量处理高价限流专属模块&…...

如何快速将网页内容转换为Markdown格式:MarkDownload完整指南

如何快速将网页内容转换为Markdown格式&#xff1a;MarkDownload完整指南 【免费下载链接】markdownload A Firefox and Google Chrome extension to clip websites and download them into a readable markdown file. 项目地址: https://gitcode.com/gh_mirrors/ma/markdown…...

Claude Code省Token终极指南:MCP与Skill生态全解析

Claude Code省Token终极指南&#xff1a;MCP与Skill生态全解析 Claude Code的能力毋庸置疑&#xff0c;但让人不得不面对的现实是&#xff1a;token在燃烧&#xff0c;账单在咆哮。一句“你好”开场就可能消耗13%的配额&#xff0c;大项目里改一个函数就要先Grep全局搜一遍、再…...

如何在老旧电视上实现流畅的1080P直播?MyTV-Android原生应用深度解析

如何在老旧电视上实现流畅的1080P直播&#xff1f;MyTV-Android原生应用深度解析 【免费下载链接】mytv-android 使用Android原生开发的视频播放软件 项目地址: https://gitcode.com/gh_mirrors/my/mytv-android 你是否曾为家中老旧智能电视的卡顿直播体验而烦恼&#x…...

Android虚拟定位终极指南:无需Root的应用级位置伪装解决方案

Android虚拟定位终极指南&#xff1a;无需Root的应用级位置伪装解决方案 【免费下载链接】FakeLocation Xposed module to mock locations per app. 项目地址: https://gitcode.com/gh_mirrors/fak/FakeLocation 你是否遇到过这样的困扰&#xff1a;想在游戏中签到获取限…...

Node.js异步数据库操作:nedb-promises封装原理与实战指南

1. 项目概述&#xff1a;告别回调地狱&#xff0c;拥抱异步数据库操作 如果你在Node.js项目中用过NeDB&#xff0c;大概率对它的回调函数&#xff08;callback&#xff09;模式又爱又恨。NeDB本身是一个轻量级的嵌入式数据库&#xff0c;API设计简单直观&#xff0c;但在现代异…...