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

news/2024/5/19 2:21:42 标签: fpga开发, Verilog, 硬件, EDA实验

目录

一. 实验目的

二. 实验仪器

三. 实验原理及内容

1.实验原理

2.实验内容

四.实验步骤

五. 实验报告

六. 注意事项

 七. 实验过程

Verilog%E6%96%87%E4%BB%B6%EF%BC%8C%E5%86%99%E4%BB%A3%E7%A0%81-toc" style="margin-left:80px;">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……创建新工程

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

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

 创建完成!

Verilog%E6%96%87%E4%BB%B6%EF%BC%8C%E5%86%99%E4%BB%A3%E7%A0%81" style="background-color:transparent;">1.创建Verilog文件,写代码

点击New,创建文件

 选择Verilog文件,创建

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

代码如下: 

module Encode38(
	input	wire [2:0] Key_in,//3位拨码开关输入4
	
	output reg [7:0]led//8颗LED输出
);
	always@(Key_in)begin
		case(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: ;
		endcase
	end
endmodule 

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

2.波形仿真

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

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

3.连接电路图

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

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

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

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

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

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

4.烧录操作

点击此处

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

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

分享一张壁纸: 


http://www.niftyadmin.cn/n/5176451.html

相关文章

活跃类指标

活跃类指标反映了用户的真实使用情况。本节我们深入探讨活跃类指标的核心逻辑。 1. UV UV ( Unique Visitor ,独立访客),是所有活跃类指标的基础。 既然叫独立访客,何谓之独立? APP 产品界定独立访客相对…

手写marque,字母滚动

<!--slot中写要滚动的内容--> <template><div class"marquee"><slot></slot></div> </template><script> import {defineComponent} from "vue";export default defineComponent({name: "marquee&qu…

wireshark打开tcpdump抓的包 vwr: Invalid data length runs past the end of the record

tcpdump -i any -n -s0 > t.pcap 使用此命令在Debian系统上抓包&#xff0c;下载到PC&#xff0c;用wireshark打开时报错&#xff1a; 后来发现写入文件时使用 -w 是没问题的&#xff0c;原因还不清楚。 tcpdump -i any -n -s0 -w t.pcap

Docker - DockerFile

Docker - DockerFile DockerFile 描述 dockerfile 是用来构建docker镜像的文件&#xff01;命令参数脚本&#xff01; 构建步骤&#xff1a; 编写一个dockerfile 文件docker build 构建成为一个镜像docker run 运行脚本docker push 发布镜像&#xff08;dockerhub&#xff0…

SAP系统供应商预付款请求和预付账款业务

最近搞清帐&#xff01; 在SAP中处理客户或供应商的预收/预付款相关业务流程操作说明, 首先由业务部门(销售或采购)下达销售/采购订单,同时基于订单提交预收/预付申请,客户/供应商款项到账时,由财务部门在SAP中勾选申请单来收付款;最后在财务转应收/应付转发票时自动核销。预付…

卫星位置解算

武大GPS原理及应用 1.导航电文

Structure-Inferred Bi-level Model for Underwater Image Enhancement论文小结

背景 随着水下机器人的发展&#xff0c;水下图像增强引起了计算机视觉界越来越多的关注。然而&#xff0c;由于光线在水中传播时会被散射和吸收&#xff0c;水下捕捉到的图像往往存在偏色和能见度低的问题。现有的方法依赖于特定的先验知识和训练数据&#xff0c;在缺乏结构信…

AcWing第129场周赛 - 5290. 重新分装 - 哈夫曼/贪心

解决这个问题前可以先把这三个问题想清楚 1、为什么可以使用哈夫曼树进行求解&#xff1f; 考虑逆操作 参考题解链接 2、为什么恰好是按照每堆所需要的数量分&#xff1f;针对某一堆&#xff0c;可以先分一部分吗&#xff1f; 首先这里按照每堆所正好含有的数量进行划分&#x…