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

数字IC设计\FPGA 职位经典笔试面试整理--基础篇2

1. 卡诺图

逻辑函数表达式可以使用其最小项相加来表示,用所有的最小项可以转换为卡诺图进行逻辑项化简
卡诺图讲解资料1
卡诺图讲解资料2
卡诺图讲解资料3

  • 最小项的定义
    一个函数的某个乘积项包含了函数的全部变量,其中每个变量都以原变量或反变量的形式出现,且仅出现一次,则这个乘积项称为该函数的一个标准积项,通常称为最小项。
  • 表示方法
    通常使用 m i m_i mi 来表示最小项;把最小项中原变量记为1,反变量记为0,比如 A = 1 A=1 A=1 A ‾ = 0 \overline A=0 A=0

1.1 卡诺图的简介

  一种描述逻辑函数的特殊方格图方格图中,每一个方格代表逻辑函数的一个最小项,而且几何相邻(在几何位置上,上下或左右相邻)的小方格具有逻辑相邻性,即两相邻小方格所代表的最小项只有一个变量取值不同。有n个变量,其所有的最小项个数就有 2 n 2^n 2n,则卡诺图中就对应有这么多数量的小方格,每个小方格都满足相邻项的要求。

根据最小项: 确认变量的顺序,然后将卡诺图填0/1,填写示例如下:
在这里插入图片描述
根据逻辑函数填写卡诺图: m 指最小项,m0=0000 即表示 A ‾ B ‾ C ‾ D ‾ \overline A \overline B \overline C \overline D ABCD
在这里插入图片描述
在这里插入图片描述

1.2 卡诺图的运算

  两图之间的最小项进行逻辑运算即可。乘、加、异或都类似,卡诺图对应位置做逻辑运算即可
在这里插入图片描述

1.3 卡诺图的化简

  卡诺图相邻性的特点保证了几何相邻两方格所代表的最小项只有一个变量不同。因此,若相邻的方格都为1(简称1格)时,则对应的最小项就可以合并。合并的结果是消去这个不同的变量,只保留相同的变量。 卡诺圈只能圈偶数个1(2、4、8…),图形两边也算相邻,而且数字可以重复画圈。画好圈后看一个圈内几个变量的是否同时有 0,1的情况,如果有说明可以消除,剩下一直为1的为正变量,一直为0的为反变量。
在这里插入图片描述
例题: 比如下图中的 B是因为4个1的卡诺圈内A,C都有取0,1的情况,因此可以消除。只有B一直为1则化简后仅剩B。
在这里插入图片描述

2. 有限状态机

状态机,从细节出发(一段式、两段式、三段式,moore型、mealy型)
检测序列重叠和不重叠状态的区别:最后一位的数据是否为下一组序列的起始位
如在101011检测101,重叠检测输出两次高电平,不重叠仅一次。以下列三段式为例进行说明

