HDLBits中文版,标准参考答案 | 3.1.4 Karnaugh Map to Circuit | 卡诺图到电路

关注 望森FPGA  查看更多FPGA资讯

这是望森的第 11 期分享

作者 | 望森
来源 | 望森FPGA

目录

1 3 变量

2 4 变量

3 4 变量

4 4 变量

5 最小 SOP 和 POS

6 卡诺图

7 卡诺图

8 使用多路复用器实现的卡诺图


本文中的代码都能够正常运行,请放心食用😋~

练习的官方网站是:https://hdlbits.01xz.net/

注:作者将每个练习的知识点都放在了题目和答案之后


1 3 变量

题目:

实现下面的卡诺图所描述的电路。

在编码之前尝试简化 k-map。尝试乘积和形式和乘积和形式。我们无法检查您是否对 k-map 进行了最佳简化。但我们可以检查您的简化是否等效,并且可以检查您是否可以将 k-map 转换为电路。

答案:

1.卡诺图化简

2.逻辑表达式

out = a + b + c;

3.代码

我的答案:
module top_module(input a,input b,input c,output out  ); always@(*)beginout = a | b | c; endendmodule参考答案:
module top_module(input a, input b,input c,output out
);// SOP form: Three prime implicants (1 term each), summed.// POS form: One prime implicant (of 3 terms)// In this particular case, the result is the same for both SOP and POS.assign out = (a | b | c);endmodule

2 4 变量

题目:

实现下面的卡诺图所描述的电路。

在编码之前尝试简化 k-map。尝试乘积和形式和乘积和形式。我们无法检查您是否对 k-map 进行了最佳简化。但我们可以检查您的简化是否等效,并且可以检查您是否可以将 k-map 转换为电路。

答案:

1.卡诺图化简

2.逻辑表达式

out = b'c'+ a'd' + bcd + acd;

3.代码

我的答案:
module top_module(input a,input b,input c,input d,output out  ); always@(*)beginout = (~b & ~c) | (~a & ~d) | (b & c & d) | (a & c & d);endendmodule

3 4 变量

题目:

实现下面的卡诺图所描述的电路。

在编码之前尝试简化 k-map。尝试乘积和形式和乘积和形式。我们无法检查您是否对 k-map 进行了最佳简化。但我们可以检查您的简化是否等效,并且可以检查您是否可以将 k-map 转换为电路。

答案:

1.卡诺图化简

2.逻辑表达式

out = b'c + a;

3.代码

module top_module(input a,input b,input c,input d,output out  ); always@(*)beginout = a | (~b & c); endendmodule

知识点:

d为无关项,在卡诺图中既可以当作1也可以当作0;


4 4 变量

题目:

实现下面的卡诺图所描述的电路。

在编码之前尝试简化 k-map。尝试乘积和形式和乘积和形式。我们无法检查您是否对 k-map 进行了最佳简化。但我们可以检查您的简化是否等效,并且可以检查您是否可以将 k-map 转换为电路。

答案:

1.卡诺图化简

无法化简

2.逻辑表达式

找规律(同或、异或)

out = ~(a ^ b) & (c ^ d) | (a ^ b) & ~(c ^ d);

3.代码

module top_module(input a,input b,input c,input d,output out  ); always@(*)beginout = ~(a ^ b) & (c ^ d) | (a ^ b) & ~(c ^ d); endendmodule

5 最小 SOP 和 POS

题目:

具有四个输入(a、b、c、d)的单输出数字系统在输入出现 2、7 或 15 时生成逻辑 1,在出现 0、1、4、5、6、9、10、13 或 14 时生成逻辑 0。数字 3、8、11 和 12 的输入条件在此系统中永远不会发生。例如,7 分别对应于 a、b、c、d 设置为 0、1、1、1。

确定最小 SOP 形式的输出 out_sop 和最小 POS 形式的输出 out_pos。

答案:

1.卡诺图绘制

注:x为无关项

2.卡诺图化简

(1)最小项之和

(2)最大项之和

3.逻辑表达式

(1)最小项之和

out_sop = cd | ~a~bc;

(2)最大项之和

out_pos = ~(~c | b~d | a~d) = c ~(b~d) ~(a~d) = c (~b | d) (~a | d);

4.代码

module top_module (input a,input b,input c,input d,output out_sop,output out_pos
); always@(*)beginout_sop = (c & d) | (~a & ~b & c);out_pos = c & (~b | d) & (~a | d);endendmodule

知识点:

  • SOP形式指找出所有输出为1(最小项)的输入组合

  • POS形式指找出所有输出为0(最大项)的输入组合,画圈之后的正负是反着写的


6 卡诺图

题目:

考虑下面的卡诺图所示的函数 f。

实现这个函数。d 是无关的,这意味着您可以选择输出任何方便的值。

