EDA实验-----3-8译码器设计(QuartusII)

目录

一. 实验目的

二. 实验仪器

三. 实验原理及内容

1.实验原理

2.实验内容

四.实验步骤

五. 实验报告

六. 注意事项

 七. 实验过程

1.创建Verilog文件,写代码

​编辑

2.波形仿真

3.连接电路图

4.烧录操作


一. 实验目的

  1. 学会Verilog HDL的case语句应用。
  2. 学会Verilog HDL的if语句应用。
  3. 学会使用Verilog HDL进行简单的电路设计。
  4. 掌握QUARTUSⅡ软件的基本操作和应用。

二. 实验仪器

  1. PC机一台。
  2. FPGA实验开发系统一套。

三. 实验原理及内容

1.实验原理

         3-8译码器的三输入,八输出。输入信号N用二进制表示,对应的输出信号N输出高电平时表示有信号产生,而其他则为低电平表示无信号产生。其真值表如下所示:

当使能端指示输入信号无效或不用对当前的信号进行译码时,输出端全为高电平,表示任何信号无效。

2.实验内容

        用三个拨动开关来表示三八译码器的三个输入(A,B,C),用八个LED来表示三八译码器的八个输出(D0-D7)。通过与实验箱的FPGA接口相连,来验证真值表中的内容。

表3-1  拨动开关与FPGA管脚连接表

信号名称

对应FPGA管脚名

A

PIN_212

B

PIN_213

C

PIN_95

                                                表3-2  LED灯与FPGA管脚连接表

(当FPGA与其对应的接口为低电平时,LED会发亮)

信号名称

对应FPGA管脚名

LED1

167

LED2

165

LED3

166

LED4

162

LED5

164

LED6

159

LED7

161

LED8

156

LED_CS

174

四.实验步骤

1.开机,进入QUARTUSⅡ软件系统。
2.建立工程。主芯片为Cyclone2系列EP2C20Q240C8N型号。
3.新建一个Verilog HDL File文件。
4.使用Verilog语言编写3-8译码器。
5.保存文件。
6.将文件设置为工程的顶层文件并编译。
7.创建仿真文件University Program VWF,添加所需的变量并进行功能仿真。
8.分析仿真结果
9.配置管脚
编译综合下载验证。

五. 实验报告

  1. 总结Verilog设计多路选择器使用的最基本与核心的语法知识。
  2. 对仿真的结果进行分析。
  3. 讨论自己在设计过程中遇到的问题、解决的过程以及收获体会。

六. 注意事项

  1. 在对LED操作时不要忽略LED的使能;
  2. 8个LED与芯片管教一定要按顺序配置。

 七. 实验过程

点击New project……创建新工程

 然后设置项目的路径和名称(自己设置就好了)

选择相对应的芯片类型(看自己情况选择) 

 创建完成!

1.创建Verilog文件,写代码

点击New,创建文件

 选择Verilog文件,创建

然后就是写代码,写完之后就进行保持文件,把文件的名称跟模块的名称改成一样。(必须一致)

代码如下: 

module Encode38(input	wire [2:0] Key_in,//3位拨码开关输入4output reg [7:0]led//8颗LED输出
);always@(Key_in)begincase(Key_in)	3'b000 : led = 8'b11111110;3'b001 : led = 8'b11111101;3'b010 : led = 8'b11111011;3'b011 : led = 8'b11110111;3'b100 : led = 8'b11101111;3'b101 : led = 8'b11011111;3'b110 : led = 8'b10111111;3'b111 : led = 8'b01111111;default: ;endcaseend
endmodule 

这里我们要把当前Verilog文件设置为顶层文件(也就是主函数的意思),设置好了之后就可以编译运行了。 

2.波形仿真

设置好仿真界面,仿真结果如下:

 然后进行对比,仿真无误后就进行电路图连接。

3.连接电路图

点击New,创建block文件,如图所示:

 点开file,然后鼠标右键Verilog文件,生成子模块文件。

点开block文件,然后点击元器件查看,这里我们就可以看到project文件夹里面有一个我们用Verilog代码写的元器件,然后就可以进行输入输出连线处理。 

然后就是连线处理 ,结果如下图所示。

 最后连接好元器件之后就进行引脚的绑定,步骤如图所示。

绑定完成之后,我们可以点开这里查看绑定 最后就是编译运行,运行无误。

4.烧录操作

点击此处

 这里我们就可以看到有一个芯片,也就是我们生成的sof文件,只需要把这个文件烧录到你的开发板就行了。(注意:上面如果显示No Hardware的话,要点开旁边的接口设置,设置为USB接口就行了,连接了开发板就会自动显示出来)。

 以上就是本期的全部内容了,我们下一次见!

分享一张壁纸: 

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

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

相关文章

JVM如何运行,揭秘Java虚拟机运行时数据区

目录 一、概述 二、程序计数器 三、虚拟机栈 四、本地方法栈 五、本地方法接口 六、堆 (一)概述 (二)堆空间细分 七、方法区 一、概述 不同的JVM对于内存的划分方式和管理机制存在部分差异,后续针对HotSpot虚…

前端案例-css实现ul中对li进行换行

场景描述: 我想要实现,在展示的item个数少于4个的时候,则排成一行,并且均分(比如说有3个,则每个的宽度为33.3%),如果item 个数大于4,则进行换行。 效果如下&#xff1a…

网络运维Day14

