news 2026/7/28 11:17:13

HDLBITS 练习 卡诺图化简部分

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HDLBITS 练习 卡诺图化简部分

1 摩根定律和卡诺图化简

卡诺图画圈应遵循以下原则:

1、取大不取小,圈越大,消去的变量越多,与项越简单,能画入大圈就不画入小圈;

2、圈数越少,化简后的与项就越少;

3、一个最小项可以重复使用,即只要需要,一个方格可以同时被多圈所圈;

4、一个圈中的小方格至少有一个小方格不为其它圈所圈;

5、画圈必须覆盖完每一个填“1”方格为止。

练习

1,

因为只有一个0,可以选择零化简,得到反函数的最简公式的与或

则~(~a&~b&~c)

摩根定理得到out=a|b|c;

module top_module(
input a,
input b,
input c,
output out );
assign out=a|b|c;

endmodule

2 这次只有划圈,因为不熟练,所以就只两两划圈

~a~b~c + ~a~c~d +a~b~c+acd+~abc+~ac~d+~ac~d;

还是比较臃肿,观察之后化简,~b~c+~a~d+acd+~abc;

程序

module top_module(
input a,
input b,
input c,
input d,
output out );
assign out=(~b&~c)|(~a&~d)|(a&c&d)|(~a&b&c);

endmodule

3 不定态下的化简

比较简单,简化思路如下

程序

module top_module(
input a,
input b,
input c,
input d,
output out );

assign out=a|(~b&c);
endmodule

4 卡诺图化简

感觉无法化简,只能每个状态都写进去,写八个。不知道有没有大牛化简了的。该题跳过

5跳过

6

程序:

module top_module (
input [4:1] x,
output f );

assign f=~x[1]&x[3] |x[2]&x[4];
endmodule

7化简图

程序:

module top_module (
input [4:1] x,
output f
);
assign f=(~x[2]&~x[4]) | (~x[1]&x[3]) | (x[2]&x[3]&x[4]);

endmodule

8 用四选一选择器和多个二选一选择器实现卡诺图化简。找了下参考答案看看思路。

HDLBits(8)——Karnaugh Map to Circuit_Mount256的博客-CSDN博客

官网的参考答案如下:

module top_module (
input c,
input d,
output [3:0] mux_in
);

// After knowing how to split the truth table into four columns,
// the rest of this question involves implementing logic functions
// using only multiplexers (no other gates).
// I will use the conditional operator for each 2-to-1 mux: (s ? a : b)
assign mux_in[0] = (c ? 1 : (d ? 1 : 0)); // 2 muxes: c|d
assign mux_in[1] = 0; // No muxes: 0
assign mux_in[2] = d ? 0 : 1; // 1 mux: ~d
assign mux_in[3] = c ? (d ? 1 : 0) : 0; // 2 muxes: c&d

endmodule

用了三目运算符


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 11:15:44

代理服务器有哪些用途?12 个常见的代理服务器使用案例

代理服务器是一种中间服务器,它会在请求到达目标服务器之前,先通过自身的 IP 地址进行路由。人们使用代理服务器来保护隐私和访问网络,而企业则利用它们进行数据抓取、监控和市场情报收集。本指南将涵盖代理服务器的方方面面,以及…

作者头像 李华
网站建设 2026/7/28 11:14:34

NBM5100A与PIC18LF45K42在低功耗物联网设计中的协同优化

1. 理解NBM5100A与PIC18LF45K42的协同价值 在低功耗物联网设备设计中,工程师们经常面临一个经典矛盾:微控制器需要周期性唤醒执行任务(如传感器数据采集、无线传输),这些瞬时工作电流可能高达数十mA,而常用…

作者头像 李华
网站建设 2026/7/28 11:14:33

物联网安全:硬件级解决方案与SE050芯片应用

1. 物联网安全挑战与硬件级解决方案 在智能家居设备被大规模入侵导致用户隐私泄露的新闻频登头条的当下,物联网安全已从技术话题升级为公众议题。传统基于软件加密的方案面临两大致命缺陷:密钥存储不安全(容易被提取)和算力有限&a…

作者头像 李华
网站建设 2026/7/28 11:12:04

计算机专业就业:把复杂问题拆小验证

这篇我按“先跑起来、再讲取舍”的方式写《证书、项目和实习,计算机专业就业到底该先补哪一个?》。概念会讲,但重点放在代码怎么组织、哪里容易踩坑。摘要摘要:在大模型从 Demo 走向工程化的当下,企业真正关注的不是 P…

作者头像 李华
网站建设 2026/7/28 11:10:45

基于YOLO的PCB缺陷检测系统开发与优化实践

1. 项目概述:基于深度学习的PCB缺陷检测系统 这个项目构建了一个完整的工业质检解决方案,通过YOLO系列算法实现PCB板的自动化缺陷检测,并采用Django框架开发了可视化的Web管理界面。我在电子制造业的AI质检领域有五年实战经验,这套…

作者头像 李华
网站建设 2026/7/28 11:10:04

Unity WebGL性能优化实战:从加载到渲染的完整指南

1. 项目概述:为什么Unity WebGL性能优化是2024年的必修课? 最近在社区里看到不少朋友在讨论Unity项目导出WebGL后的性能问题,尤其是卡顿、加载慢、内存爆掉这些老毛病。我自己手头一个数字孪生项目刚上线WebGL版本,也经历了从“能…

作者头像 李华