答案:

1.卡诺图化简

2.逻辑表达式

f = (~x1 & x3) | (x2 & x4);

3.代码

module top_module (input [4:1] x, output f );always@(*)beginf = (~x[1] & x[3]) | (x[2] & x[4]);endendmodule

7 卡诺图

题目:

考虑下面卡诺图中所示的函数 f。实现此函数。

答案:

1.卡诺图化简

2.逻辑表达式

f = (~x2 & ~x4) | (~x1 & x3) | (x2 & x3 & x4);

3.代码

module top_module (input [4:1] x,output f
); always@(*)beginf = (~x[2] & ~x[4]) | (~x[1] & x[3]) | (x[2] & x[3] & x[4]);endendmodule

8 使用多路复用器实现的卡诺图

题目:

对于以下卡诺图,给出使用一个 4 对 1 多路复用器和尽可能多的 2 对 1 多路复用器(但尽可能少)的电路实现。您不得使用任何其他逻辑门,并且必须使用 a 和 b 作为多路复用器选择器输入,如下面的 4 对 1 多路复用器所示。

您只实现标记为 top_module 的部分,这样整个电路(包括 4 对 1 多路复用器)就实现了卡诺图。

1.卡诺图化简

2.逻辑表达式

mux_in = (abcd) | (~a~bd) | (~bc~d) | (a~b~d);

根据题目要求,整理分离ab与cd:

mux_in = (~a~b) & (c | d) | (a~b) & (cd) | (ab) & (~d);

mux_in[0] = c | d; //ab = 00时

mux_in[1] = 0; //ab = 01时

mux_in[2] = ~d; //ab = 10时

mux_in[3] = cd; //ab = 11时

3.代码

module top_module (input c,input d,output [3:0] mux_in
); always@(*)beginmux_in[0] = c | d;mux_in[1] = 1'b0;mux_in[2] = ~d;mux_in[3] = c & d;endendmodule

- END -

公z号/CSDN搜索【望森FPGA】,查看更多FPGA资讯~

相关推荐文章,点击跳转:

望森FPGA的HDLBits专栏

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

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

相关文章

最强AI绘画大模型Flux可以在SDWebUI 上使用了!超便捷的Flux模型使用教程!AI绘画零基础入门到实战教程

大家好,我是画画的小强 目前最强的AI绘画大模型Flux.1 横空出世有段时间了,模型效果也得到了广泛的认可,但是 Stable Diffusion WebUI 官方迟迟没有跟进,据说是因为要修改很多底层的处理机制,加之ComfyUI如火如荼&…

Nginx的基础讲解之重写conf文件

一、Nginx 1、什么是nginx? Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。 2、用于什么场景 Nginx适用于各种规模的网站和应用程序,特别是需要高并发处理和负载均衡的场…

【React】事件机制

事件机制 react 基于浏览器的事件机制自身实现了一套事件机制,称为合成事件。比如:onclick -> onClick 获取原生事件:e.nativeEvent onClick 并不会将事件代理函数绑定到真实的 DOM节点上,而是将所有的事件绑定到结构的最外层…

Pikachu-目录遍历

目录遍历,跟不安全文件上传下载有差不多; 访问 jarheads.php 、truman.php 都是通过 get 请求,往title 参数传参; 在后台,可以看到 jarheads.php 、truman.php所在目录: /var/www/html/vul/dir/soup 图片…

master节点k8s部署]33.ceph分布式存储(四)

总结ceph分布式存储(三)中提到的三种方法: 1.创建rbda,并且在创建pv的时候配置该rbda,以下代码仅展示关键信息。 [rootxianchaomaster1 ~]# cat pv.yaml apiVersion: v1 kind: PersistentVolume metadata: name: ceph-pv ...…

【每日一题 | 24.10.7】Fizz Buzz 经典问题

1. 题目2. 解题思路3. 代码实现(AC_Code) 个人主页:C_GUIQU 归属专栏:每日一题 1. 题目 Fizz Buzz 经典问题 2. 解题思路 【法1】逻辑硬解:按照题目逻辑分四种情况,用if else 判断即可。 【法2】switc…

Win10鼠标总是频繁自动失去焦点-非常有效-重启之后立竿见影

针对Win10鼠标频繁自动失去焦点的问题,可以尝试以下解决方案: 一、修改注册表(最有效的方法-重启之后立竿见影) 打开注册表编辑器: 按下WindowsR组合键,打开运行窗口。在运行窗口中输入“regedit”&#x…

VMware ESXi 7.0U3q macOS Unlocker OEM BIOS 2.7 Dell HPE 联想定制版 9 月更新发布

