FPGA学习(1)-mux2,2选1多路器

目录

1 开发板配套资料

1.1学习网址和资料网址

2.创建工程文件

2.1创建过程

2.2写程序及仿真测试

2.2.1 写程序生成电路

2.2.2仿真

2.2.3 生成执行文件并烧录

3.实验现象


买的小梅哥店铺的开发板:xc7z020clg400

看的小梅哥的视频:03C _基于ZYNQ 的FPGA设计流程——二选一多路器板级验证_哔哩哔哩_bilibili

本贴为记录从0开始学习FPGA的过程。

1 开发板配套资料

1.1学习网址和资料网址

【产品资料】【Zynq开发板】小梅哥ACZ702开发板全套资料下载 - ACZ702开发板 - 芯路恒电子技术论坛 - Powered by Discuz! (corecourse.cn)

先看数字逻辑设计与验证课程:https://www.bilibili.com/video/BV1zw41117HS/

再看嵌入式裸机设计和开发教程:  https://www.bilibili.com/video/BV1Ra411q7ww

拿到开发板先看这个文档:01_【用户手册】ACZ702型Zynq SoC FPGA开发板用户手册V2.0.19 进行相关验证与测试。

进行数字逻辑设计时,先看视频,配合02_【逻辑教程】基于HDL的FPGA逻辑设计与验证教程V3.5.2 进行学习

在拿到开发板后,按照01_【用户手册】对开发板各项功能进行了测试,发现在测试某些项时需要连接DC电源才能成功,所以在学习时尽量把DC电源接上。在测试WIFI模块时,安卓手机开热点能成功,苹果不行。

2.创建工程文件

2.1创建过程

1.Quick start—creat project-创建工程名及存放路径。勾选Create project subdirectory,其作用是工程自动创建相关路径,点next/finish。

2.选择 RTL 类型的工程,勾选 Do not specify sources at this time,不在设计创建阶段进行添加源文件。

