欢迎来到FPGA专栏~"二选一多路器"简单实例
- ☆* o(≧▽≦)o *☆嗨~我是小夏与酒
- ✨博客主页:小夏与酒的博客
- 该系列文章专栏:FPGA学习之旅
- 文章作者技术和水平有限,如果文中出现错误,希望大家能指正
- 欢迎大家关注! ❤️
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)?:a;
endmodule
在全编译之后,我们可以在RTL viewer中查看其硬件逻辑电路:
展示结果如下:
Ctrl+N
并选择University Program VWF
:
其中,对a、b和sel设置如下:
功能仿真波形:
时序仿真波形:
将测试激励文件保存到项目对应的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
将仿真脚本设置完成之后,进行前方真,也叫功能仿真:
仿真结果如下:
对功能仿真结果无误且符合预期之后,进行后仿真,也叫做门级仿真:
选择第一个时序模型:慢速工作、环境温度为 85℃、内核供电 1.2V 的情况进行仿真:
仿真结果如下:
✨注意注意❗如果在进行门级仿真时没有提示进行时序模型选择并且仿真结果没有延迟出现的话,请参考如下步骤进行设置:
上述情况解决办法参考链接:【Modelsim常见问题】ModelSim无时序仿真选项,后仿真波形无延迟
在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按钮即可烧写程序:
等待片刻,当Progress达到100%时,程序烧写成功:
烧写成功之后,对开发板重新上电,之后就可以使用开发板上的按键进行测试了:
结尾
- ❤️ 感谢您的支持和鼓励!
- 您可能感兴趣的内容:
- 【FPGA零基础学习之旅#1】 AC620V2开发板测试
- 【Go黑帽子】使用Golang编写一个TCP扫描器(基础篇)
- 【Arduino TinyGo】【最新】使用Go语言编写Arduino-环境搭建和点亮LED灯
- Labview机器视觉-USB摄像头识别一维码(条形码)- 学习记录