VMware ESXi 7.0U3q macOS Unlocker & OEM BIOS 2.7 Dell HPE 联想定制版 9 月更新发布 VMware ESXi 7.0U3q macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版 ESXi 7.0U3 标准版,Dell (戴尔)、HPE (慧与)、Lenovo (联想)、Inspur (浪潮)、Cisco (思科)…

探索二叉树的奇幻世界:解密二叉树的结构与遍历

文章目录 目录 一、二叉树的基本操作 1.1 获取树中节点的个数 1.2 获取叶子节点的个数 1.3 获取第K层节点的个数 1.4 获取二叉树的高度 二、二叉树相关习题 2.1 检查两颗树是否相同 2.2 另一颗树的子树 2.3 翻转二叉树 2.4 判断一颗二叉树是否是平衡二叉树 一、二…

封装el-upload组件,用于上传图片和视频

使用环境 vue3element-ui plus 需要根据后端返回结构修改的函数&#xff1a;onPreview onRemove onSuccess 组件使用 基本使用 源代码&#xff1a; <script setup> import AutoUploadFile from /components/auto-upload-file/index.vue function change(urls){console.…

Html批量转word工具2.1

2024年10月7日记录&#xff1a; 有客户反馈&#xff0c;2.0刚运行就提示转换完成 有问题就解决。正好国庆假期这几天有空&#xff0c;2.1版就出炉了。 2.1 更新记录&#xff1a; 修复了1个bug&#xff1a;刚运行就提示转换完成 下载地址&#xff1a;Html 转 word 批量处理工具…

一、Python(介绍、环境搭建)

一、介绍 Python 是一种高级编程语言&#xff0c;具有简洁易读的语法、丰富的库和强大的功能。Python是解释型语言&#xff0c;运行代码必须依赖安装好的解释器。Python目前存在两个版本&#xff1a;Python2、Python3&#xff08;主流使用&#xff09; 二、环境搭建 1.安装P…

智能家居有哪些产品?生活中常见的人工智能有哪些?

智能家居有哪些产品? 1、智能照明设备类&#xff1a;智能开关、智能插座、灯控模块、智能空开、智能灯、无线开关。 2、家庭安防类&#xff1a;智能门锁、智能摄像机、智能猫眼、智能门铃。 3、智能传感器类&#xff1a;烟雾传感器、可燃气体传感器、水浸传感器、声光报警器…

小程序-全局数据共享

目录 1.什么是全局数据共享 2. 小程序中的全局数据共享方案 MboX 1. 安装 MobX 相关的包 2. 创建 MobX 的 Store 实例 3. 将 Store 中的成员绑定到页面中 4. 在页面上使用 Store 中的成员 5. 将 Store 中的成员绑定到组件中 6. 在组件中使用 Store 中的成员 1.什么是全…

Python 语言学习——应用1.2 数字图像处理(第二节,变换)

目录 1.基础知识 1.图像几何变换概念 2.图像几何变换方式 3.插值运算 4.几何变换步骤 2.各类变换 1.位置变换 2.形状变换 3.代数运算 3.实战演练 1.基础知识 1.图像几何变换概念 在图像处理过程中&#xff0c;为了观测需要&#xff0c;常常需要对 图像进行几何变换&am…

Kali或Debian系统安装JDK1.8保姆级教程

一、下载JDK1.8 先到Oracle的官网下载JDK1.8 Java Archive | Oraclehttps://www.oracle.com/java/technologies/downloads/archive/Java Archive Downloads - Java SE 8

【springboot】整合沙箱支付

目录 1. 配置沙箱应用环境2. 配置springboot项目1. 引入依赖2. 配置文件注册下载ngrok 3. 创建支付宝支付服务类4. 支付界面模板5. 控制类实现支付6. 测试 1. 配置沙箱应用环境 使用支付宝账号登录到开放平台控制台。 使用支付宝登录后&#xff0c;看到以下页面&#xff0c;下…

云计算身份认证与访问控制(Cloud Computing Identity Authentication and Access Control)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页…

AHT10原理讲解(I2C驱动)-基于江科大源码开发

一、原理图 根据数据手册中的要求&#xff08;以上两图&#xff09;&#xff0c;可以看出SDA和SCL接主芯片的引脚就可以&#xff0c;但是注意我们在接的过程中&#xff0c;给了两个上拉电阻。 上拉电阻的作用&#xff1a; 提高抗干扰能力&#xff1a;适当的上拉电阻值可以帮助…

论文阅读笔记-LogME: Practical Assessment of Pre-trained Models for Transfer Learning

前言 在NLP领域,预训练模型(准确的说应该是预训练语言模型)似乎已经成为各大任务必备的模块了,经常有看到文章称后BERT时代或后XXX时代,分析对比了许多主流模型的优缺点,这些相对而言有些停留在理论层面,可是有时候对于手上正在解决的任务,要用到预训练语言模型时,面…