3.选择开发板型号9(这里开发板型号选错了,是7020,导致后面出现“program_hw_devices' failed due to earlier errors.”的问题。

4. 添加源文件

 命名source的名字,与工程名一致。剩余其他地方都点ok或者finish。

2.2写程序及仿真测试

2.2.1 写程序生成电路

在mux2_1下写程序,assign类似于赋值,int a=之类的。

 点击 Open Elaborated Design,可以看到相关电路。

2.2.2仿真

添加仿真源文件

tb代表test bench文件,没有端口信号,就像一个测试平台,把那些要测试的东西放在上面。

tb处的代码如下:

`timescale 1ns / 1ps //1ns:例如#20,是在仿真的时间线上延时20个ns。1ps:代表可以延时的经度,例如#20.001nsmodule mux2_tb();
reg s0;                         //随时需要修改值的地方使用reg来定义
reg s1;
reg s2;
wire mux2_1out;
mux2_1 mux2_1_inst0(              .a(s0),                      //例化,让a端口连接至s0.b(s1),.sel(s2),.out(mux2_1out)
);initial begins2=0;s1=0;s0=0; //sel=s2=0,out=a=s0=0;#20;s2=0;s1=0;s0=1;//sel=s2=0,out=a=s0=1#20;s2=0;s1=1;s0=0;//sel=s2=0,out=a=s0=0#20;s2=0;s1=1;s0=1;//sel=s2=0,out=a=s0=1#20;s2=1;s1=0;s0=0;//sel=s2=1,out=b=s1=0#20;s2=1;s1=0;s0=1;//sel=s2=1,out=b=s1=0#20;s2=1;s1=1;s0=0;//sel=s2=1,out=b=s1=1#20;s2=1;s1=1;s0=1;//sel=s2=1,out=b=s1=1#20;
end
endmodule

“品”代表仿真顶层,要将mux2_tb放在顶层。

 点击run simulation,会出现仿真时序图。将下方的滑钮滑到最左边,点上面的放大按钮。

点击open elaborated design ,右上换成I/O Planning。

 在下方进行管脚约束,对应好相应的IO口。在资料文档的“ACZ702接EDA扩展板V3管脚定义表”文件中有对应IO口。保存并命名。

2.2.3 生成执行文件并烧录

点击Generate Bitstream  ,留两个核做其他事。

只要右上角出现了这个,就代表可以将程序烧录到板子上。然后点击打开硬件管理器。

路径需要记住,有时候需要自己去找。

 发现烧录报错,“program_hw_devices' failed due to earlier errors.”,原因是因为在之前选错了开发板型号导致的,在settings-General中更改开发板型号,然后生成了新的烧录文件,需要在路径上更换。

3.实验现象

开发板拨码开关打到下面为低电平,打到上面为高电平。

1.当SW7=sel=0时,out=led0=SW0,SW1高低电平对输出无影响。

2.SW7=sel=1,out=led0=SW2,SW1高低电平对输出无影响。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Oracle 相关的工具使用 SQL Developer , sqlplus

Oracle 相关的工具使用 SQL Developer , sqlplus 一,Oracle SQL Developer 连接数据库 今天在连接sqldeveloper服务器时遇到了很多问题,但最终还是通过网上的博客解决了问题,我就在总结一下我的解决过程。 一.界面 首先&#…

混拨动态IP代理的优势是什么

在当今互联网时代,隐私保护和网络安全成为了人们关注的焦点。无论是个人用户还是企业,都希望能够在网络上自由、安全地进行各种活动。混拨动态IP代理作为一种新兴的技术手段,正逐渐受到大家的青睐。那么,混拨动态IP代理到底有哪些…

c语言常量变量

c语言常量变量 const 修饰常变量 #define定义标识符常量 #define num 10 //这里不需要分号int anum;enum枚举常量 enum Color {RED,GREEN,BLUE }; int main(){enum Color cRED;//枚举常量不允许修改 }//定义常量 int a10; char ba;错误语法注意 //定义常变量 const int a10…

windows 桌面采集音频

头文件&#xff1a; #ifndef __CAPTURE_AUDIO__ #define __CAPTURE_AUDIO__#include <functional> #include <windows.h> #pragma comment(lib, "winmm.lib")class CaptureAudio { public:CaptureAudio();~CaptureAudio();public:bool Init(const std::…

JSON与CSV之间的主要区别

今天要和大家深入探讨一个数据处理中的常见问题——JSON与CSV之间的主要区别。这两种数据格式各有千秋&#xff0c;适用于不同的场景。让我们一起来了解它们的特点和应用。 一、数据结构的差异 首先&#xff0c;JSON是一种轻量级的数据交换格式&#xff0c;能够表示复杂的数据…

Unity开发绘画板——04.笔刷大小调节

笔刷大小调节 上面的代码中其实我们已经提供了笔刷大小的字段&#xff0c;即brushSize&#xff0c;现在只需要将该字段和界面中的Slider绑定即可&#xff0c;Slider值的范围我们设置为1~20 代码中只需要做如下改动&#xff1a; public Slider brushSizeSlider; //控制笔刷大…

深圳易图讯科技场区态势感知系统

一、功能与目标优化描述&#xff1a; .图像采集、传输、存储与管理系统&#xff1a; 实时采集&#xff1a;利用摄像头、移动摄像设备及微距摄像头&#xff0c;全面覆盖场区内固定点位和重要场地&#xff0c;实现视频图像的实时采集。 高效传输&#xff1a;通过有线、无线网…

秒懂Linux之信号

目录 信号的基本概念 信号的处理方式 默认动作 自定义处理信号 忽略该信号 信号的产生方式 kill命令 键盘组合键 系统调用 软件条件 异常 信号产生的深层理解 core的功能 信号的阻塞 内核中的表示 sigset_t 信号集操作函数 sigprocmask sigpending …

关于最小二乘法

最小二乘法的核心思想简单而优雅&#xff1a;我们希望找到一条最佳的曲线&#xff0c;使其尽可能贴近所有的数据点。想象一下&#xff0c;当你在画布上描绘一条线&#xff0c;目标是让这条线与点的距离最小。数学上&#xff0c;这可以表示为&#xff1a; 在这个公式中&#xff…

基于nodejs+vue的水产品销售管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目…

【Linux篇】网络编程——I/O复用

目录 一、初识复用 1. 认识复用 2. 复用的优点 3. 复用技术在服务端的应用 二、select 技术 1. 设置文件描述符&#xff08;fd_set&#xff09; 2. 文件描述符的控制 &#xff08;1&#xff09;FD_ZERO &#xff08;2&#xff09;FD_SET &#xff08;3&#xff09;FD…

前端使用 Konva 实现可视化设计器(23)- 绘制曲线、属性面板

本章分享一下如何使用 Konva 绘制基础图形&#xff1a;曲线&#xff0c;以及属性面板的基本实现思路&#xff0c;希望大家继续关注和支持哈&#xff08;多求 5 个 Stars 谢谢&#xff09;&#xff01; 请大家动动小手&#xff0c;给我一个免费的 Star 吧~ 大家如果发现了 Bug&a…

SQL常用数据过滤 - EXISTS运算符

SQL查询中的EXISTS运算符用于检查查询子句是否存在满足特定条件的记录&#xff0c;如果有一条或者多条记录存在&#xff0c;则返回True&#xff0c;否则返回False。 语法结构 SELECT column_name(s)FROM table_nameWHERE EXISTS(SELECT column_name FROM table_name WHERE co…

C++实现二叉树的创建删除,dfslfs,求叶子结点个数,求叶子结点个数,求树的高度

C实现二叉树的创建删除&#xff0c;dfs/lfs,求叶子结点个数&#xff0c;求树的高度 基本算法&#xff1a; 用链栈建立二叉树&#xff0c;通过递归实现深度优先的三种遍历&#xff0c;用队列实现广度优先层次遍历。借助递归思想求解叶子结点个数和树的深度。 tree.h定义基本的…

TMR技术的发展及其应用技术的介绍

目录 概述 1 TMR传感器介绍 1.1 原理介绍 1.2 技术演进历史 2 TMR技术的应用 2.1 电阻特性 2.2 技术比较 2.3 磁道特性 3 多维科技的芯片&#xff08;TMR1202&#xff09; 3.1 芯片介绍 3.2 特性 ​3.3 典型应用 参考文献 概述 本文主要介绍TMR技术的发展及其技术…

PyTorch构建卷积神经网络(CNN)训练模型:分步指南

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

基于卷积神经网络的体育运动项目分类识别系统

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长 QQ 名片 :) 1. 项目简介 随着计算机视觉和深度学习技术的快速发展&#xff0c;利用先进的图像处理技术对体育运动进行智能分类与识别已成为研究热点。传统的运动分析方法通常依赖于人工观察和记录&#xff0c;耗时耗力且容…

Golang | Leetcode Golang题解之第440题字典序的第K小数字

题目&#xff1a; 题解&#xff1a; func getSteps(cur, n int) (steps int) {first, last : cur, curfor first < n {steps min(last, n) - first 1first * 10last last*10 9}return }func findKthNumber(n, k int) int {cur : 1k--for k > 0 {steps : getSteps(cu…

基于SSM+小程序的在线课堂微信管理系统(在线课堂1)(源码+sql脚本+视频导入教程+文档)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 &emsp1、管理员实现了首页、个人中心、用户管理、课程分类管理、课程信息管理、课程订阅管理、课程视频管理、公告栏管理、留言板管理、系统管理。 2、用户实现了首页、课程信息、公…

Windows系统下批量重命名文件的两种实现方法

我们如果有一批文件&#xff0c;想要大批的重命名文件。例如&#xff0c;将下面的这些图片重命名为boot_itc_00001.jpg、boot_itc_00002.jpg、……、boot_itc_01000.jpg。总不能一个一个改吧&#xff1f; 第一种方法&#xff08;也是最灵活的一种&#xff09;&#xff1a; 借助…