监控概述 监控的目的 报告系统运行状况每一部分必须同时监控内容包括吞吐量、反应时间、使用率等提前发现问题进行服务器性能调整前,知道调整什么找出系统的瓶颈在什么地方 监控的资源类别 公开数据 Web、FTP、SSH、数据库等应用服务TCP或UDP端口 私有数据 CPU、内…

【Java 进阶篇】JQuery DOM操作:舞动网页的属性魔法

在前端的舞台上,属性操作是我们与HTML元素进行互动的关键步骤之一。而JQuery,这位前端开发的巫师,通过简洁而强大的语法,为我们提供了便捷的属性操作工具。在这篇博客中,我们将深入研究JQuery DOM操作中的属性操作&…

Android Rxjava架构原理与使用的详解解答

简单介绍 Rxjava这个名字,其中java代表java语言,而Rx是什么意思呢?Rx是Reactive Extensions的简写,翻译过来就是,响应式拓展。所以Rxjava的名字的含义就是,对java语言的拓展,让其可以实现对数据…

【论文精读】Pose-Free Neural Radiance Fields via Implicit Pose Regularization

今天读的是一篇发表在ICCV 2023上的文章,作者来自NTU。 文章地址:点击前往 文章目录 Abstract1 Intro2 Related Work3 Preliminary4 Proposed Method4.1 Overall Framework4.2 Scene Codebook Construction4.3 Pose-Guided View Reconstruction4.4 Train…

HTML设置标签栏的图标

添加此图标最简单的方法无需修改内容,只需按以下步骤操作即可: 1.准备一个 ico 格式的图标 2.将该图标命名为 favicon.ico 3.将图标文件置于index.html同级目录即可 为什么我的没有变化? 答曰:ShiftF5强制刷新一下网页就行了

Python实现WOA智能鲸鱼优化算法优化卷积神经网络回归模型(CNN回归算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提…

ELK之Logstash解析时间相差8h的问题

一、问题描述 服务器当前时间为:2022年 06月 28日 星期二 11:24:22 CST 而logstash解析的时间为2022-06-28T03:15:25.545Z与实际时间相差8h 一、解决办法: 需改logstash的配置文件: 原理就是:定义一个中间变量timestamp&…

Linux系统编程——标准c库对文件操作

Linux、标准c库对文件操作的区别 1.来源 从来源的角度看,两者能很好的区分开,这也是两者最显而易见的区别: open是UNIX系统调用函数 (包括LINUX等) ,返回的是文件描述符 (File Descriptor),它是文件在文件描述符表里的索引。.f…

postswigger 靶场(CSRF)攻略-- 1.没有防御措施的 CSRF 漏洞

靶场地址: What is CSRF (Cross-site request forgery)? Tutorial & Examples | Web Security Academy (portswigger.net)https://portswigger.net/web-security/csrf 没有防御措施的 CSRF 漏洞 题目中已告知易受攻击的是电子邮件的更改功能,而目…

搜索引擎项目

认识搜索引擎 1、有一个主页、有搜索框。在搜索框中输入的内容 称为“查询词” 2、还有搜索结果页,包含了若干条搜索结果 3、针对每一个搜索结果,都会包含查询词或者查询词的一部分或者和查询词具有一定的相关性 4、每个搜索结果包含好几个部分&…

数据库恢复技术

事务 含义:用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位 地位:恢复和控制并发的基本单位 区分事务和程序,一个程序中包含多个事务 定义事务 事务的开始与结束…

景联文科技加入中国人工智能产业发展联盟(AIIA),与行业各方共促AI产业发展

近日,景联文科技加入中国人工智能产业发展联盟(AIIA),与行业各方共同挖掘人工智能数据的更多价值,破解中国人工智能AI数据短缺难题。 中国人工智能产业发展联盟(简称AIIA)是在国家发改委、科技部…

PostgreSQL 机器学习插件 MADlib 安装与使用

MADlib 一个可以在数据库上运行的开源机器学习库,支持 PostgreSQL 和 Greenplum 等数据库;并提供了丰富的分析模型,包括回归分析,决策树,随机森林,贝叶斯分类,向量机,风险模型&#…

逐帧动画demo

用这一张图实现一个在跑的猎豹的动画 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X…

RabbitMq防止消息丢失

RabbitMq防止消息丢失 消息的传递路径出现消息丢失的位置解决 消息的传递路径 消息发送方 --> MQ --> 消息消费方 出现消息丢失的位置 消息发送方: 消息传输过程中丢失MQ: MQ收到消息后,存在内存中,还未被消费就宕机了,导致数据丢失消息消费方: 消息到达消费方后, 服务…

创建maven的 java web项目

创建maven的 java web项目 创建出来的项目样子 再添加java和resources文件夹 一定要如图有文件夹下有图标才代表被IDEA识别&#xff0c;不让是不行的 没有的话在File——ProjectStructure中进行设置

【KCC@南京】KCC南京数字经济-开源行

一场数字经济与开源的视听盛宴&#xff0c;即将于11月26日&#xff0c;在南京举办。本次参与活动的有&#xff1a; 庄表伟&#xff08;开源社理事执行长、天工开物开源基金会执行副秘书长&#xff09;、林旅强Richard&#xff08;开源社联合创始人、前华为开源专家&#xff09;…

Linux SSH免密登录

目录 简介 创建Linux用户和用户组 配置LINUX静态IP 编辑IP映射 SSH免密登录配置 登录测试 简介 SSH&#xff08;Secure shell&#xff09;是可以在应用程序中提供安全通信的一个协议&#xff0c;通过SSH可以安全地进行网络数据传输&#xff0c;它的主要原理是利用非对称加密…