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;elseoutcode=3'b111;		
endmodule

在这里插入图片描述

2.2 分支语句实现

在这里插入代码片

3. 译码器

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

3.1条件语句实现

在这里插入代码片

3.2 分支语句实现

4.数据选择器

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

4.1 条件语句实现

4.2分支语句实现

二、时序逻辑电路

总结

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

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

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

相关文章

掌控你的Mac性能:System Dashboard Pro,一款专业的系统监视器

作为Mac用户,你是否曾经想要更好地了解你的电脑性能,以便优化其运行?是否想要实时监控系统状态,以便及时发现并解决问题?如果你有这样的需求,那么System Dashboard Pro就是你的不二之选。 System Dashboar…

【数据结构】顺序表的学习

前言:在之前我们学习了C语言的各种各样的语法,因此我们今天开始学习数据结构这一个模块,因此我们就从第一个部分来开始学习"顺序表"。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:数据结构 &#x1f…

能源管理系统为什么选择零代码开发平台?

市面上有很多能源管理系统,但是零代码开发能源管理系统却非常少。那为什么推荐选择零代码开发平台呢?因为很多企业缺少技术人员,但是却仍然需要数字化工具和流程推进业务和项目,解决能源管理技术人员不懂代码的矛盾问题&#xff0…

206. 反转链表、Leetcode的Python实现

博客主页:🏆看看是李XX还是李歘歘 🏆 🌺每天分享一些包括但不限于计算机基础、算法等相关的知识点🌺 💗点关注不迷路,总有一些📖知识点📖是你想要的💗 ⛽️今…

教师减负神器

在传统的成绩管理模式中,教师需要手动输入、整理、分析成绩数据,工作量大且繁琐。这不仅耗费了教师大量的时间和精力,还容易出现错误。为了解决这个问题,我们可以通过各种代码和Excel来实现学生自助查询成绩的功能。 一、建立成绩…

Linux设置ssh免密登录

ssh连接其他服务器 基本语法 ssh 另一台机器的ip地址 连接后输入连接主机用户的密码,即可成功连接。 输入exit 可以登出; 由于我配置了主机映射所以可以不写ip直接写映射的主机名即可,Linux配置主机映射的操作为 vim /etc/hosts # 我自己…

BEM:css命名规范

BEM BEM(Block-Element-Modifier),块、元素、修饰符,是一种CSS命名规范,旨在前端开发中创建可重用组件和代码共享的方法,使样式易于扩展,易于维护,易于理解 规范: 1、块(Block&am…

4-注册中心

今天聊一下服务的注册与发现。大家先思考一个问题,如果有五六个服务,大概100个接口,要调用其中某一个接口,怎么调?首先你得知道服务所在的ip地址和端口吧,然后得知道服务的名字和需要的参数,再然…

口袋参谋:如何玩转手淘“问大家”?这招超好用!

​现在应该不会还有商家不知道,手淘“问大家”分析吧! “问大家”模块对于转化率的影响非常关键,它的影响力不亚于买家秀,以前买家下单前都会去参考买家秀,现在买家更倾向于参考“问大家”然而,真正玩转“问…

win10系统nodejs的安装npm教程

1.在官网下载nodejs,https://nodejs.org/en 2,双击nodejs的安装包 3,点击 next 4,勾选I accpet the terms in…… 5,第4步点击next进入配置安装路径界面 6,点击next,选中Add to PATH ,旁边…

集简云浏览器插件:无代码开发,实现CRM系统与用户运营的高效集成

无代码开发实现连接 集简云浏览器插件是一种强大的工具,可以帮助公司实现网页端数据的自动化同步,例如新闻媒体网站的数据抓取和采集,以及每天同步文章和视频等最新营销数据。这种插件的功能使得企业可以在没有编程技能的情况下实现无代码开…

【蓝桥杯选拔赛真题44】python小蓝晨跑 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析

目录 python小蓝晨跑 一、题目要求 1、编程实现 2、输入输出 二、算法分析

国内某发动机制造工厂RFID智能制造应用解决方案

一、工厂布局和装备 国内某发动机制造工厂的装配车间布局合理,设备先进,在这个5万平方米的生产区域内,各个工位之间流程紧密,工厂采用了柔性设备,占比达到了67%,数控化率超过90%,自动化率达到了…

若依笔记(三):权限控制与数据隔离

目录 数据隔离/权限控制 用户/权限/部门/岗位 ​数据隔离 mybatis的maaper写法 注解和切面 前端路由拦截 已知若依单体的前端采用vue-element-admin,在前端的专栏系列vue-element-admin的动态路由已详细拆解,其最大特点是使用后端返回数据控制前端…

react和vue的区别

目录 react和vue区别的主要区别 react和vue区别的部分详情 1. 语法: 2. 组件化开发: 3. 状态管理: 4. 生态系统: 5. 性能特点: react和vue区别的主要区别 React和Vue是两种流行的JavaScript库,用于构…

pom.xml详解

我们在开发Java应用程序时,pom.xml文件是项目中的核心配置文件之一,它结合Maven实现对项目依赖的拉取,今天就详细了解一下pom.xml文件的配置 Maven是一种构建工具,它用于构建、管理和发布Java项目pom.xml文件包含了项目的所有重要…

降低边际成本:跨境电商的利润增长策略

在竞争激烈的跨境电商领域,降低成本是提高利润的关键。边际成本,即生产或销售一件额外商品所需的额外成本,在跨境电商中起到至关重要的作用。在本文中,我们将探讨降低边际成本的策略,以实现跨境电商的利润增长。 供应链…

苹果M3 Max芯片跑分曝光:GPU性能不及M2 Ultra

驱动中国2023年11月2日消息,近日,据外媒报道,在苹果 M3 芯片现身 GeekBench 跑分库之后,M3 Max 芯片也出现在该跑分平台上。 据悉,搭载 M3 Max 芯片的设备标识符为 Mac15,9,目前共有 4 条信息,其…

【Linux】Nignx的入门使用负载均衡动静分离(前后端项目部署)---超详细

一,Nignx入门 1.1 Nignx是什么 Nginx是一个高性能的开源Web服务器和反向代理服务器。它使用事件驱动的异步框架,可同时处理大量请求,支持负载均衡、反向代理、HTTP缓存等常见Web服务场景。Nginx可以作为一个前端的Web服务器,也可…

微信小程序:实现多个按钮提交表单

效果 核心步骤 通过data-type给不同按钮进行设置&#xff0c;便于很好的区分不同按钮执行不同功能 data-type"" 完整代码 wxml <form action"" bindsubmit"formSubmit"><button style"margin-bottom:5%" data-type"pa…