EDA常用数字器件硬件描述


EDA常用数字器件硬件描述


前言

在使用了一段时间EDA编程之后,来回顾一下基本的知识,看看如何实现基本的EDA常用数字器件对应的硬件描述


一、组合逻辑器件描述

1. 基本的逻辑门电路

与、或、非(取反)、与非、或非、异或、同或

1.1 与and

module yand(a,b,y);
input a;
input b;
output y;

assign y=a&b;
endmodule
1.1.1测试文件.tv

在这里插入图片描述


`timescale 1 ps/ 1 ps
module yand_tb();

reg a;
reg b;
                                             
wire y;
                       
yand i1 (
// port map - connection between master ports and signals/registers   
	.a(a),
	.b(b),
	.y(y)
);
initial                                                
begin                                                  
   a=0;
	b=1;
end                                                    
always   #100 a=!a;
always   #250 b=!b;                                                
                                                   
endmodule


1.1.2 仿真结果

在这里插入图片描述

1.1.3 试验箱下载验证

引脚不小心分配错误
在这里插入图片描述

快速删除分配的引脚
可以参考一下资料

https://doc.embedfire.com/fpga/altera/ep4ce10_mini/zh/latest/fpga/IO_Lock.html

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
更正引脚分配,重新导入

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

配置下载

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2或or

module yor(a,b,y);
	input a,b;
	output y;
	assign y= a|b;
endodule

1.3 非(取反) ~

module ynot(a,y);
	input a;
	output y;
	assign y= ~a;
endodule

1.4 与非

module ynand(a,b,y);
	input a;
	input b;
	output y;
	assign y= ~(a&b);	
endodule

1.5或非 |

module ynor(a,b,y);
	input a;
	input b;
	output y;
	assign y= ~(a|b);	
endodule

1.5异或 ^

module yxor(a,b,y);
	input a;
	input b;
	output y;
	assign y= a^b;	
endodule

1.5异或

module yxnor(a,b,y);
	input a;
	input b;
	output y;
	assign y= ~(a^b);	
endodule

2. 编码器

74HC148 8-3优先编码器,将8个高低电平变成3位2进制码。
在这里插入图片描述

2.1. 条件语句实现

由于输出是否编码过于复杂,简略写只8-3编码

module HC148(en,incode,outcode);
input en;
input[7:0] incode;
output reg[2:0] outcode;

always @(en,incode)	
	   if(!en)		
			if(!incode[7]) outcode=3'b000;
			else if(!incode[6]) outcode=3'b001;
			else if(!incode[5]) outcode=3'b010;
			else if(!incode[4]) outcode=3'b011;
			else if(!incode[3]) outcode=3'b100;
			else if(!incode[2]) outcode=3'b101;
			else if(!incode[1]) outcode=3'b110;
			else if(!incode[0]) outcode=3'b111;
			else outcode=3'b111;
		else
			 outcode=3'b111;		
endmodule

在这里插入图片描述

2.2 分支语句实现

在这里插入代码片

3. 译码器

74HC138 3-8译码器电路,3个二进制,翻译成8个高低电平电路

3.1条件语句实现

在这里插入代码片

3.2 分支语句实现

4.数据选择器

74HC151 ,8选1数据选择器,具有两个互不的输出端

4.1 条件语句实现

4.2分支语句实现

二、时序逻辑电路

总结

从简单的组合逻辑电路到时序逻辑电路,由浅入深。没有试验硬件条件的要仿真实现。后面将逐步完善。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Centos7安装Docker,安装DockerCompose(集群化部署),Docker私服镜像仓库

0.安装Docker Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。 Docker CE 分为 stable test 和 nightly 三个更新频道…

数据结构第一课-----------数据结构的介绍

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

VueRouter 源码解析

重要函数思维导图 路由注册 在开始之前,推荐大家 clone 一份源码对照着看。因为篇幅较长,函数间的跳转也很多。 使用路由之前,需要调用 Vue.use(VueRouter),这是因为让插件可以使用 Vue export function initUse(Vue: GlobalAP…

有哪些项目适合程序员业余时间做,并且短期内能赚点小钱?

要我说,程序员赚点小钱就别指望着自己搞个大项目了。 这几年的市场环境不好,如果你没点家底的话,打工攒的那点积蓄让你创业,一不小心就会血本无归。 对于程序员来说,最合适的还是给别人打工!低风险稳定回款…

Vlice DM蓝牙5.2双模热插拔PCB

键盘使用说明索引(均为出厂默认值) 软件支持(驱动的详细使用帮助)一些常见问题解答(FAQ)首次使用步骤蓝牙配对规则(重要)蓝牙和USB切换键盘默认层默认触发层0的FN键配置的功能默认功…

创造产业链协同优势后,凌雄科技在DaaS行业转动成长飞轮

企业服务领域,一直存在一种共识:做好很难,但一旦服务模式跑通了,得到了市场的认可,要滚起雪球就会事半功倍。 重资产、重运营的DaaS(设备及服务)赛道,是个非常典型的细分领域。在这…

苹果AirTag固件更新

苹果公司针对其热销的物品追踪器 AirTag 于今天发布了新的固件更新,最新版本号为 2A61,但是这次更新苹果并未提供发布说明,所以目前还不知道这次更新有什么新内容。 关于这次更新,用户无法自己手动更新 AirTag 固件,因…

能看就能下?这个工具太牛了~

在抖音或者TikTok上看到很多精彩视频,想保存或者在微信或者其他地方分享,但是抖音和TikTok的APP都做了限制,有些视频没有下载权限,而且即使可以下载,也都会带上水印,影响观看效果。那么要如何在抖音和TikTo…

Pandas教程(非常详细)(第一部分)

Pandas 库是一个免费、开源的第三方 Python 库,是 Python 数据分析必不可少的工具之一,它为 Python 数据分析提供了高性能,且易于使用的数据结构,即 Series 和 DataFrame。Pandas 自诞生后被应用于众多的领域,比如金融…

Distribution-Aware Coordinate Representation for Human Pose Estimation阅读笔记

主要研究人体姿态估计中heatmap转坐标的方法,提出一种新的解码方法 (其实这人体姿态我毛也不会,过来看看这个heatmap解码方法) 代码:https://github.com/ilovepose/DarkPose/blob/master/lib/core/inference.py 方法…

【SOC基础】单片机学习案例汇总 Part1:电机驱动、点亮LED

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…

【QT】鼠标常用事件

新建项目 加标签控件 当鼠标进去,显示【鼠标进入】,离开时显示【鼠标离开】 将QLable提升成自己的控件,然后再去捕获 添加文件 改继承的类名 提升类 同一个父类,可以提升 效果 现在代码就和Qlabel对应起来了。 在.h中声明&…

【Azure】存储服务:Azure 的存储账户

文章目录 一、前提知识(建议了解)二、介绍 Azure 存储帐户三、使用 Microsoft Azure 门户创建存储帐户 一、前提知识(建议了解) 在每一个云厂商中,都有自身的云存储,也有根据不同功能进行区分的不同类型的…

双目视觉检测 KX02-SY1000型测宽仪 有效修正和消除距离变化对测量的影响

双目视觉检测的基本原理 利用相机测量宽度时,由于单个相机在成像时存在“近大远小”的现象,并且单靠摄入的图像无法知道被测物的距离,所以由被测物的跳动导致的被测物到工业相机之间距离变化,使测量精度难以提高。 因此测宽仪需…

java实现pdf文件添加水印,下载到浏览器

java实现pdf文件添加水印&#xff0c;下载到浏览器 添加itextpdf依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.8</version> </dependency>文件下载到浏览器和指定路径 …

55个软件测试工具,正在做测试的你get到了吗

网络“黑色星期五”威胁&#xff0c;安全漏洞&#xff0c;网上银行盗窃&#xff0c;系统停机时间&#xff0c;以及许多这样的恶梦让全球的企业忧心忡忡难以入眠。确保性能具有加载的安全性和增强的经验是这个领域每个有能力的玩家所必备的。 我们为你提供了一个丰富的软件测试…

如何使用查看器筛选、搜索功能进行数据定位?

前言 我们曾探讨过观测云如何通过将内置视图与查看器相联结&#xff0c;实现更全面的数据关联分析。&#xff08;参见《内置视图联动查看器&#xff0c;实现数据关联分析》&#xff09;这里提到的查看器&#xff0c;实际是一个功能全面且强大的数据查看分析工具。其提供多种搜…

macOS M1安装wxPython报错‘tiff.h‘ file not found的解决方法

macOS12.6.6 M1安装wxPython失败&#xff1a; 报错如下&#xff1a; imagtiff.cpp:37:14: fatal error: tiff.h file not found解决办法&#xff1a; 下载源文件重新编译&#xff08;很快&#xff0c;5分钟全部搞定&#xff09;&#xff0c;分三步走&#xff1a; 第一步&…

【element-ui】表格

效果展示 组件代码 <el-table class"compTableClass" ref"tableOOOOO":class"(className in tableConfig)?tableConfig.className:":data"tableConfig.data" :height"tableConfig.height" style"width: 100%"…

学习笔记|单样本秩和检验|假设检验摘要|Wilcoxon符号检验|规范表达|《小白爱上SPSS》课程:SPSS第十一讲 | 单样本秩和检验如何做?很轻松!

目录 学习目的软件版本原始文档单样本秩和检验一、实战案例二、统计策略三、SPSS操作1、正态性检验2&#xff0e;单样本秩和检验 四、结果解读第一&#xff0c;假设检验摘要第二&#xff0c;Wilcoxon符号检验结果摘要。第三&#xff0c;Wilcoxon符号秩检验图第四&#xff0c;数…