当前位置: 首页 > news >正文

实验一 FPGA使用Verilog HDL设计选择器

 1.实验目的

  1. 掌握使用Vivado软件进行设计、仿真的方法。
  2. 掌握FPGA程序的下载方法。
  3. 掌握使用Verilog HDL设计选择器的方法。

2.实验要求

采用Verilog HDL语言设计程序,实现一个四选一数据选择器,并对其进行仿真。

3.实验过程

  1. 打开Vivado软件,新建一个工程。
  2. 新建设计文件,使用Verilog HDL语言设计程序,实现数据选择器功能。

  1. 具体代码如下:
module mux_4_1(
in,
s,
out
);input[3:0] in;//四个输入端,位宽为4
input[1:0] s;//两个控制信号,位宽为2
output out;
reg out;always @(*)begin
if(s == 2'b00)out=in[0];
if(s == 2'b01)out=in[1];
if(s == 2'b10)out=in[2];
if(s == 2'b11)out=in[3];
end
endmodule

仿真代码如下:

module mux_4_1_stimulation;reg[3:0]in;
reg[1:0]s;
wire out;mux_4_1 u_mux_4_1(.in(in),.s(s),.out(out)
);always #10 in[0]=~in[0];
always #20 in[1]=~in[1];
always #40 in[2]=~in[2];
always #80 in[3]=~in[3];initialbegin s=1'b0;in=4'b0;#160 $stop;end;
always #10 s=s+1;
endmodule

其实仿真代码并不是很重要,只不是为了观察自己的实验结果和自己的预期是否一样而已 

引脚绑定:这个根据你自己使用的板子哪个对应哪个绑定就行 

总结 

本次实验旨在通过Vivado软件设计一个四选一数据选择器,并对其进行仿真,以加深对Verilog HDL语言的理解和实践能力。在完成实验过程中,我学会了如何使用Vivado软件进行设计和仿真,以及如何下载FPGA程序。使用Verilog HDL语言编写了一个四选一数据选择器的功能。在设计过程中,我考虑了数据选择器的输入端口、输出端口以及逻辑功能,确保了设计的正确性和完整性。

我对设计进行了仿真,验证了数据选择器的功能和正确性。通过仿真结果,我确认了设计的准确性,并对其进行了必要的调试和优化。通过本次实验,我不仅掌握了使用Vivado软件进行设计和仿真的方法,也加强了对Verilog HDL语言的掌握和应用能力。

 

相关文章:

  • 【数据结构】:大厂面试经典链表OJ题目详解
  • 【笔记-软考】层次式架构-表现层框架设计
  • 跨域浏览器解决前端跨域问题
  • 构建现代化农业产业服务平台的系统架构
  • Ruby、Python、Java 开发者必备:Codigger之软件项目体检
  • [数据集][目标检测]野猪检测数据集VOC+YOLO格式1000张1类别
  • Spring Security认证授权介绍
  • vue3 使用Mock
  • 【深度学习】yolov8-seg分割训练,拼接图的分割复原
  • 使用 Windows 应用程序 SDK 构建下一代应用程序
  • Godot入门 02玩家1.0版
  • 数据结构【没头单链表】
  • bug诞生记——动态库加载错乱导致程序执行异常
  • 典型二进制翻译系统---用户级翻译
  • NAND Flash 的 SDR、ONFI、DDR 接口
  • 4个实用的微服务测试策略
  • Asm.js的简单介绍
  • C++类中的特殊成员函数
  • canvas 高仿 Apple Watch 表盘
  • Hexo+码云+git快速搭建免费的静态Blog
  • Laravel Telescope:优雅的应用调试工具
  • Linux中的硬链接与软链接
  • Quartz初级教程
  • React-redux的原理以及使用
  • 从零开始在ubuntu上搭建node开发环境
  • 解析带emoji和链接的聊天系统消息
  • 提醒我喝水chrome插件开发指南
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • ​卜东波研究员:高观点下的少儿计算思维
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • #职场发展#其他
  • (Python第六天)文件处理
  • (八)Spring源码解析:Spring MVC
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • ***利用Ms05002溢出找“肉鸡
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Core 通过 Ef Core 操作 Mysql
  • .Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .net和php怎么连接,php和apache之间如何连接
  • .NET建议使用的大小写命名原则
  • @Async 异步注解使用
  • @synthesize和@dynamic分别有什么作用?
  • [20190113]四校联考
  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略
  • [AHK V2]鼠标悬停展开窗口,鼠标离开折叠窗口
  • [autojs]逍遥模拟器和vscode对接
  • [AWS]CodeCommit的创建与使用
  • [C/C++]数据结构 循环队列
  • [C++] 模拟实现list(二)