【FPGA零基础学习之旅#2】“二选一多路器”简单实例

🎉欢迎来到FPGA专栏~"二选一多路器"简单实例


  • ☆* o(≧▽≦)o *☆~我是小夏与酒🍹
  • 博客主页:小夏与酒的博客
  • 🎈该系列文章专栏:FPGA学习之旅
  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
  • 📜 欢迎大家关注! ❤️
    FPGQ2

CSDN

遇见未来

Quartus II 13.0安装和破解:
对于此学习之旅,使用的开发软件是Quartus II 13.0
对于Quartus II 13.0和破解工具的获取可以点击该链接前往下载:【软件工具】Quartus II13.0带modelsim集成包
我也将需要下载的所有内容打包到了百度网盘,需要的在此获取:
Quartus 13.0安装包带Modelsim:
链接:https://pan.baidu.com/s/10TX3rcZ9MGx26OCA9Ltfxg
提取码:eais
Quartus 13.0安装教程和破解工具:
链接:https://pan.baidu.com/s/1p8Z2SoyFpLMUizstzCIHUw
提取码:af5i
对于该开发软件的安装和破解的方法直接参考下载内容中的安装和破解教程即可,非常详细,在此不再过多介绍。
注意: 安装路径中不要出现中文空格!否则会导致Quartus II和仿真软件使用不了或者出错!

一、实例介绍

该系列文章只是作为学习记录,并无其余用途。所发文章内容是经过自己本身操作和记录整理得来。
本篇文章主要记录二选一多路器的实现、仿真和烧录过程

🥝二选一多路器

二选一多路器的简单示例图如下:
二选一多路器

🥝项目文件夹

项目文件夹目录:
工程文件夹

二、程序编写

🍍代码编写

Verilog HDL File中的代码如下:

module mux2(
//端口列表
	a,  //key0
	b,  //key1
	sel,//key2
	out //1:led熄灭  0:led点亮
);

//端口类型定义
	input a;
	input b;
	input sel;
	
	output out;
	
//功能设计
	assign out = sel?b:a;
	//assign out = (sel == 1)?b:a;

endmodule

🍍RTL viewer

全编译之后,我们可以在RTL viewer中查看其硬件逻辑电路
RTL
展示结果如下:
展示结果

🍍University Program VWF

Ctrl+N并选择University Program VWF
w1
其中,对a、b和sel设置如下:
a
b
sel
功能仿真波形:
功能仿真波形
时序仿真波形:
时序仿真

三、Modelsim仿真

🍋编写测试激励文件

将测试激励文件保存到项目对应的testbench文件夹下,代码如下:

`timescale 1ns/1ps

module mux2_tb();
	
	//激励源
	//激励信号定义,对应连接到待测试模块的输入端口
	reg s1;  //a
	reg s2;  //b
	reg s3;  //sel
	
	//待检测信号定义,对应连接到待测试模块的输出端口
	wire Light1;  //out

	//例化待测试模块
	mux2 mux2_inst0(
	//端口列表
		.a(s1),
		.b(s2),
		.sel(s3),
		.out(Light1)
	);
	
	//产生激励 
	initial begin
	s1 = 0; s2 = 0; s3 = 0;
	
	#100;
	s1 = 1; s2 = 0; s3 = 0;
	
	#100;
	s1 = 0; s2 = 1; s3 = 0;
	
	#100;
	s1 = 1; s2 = 1; s3 = 0;
	
	#100;
	s1 = 0; s2 = 0; s3 = 1;
	
	#100;
	s1 = 1; s2 = 0; s3 = 1;
	
	#100;
	s1 = 0; s2 = 1; s3 = 1;
	
	#100;
	s1 = 1; s2 = 1; s3 = 1;
	
	#100;
	$stop;
	
	end


endmodule

🍋RTL Simulation

将仿真脚本设置完成之后,进行前方真,也叫功能仿真
RTL设置
仿真结果如下:
仿真结果

🍋Gate Level Simulation

对功能仿真结果无误且符合预期之后,进行后仿真,也叫做门级仿真
4
选择第一个时序模型:慢速工作、环境温度为 85℃、内核供电 1.2V 的情况进行仿真:
5
仿真结果如下:
门级仿真结果
注意注意❗如果在进行门级仿真时没有提示进行时序模型选择并且仿真结果没有延迟出现的话,请参考如下步骤进行设置:
1
2
3
上述情况解决办法参考链接【Modelsim常见问题】ModelSim无时序仿真选项,后仿真波形无延迟

四、程序烧录

🍊IO分配

查看LED和按键对应的引脚分配:
LED
按键

Pin Planner中进行IO分配:

分配
上述步骤完成之后,就可以生成烧写文件JIC了,并准备下载到开发板中。

🍊安装下载驱动

开发板与电脑连接需要安装2个驱动,分别是USB转串口驱动USB Blaster下载器驱动

对比两驱动的功能如下:

USB转串口驱动USB Blaster驱动
实现USB转串口功能给FPGA下载程序时使用
实现FPGA和电脑通过串口进行通信不安装无法下载程序到FPGA

把开发板连接到电脑上,使用方口Type-B USB数据线连接电脑和开发板,如图:
连接设备

接好之后不用管电源开关的位置,打开设备管理器进行查看:
设备管理器

黄色感叹号表示设备驱动不正常,这个时候我们就需要手动安装该设备驱动

安装CH340驱动:
因为我之前使用其他开发板和设备的时候就已经安装过CH340的驱动了,所以该设备驱动正常。
如果没有安装该驱动的话,可以在网上搜索并下载该驱动安装即可

安装USB-Blaster驱动:
选中USB-Blaster,单击鼠标右键,选择更新驱动程序。在弹出的界面中,选择浏览计算机以查找驱动程序软件。

在弹出的窗口中,点击浏览,将路径定位到电脑上 Quartus II 软件的安装目录下的drivers 文件夹勾选“包括子文件夹”选项,然后点击下一步,等待安装。安装成功之后如下:

在这里插入图片描述

🍊程序烧录和结果展示

将开发板和电脑连接,配置好对应的文件和设置之后,点击Start按钮即可烧写程序:
烧写1
等待片刻,当Progress达到100%时,程序烧写成功
成功
烧写成功之后,对开发板重新上电,之后就可以使用开发板上的按键进行测试了:

测试

csdn

🧸结尾


评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小夏与酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值