parameter S0=4'b0001;
parameter S1=4'b0010;
parameter S2=4'b0100;
parameter S3=4'b1000; //独热码 定义状态机状态reg [3:0] state;
reg [3:0] c_state,n_state;
always@(posedge clk or negedge rst_n)beginif(rst_n==1'b0)c_state<=S0;else c_state<=n_state;	
endalways@(c_state or din)begin // 状态转移case(c_state)      S0:beginif(din==1'b1) n_state=S1;elsen_state=S0;endS1:beginif(din==1'b0)n_state=S2;elsen_state=S1;endS2:beginif(din==1'b1)n_state=S3;elsen_state=S0;endS3:begin // 不重叠检测,直接判断输入是不是新的1,不是则重新开始检测if(din==1'b1)n_state=S1;else n_state=S0;end/*S3:begin   //重叠检测,以上一个输入1做为起始判断当前输入,是0则直接S2,是1则当作起始位跳到S1if(din==1'b1)n_state=S1;elsen_state=S2;end*/default:n_state=S0;endcase							  		 		 		 endalways@(posedge clk or negedge rst_n)beginif(rst_n==1'b0)out<=1'b0;else beginif(n_state== S3) //仅依靠当前状态判断进行输出判断out<=1'b1;elseout<=1'b0;end
end

相关文章:

数字IC设计\FPGA 职位经典笔试面试整理--基础篇2

1. 卡诺图 逻辑函数表达式可以使用其最小项相加来表示&#xff0c;用所有的最小项可以转换为卡诺图进行逻辑项化简 卡诺图讲解资料1 卡诺图讲解资料2 卡诺图讲解资料3 最小项的定义 一个函数的某个乘积项包含了函数的全部变量&#xff0c;其中每个变量都以原变量或反变量的形…...

(务必收藏)推荐市面上8款AI自动写文献综述的网站

在当前的学术研究和论文写作中&#xff0c;AI技术的应用已经变得越来越普遍。特别是在文献综述这一环节&#xff0c;AI工具能够显著提高效率并减少人工劳动。以下是市面上8款推荐的AI自动写文献综述的网站&#xff1a; 一、千笔-AIPassPaper 是一款备受好评的AI论文写作平台&…...

【python】运算符

学习目标 了解 Python 中常见 算术&#xff08;数学&#xff09;运算符赋值运算符 算术&#xff08;数学&#xff09;运算符 a 是 10&#xff0c;b 是 20 运算符描述实例加两个对象相加 a b 输出结果 30-减得到负数或是一个数减去另一个数 a - b 输出结果 -10*乘两个数相…...

C++深入学习string类成员函数(1):默认与迭代

引言 在 C 编程中&#xff0c;std::string 类是处理字符串的核心工具之一。作为一个动态管理字符数组的类&#xff0c;它不仅提供了丰富的功能&#xff0c;还通过高效的内存管理和操作接口&#xff0c;极大地方便了字符串操作。通过深入探讨 std::string 的各类成员函数&#…...

DataGrip远程连接Hive

学会用datagrip远程操作hive 连接前提条件&#xff1a; 注意&#xff1a;mysql是否是开启状态 启动hadoop集群 start-all.sh 1、启动hiveserver2服务 nohup hiveserver2 >> /usr/local/soft/hive-3.1.3/hiveserver2.log 2>&1 & 2、beeline连接 beelin…...

go 读取excel

一、安装依赖 go get github.com/tealeg/xlsx二、main.go package mainimport "fmt" import "github.com/tealeg/xlsx"type Student struct {Name stringSex string }func (student Student) show() {fmt.Printf("Name:%s Sex:%s\r\n", stude…...

Linux进阶系列(四)——awk、sed、端口管理、crontab

目录 1. 写在前面2. awk —— 强大的文本处理工具2.1 awk 概述2.2 awk 脚本结构2.3 awk 的内置变量2.4 awk 的高级用法2.5 awk实践 3. sed —— 流式文本编辑器3.1 sed 的基本语法3.2 sed 常用命令3.3 sed 的高级用法 4. Linux 端口管理4.1 端口的概念4.2 查看端口状态4.3 开放…...

利用Metasploit进行信息收集与扫描

Metasploit之信息收集和扫描 在本文中&#xff0c;我们将学习以下内容 使用Metasploit被动收集信息 使用Metasploit主动收集信息 使用Nmap进行端口扫描 使用db_nmap方式进行端口扫描 使用ARP进行主机发现 UDP服务探测 SMB扫描和枚举 SSH版本扫描 FTP扫描 SMTP枚举 …...

基于Pytorch框架的深度学习MODNet网络精细人像分割系统源码

第一步&#xff1a;准备数据 人像精细分割数据&#xff0c;可分割出头发丝&#xff0c;为PPM-100开源数据 第二步&#xff1a;搭建模型 MODNet网络结构如图所示&#xff0c;主要包含3个部分&#xff1a;semantic estimation&#xff08;S分支&#xff09;、detail prediction…...

Go语言中的并发编程

Go语言中的并发编程Go语言中的并发编程主要依赖于两个核心概念&#xff1a;goroutine 和 channel。1. Goroutinegoroutine 的特点结束 goroutine2. Channel创建 Channel发送和接收数据Channel 的类型使用 select 语句简单的多个 goroutine使用 WaitGroup 等待所有 goroutine 完…...

python学习笔记(3)——控制语句

控制语句 我们在前面学习的过程中&#xff0c;都是很短的示例代码&#xff0c;没有进行复杂的操作。现在&#xff0c;我们将开始学习流程控制语句。 前面学习的变量、数据类型&#xff08;整数、浮点数、布尔&#xff09;、序列&#xff08;字符串、列表、元组、字 典、集合&am…...

关系数据库设计之Armstrong公理详解

~犬&#x1f4f0;余~ “我欲贱而贵&#xff0c;愚而智&#xff0c;贫而富&#xff0c;可乎&#xff1f; 曰&#xff1a;其唯学乎” 一、Armstrong公理简介 Armstrong公理是一组在关系数据库理论中用于推导属性依赖的基本规则。这些公理是以著名计算机科学家威廉阿姆斯特朗&…...

【Geoserver使用】SRS处理选项

文章目录 前言一、Geoserver的三种SRS处理二、对Bounding Boxes计算的影响总结 前言 今天来看看Geoserver中发布图层时的坐标参考处理这一项。根据Geoserver官方文档&#xff0c;坐标参考系统 (CRS) 定义了地理参考空间数据与地球表面实际位置的关系。CRS 是更通用的模型&…...

python里面的单引号和双引号的区别

在Python中&#xff0c;单引号&#xff08;‘’&#xff09;和双引号&#xff08;“”&#xff09;在大多数情况下是等价的&#xff0c;没有本质区别。它们都用于创建字符串。以下是一些关键点&#xff1a; 功能相同&#xff1a; 两者都可以用来定义字符串&#xff0c;例如&…...

为什么不要在循环,条件或嵌套函数中调用hooks

为什么不要在循环&#xff0c;条件或嵌套函数中调用hooks 前言useState Hook 的工作原理具体实现1、初始化2、第一次渲染3、后续渲染4、事件处理简单代码实现 为什么顺序很重要Bad Component 第一次渲染Bad Component 第二次渲染 总结 前言 自从 React 推出 hooks 的 API 后&a…...

将成功请求的数据 放入apipost接口测试工具,发送给后端后,部分符号丢失

将成功请求的数据 放入apipost接口测试工具&#xff0c;发送给后端后&#xff0c;部分符号丢失 apipost、接口测试、符号、丢失、错乱、变成空格背景 做CA对接&#xff0c;保存CA系统的校验数据&#xff0c;需要模仿前端请求调起接口&#xff0c;以便测试功能完整性。 问题描…...

N诺计算机考研-错题

B A.LLC,逻辑链路控制子层。一个主机中可能有多个进程在运行,它们可能同时与其他的一些进程(在同一主机或多个主机中)进行通信。因此在一个主机的 LLC子层的一个服务访问点,以便向多个进程提供服务。B.MAC地址,称为物理地址、硬件地址,也称为局域网地址,用来定义网络设…...

vue3 数字滚动组件封装

相关参考文献 干货满满!如何优雅简洁地实现时钟翻牌器(支持JS/Vue/React) Vue3 插件方式 安装插件: countup.js 封装组件: components/count-up/index.js <template><div class="countup-wrap"><slot name="prefix"></slot&g…...

如何确保消息只被消费一次:Java实现详解

引言 在分布式系统中&#xff0c;消息传递是系统组件间通信的重要方式&#xff0c;而确保消息在传递过程中只被消费一次是一个关键问题。如果一个消息被多次消费&#xff0c;可能会导致业务逻辑重复执行&#xff0c;进而产生数据不一致、错误操作等问题。特别是在金融、电商等…...

Web3技术在元宇宙中的应用:从区块链到智能合约

随着元宇宙的兴起&#xff0c;Web3技术正逐渐成为其基础&#xff0c;推动着数字空间的重塑。元宇宙不仅是一个虚拟世界&#xff0c;它还代表着一个由去中心化技术驱动的新生态系统。在这个系统中&#xff0c;区块链和智能合约发挥着至关重要的作用&#xff0c;为用户提供安全、…...

低多边形≠简陋!掌握这7个结构化Prompt技巧,3分钟产出可商用IP形象(附Figma网格对齐校验表)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;低多边形设计的认知革命&#xff1a;从“简陋感”到“结构化美学” 低多边形&#xff08;Low-Poly&#xff09;设计曾长期被误读为建模能力不足的妥协产物&#xff0c;但其本质是一场对数字视觉语法的系…...

从分布式到可分发:大规模软件制品分发架构设计与实践

1. 项目概述&#xff1a;从“分布式”到“可分发”的思维跃迁最近在梳理团队内部的基础设施时&#xff0c;又翻出了distr-sh/distr这个项目。说实话&#xff0c;第一次看到这个仓库名&#xff0c;我下意识地把它归类为又一个“分布式系统”框架。但当我真正点进去&#xff0c;花…...

Godot游戏自动化构建与发布:基于GitHub Actions与Docker的CI/CD实践

1. 项目概述&#xff1a;当Godot遇上CI/CD如果你是一名独立游戏开发者&#xff0c;或者在一个小团队里负责Godot引擎的项目&#xff0c;那么“构建”和“部署”这两个词&#xff0c;大概率是你开发流程里最头疼的环节之一。手动导出项目到不同平台&#xff08;Windows、Linux、…...

基于Groq LPU与React技术栈构建极速AI聊天应用实战

1. 项目概述&#xff1a;当极速推理遇上聊天应用最近在折腾AI应用开发的朋友&#xff0c;估计都绕不开一个词&#xff1a;推理速度。模型能力再强&#xff0c;如果生成一句话要等上十几秒&#xff0c;用户体验就无从谈起。正是在这种背景下&#xff0c;我注意到了unclecode/gro…...

构建个人代码仓库:提升开发效率的实践指南

1. 项目概述&#xff1a;一个面向21世纪开发者的代码仓库最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“21st-dev/1code”。光看这个名字&#xff0c;你可能觉得有点抽象&#xff0c;但点进去之后&#xff0c;我发现它其实是一个挺有想法的代码仓库。这个项目没有复杂的…...

AI驱动工作流自动化:从原理到实践,构建智能效率引擎

1. 项目概述&#xff1a;当AI遇上工作流&#xff0c;一场效率革命正在发生最近在GitHub上看到一个名为“WorkflowAI/WorkflowAI”的项目&#xff0c;这个名字本身就充满了想象空间。作为一个长期与各种自动化工具和效率方法论打交道的人&#xff0c;我立刻意识到&#xff0c;这…...

Python邮件自动化实战:基于mymailclaw的监控报警与Slack集成

1. 项目概述与核心价值最近在折腾邮件自动化处理的时候&#xff0c;发现了一个挺有意思的开源项目&#xff0c;叫psandis/mymailclaw。乍一看这个名字&#xff0c;你可能会联想到“邮件抓取”或者“邮件爬虫”。没错&#xff0c;它的核心定位就是一个用 Python 写的邮件客户端自…...

Midjourney Ash印相参数白皮书(含Adobe RGB/ProPhoto RGB双色域适配矩阵及ICC Profile嵌入规范)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney Ash印相技术演进与核心定位 Midjourney Ash印相&#xff08;Ash Toning&#xff09;并非传统暗房化学工艺的简单复刻&#xff0c;而是基于生成式AI图像合成模型的一套语义化风格映射机制。它…...

基于CircuitPython与MCP9808的智能恒温控制器DIY指南

1. 项目概述作为一个常年鼓捣嵌入式系统和家庭自动化项目的爱好者&#xff0c;我一直在寻找那些能将技术融入日常生活的有趣点子。几年前开始在家酿造康普茶&#xff0c;立刻就遇到了一个经典难题&#xff1a;发酵温度控制。康普茶这种活菌饮料&#xff0c;其风味和健康度极度依…...

Midjourney Mud印相实战手册(含12组高保真历史文物级Mud Prompt库+对应seed校验表)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney Mud印相的技术起源与美学范式 Mud印相&#xff08;Mud Printing&#xff09;并非传统暗房工艺的直系衍生物&#xff0c;而是Midjourney V6 模型在高语义控制模式下催生的一种跨模态视觉隐喻…...