Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于 FPGA Vivado 示波器设计(附源工程)

基于 FPGA Vivado 示波器设计(附源工程)

作者头像
FPGA技术江湖
发布于 2020-12-30 06:37:59
发布于 2020-12-30 06:37:59
2.3K0
举报
文章被收录于专栏:FPGA技术江湖FPGA技术江湖
大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。

今天给大侠带来基于 FPGA Vivado 示波器设计,开发板实现使用的是Digilent basys 3,如有想要入手 basys 3 开发板的,可以联系牛总:18511371833。话不多说,上货。

本篇掌握基于添加文件和IP的Vivado工程设计流程,掌握基于Tcl的Vivado工程设计流程,学习示波器的基本组成结构。获取本篇相关源工程代码,可在公众号内回复“示波器设计源工程”。

原理介绍

数字存储示波器能够将模拟信号进行采样、存储以及显示。本系统在DIGILENT Basys3上构建了一个简易数字存储示波器,简化框图如下:

原理:首先,AD模块对模拟信号进行采样,触发电路根据采样信号判断触发条件(例如:上升沿触发)。满足触发条件后,连续采样一定数量的点(本系统中为640个点),存储到RAM中。峰峰值、频率计算模块对RAM中储存的波形数据进行计算,得到波形的频率以及峰峰值;VGA模块将波形显示出来,并显示计算得到的峰峰值和频率数值。

本篇通过调用DIGILENT Basys3板上芯片中的ADC模块,对外部电压信号进行采样、存储,并通过VGA显示器将波形显示出来。在DIGILENT Basys3上电之前,需要提前将DIGILENT Basys3与VGA连接好,并准备好一台信号发生器。

操作步骤

一、基于添加文件和IP

1. 新建工程项目

1) 双击桌面图标打开Vivado 2017.2,或者选择开始>所有程序>Xilinx Design Tools> Vivado 2017.2>Vivado 2017.2;

2) 点击‘Create Project’,或者单击File>New Project创建工程文件;

3) 将新的工程项目命名为‘lab4’,选择工程保存路径,勾选‘Create project subdirectory’,创建一个新的工程文件夹,点击Next继续;

4) 选择新建一个RTL工程,勾选Do not specify sources at this time(不指定添加源文件),先不添加源文件。点击 Next继续;

5) 选择目标FPGA器件:xc7a35tcpg236-1或Basys3;

6) 最后在新工程总结中,检查工程创建是否有误。没有问题,则点击Finish,完成新工程的创建。

2. 添加已经设计好的IP和源文件

工程建立完毕,我们将设计所需的IP文件夹(IP_Catalog)和实验需要使用的HDL(Verilog)文件复制到已经创建的工程文件夹根目录下:

源文件位于Basys3_workshop\sources\lab4\Src\HDL_source

复制完成后,如下图所示:

1) 在Vivado界面左侧Flow Navigator中展开PROJECT MANAGER,选择‘Settings’;

2) 弹出窗口中,在左侧Project Settings中展开IP一项,选择‘Repository’,点击右侧的添加IP;

3) 选择复制到工程文件夹根目录下的IP文件夹;

4) 点击OK完成添加。

5) 添加IP至工程

5.1 在Flow Navigator中展开PROJECT MANAGER,选择IP Catalog;

5.2 在右侧IP Catalog窗口的搜索框中搜索‘clocking’,双击‘Clocking Wizard’开始配置IP;

5.3 配置IP

5.3.1 将IP的名字由‘clk_wiz_0’修改为‘clock’

5.3.2 选择‘Output Clocks’,设置7路输出时钟(100MHz、25MHz、12.5MHz、25MHz、50MHz、75MHz、100MHz)

5.3.3 在Enable Optional I/O for MMCM/PLL一项中取消勾选‘reset’和‘locked’选项

5.3.4 Vivado会创建新的文件夹保存配置完成的IP,点击OK继续

5.3.5 弹出Generate Output Products窗口,在Synthesis Options中选择‘Global’,点击‘Generate’继续。

5.4 同样的,依次在IP Catalog窗口中添加debounce、vga和xadc三个IP,使用默认IP设置,无需另外配置,并且Generate Output Products,完成后Sources窗格中如下图所示:

6) 添加HDL文件至工程

6.1 在Flow Navigator中展开PROJECT MANAGER,选择Add Sources

6.2 在导向窗口中选择‘Add or create design sources’,点击Next继续

6.3 在Add or Create Design Sources页面中选择‘Add Files’

6.4 找到lab4根目录,选中添加所有9个Verilog文件。

6.5 勾选‘Copy sources into project’,点击Finish完成添加。

6.6 完成后Sources窗格中如下图所示:

7) 添加物理约束(XDC)文件

7.1 在Flow Navigator中展开PROJECT MANAGER,选择Add Sources;

7.2 在导向窗口中选择‘Add or create constraints’,点击Next继续;

7.3 在Add or Create Design Sources页面中选择‘Add Files’;

7.4 找到约束文件路径Basys3_workshop\sources\lab4\Src\Constraint,选中并添加‘oscilloscope.xdc’文件;

7.5 勾选‘Copy sources into project’,点击Finish完成添加。

3. 综合、实现、生成比特流文件

1) 在左侧Flow Navigator中依次点击‘Run Synthesis’、‘Run Implementation’和‘Generate Bitstream’执行综合、实现和生成比特流文件操作。或者,可以直接点击‘Generate Bitstream’,Vivado工具会提示没有已经实现的结果,点击‘Yes’,Vivado工具会依次执行综合、实现和生成比特流文件。

2) 完成后,选择‘Open Hardware Manager’打开硬件管理器。

3) 连接Basys3开发板,点击‘Open target’,选择‘Auto connect’。

4) 连接完成后,点击‘Program device’。

5) 检查弹出框中所选中的bit文件,然后点击Program进行下载。

二、 基于Tcl

1. 运行Tcl,创建新的工程

1) 打开Vivado 2017.2,在界面底部Tcl命令框输入命令;

2) 使用‘cd’命令,进入Oscilloscope.tcl文件所在路径。参考路径:C:\Basys3_workshop\sources\lab4\Src\Tcl,在Tcl命令框输入:cd C:/Basys3_workshop/sources/lab4/Src/Tcl (注意:Vivado使用‘/’);

3) 在Tcl命令框中,输入命令:source ./ Oscilloscope.tcl。输入完毕按回车,运行Tcl;

4) 等待Tcl综合、实现、生成比特流文件;

5) 在Flow Navigator中,展开PROGRAM AND DEBUG,点击Open Hardware Manager,点击Open target>Auto Connect 连接Basys3;

6) 点击Program device,选择生成的比特流文件开始下载。

设计验证

待比特流文件下载完成后,可以将信号发生器的探头连接至Basys3 的JXADC的P极,并将JXADC的N极连接信号发生器的地。本实验,简易示波器的可测电压范围为 0-1V,频率为 4KHz 以下。可以在VGA上观测波形。如果波形显示比较密集,那就需要更改采样时钟,通过按Basys3开发板上的BTNC按键来改变采样时钟,以此来改变波形显示密集程度。

1. 基于Analog Discovery2

按照下图连接方式,将Analog Discovery2的波形发生器的输出引线W1(黄色)和W2(黄白色)与Basys3的JXADC的pin1和pin7相连接。

1) 打开WaveForms软件,连接Analog Discovery2设备

2) 在左侧的功能选择栏选择‘Wavegen’,使用波形发生器。

3) 根据本实验示波器设计的输入标准,将波形幅值设置为400mV,直流偏移量设置为500mV,输入的频率可以选择为100H~5kHz之间

4) 点击左上角‘Run All’开始运行。按下Basys3开发板上BTNC按钮进行采样频率调节,在VGA显示器上观察输出结果

2. 基于OpenScope

按照下图连接方式,将OpenScope的波形发生器的输出引线W1(黄色)与Basys3的JXADC的pin1相连接。

1) 打开Digilent Agent

2) 在Windows工具栏右侧,右键Digilent Agent图标,选择‘Launch WaveForms Live’,在浏览器中打开WaveForms Live。

3) 选择在实验二中已经添加的设备,点击连接该设备

4) 在右侧找到并展开Wavegen(波形发生器),按以下参数进行配置:

选择正弦波

Frequency:2 kHz

Amplitude:1 Vpp

DC Offset:1.4 V

5) 点击右上角开关按钮,打开波形发生器。

6) 在VGA显示器上观察输出结果,可以使用Basys3开发板上BTNC按钮进行采样频率调节。

END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA技术江湖 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
基于 FPGA Vivado 信号发生器设计(附源工程)
今天给大侠带来基于 FPGA Vivado 信号发生器设计,开发板实现使用的是Digilent basys 3,如有想要入手 basys 3 开发板的,可以联系牛总:18511371833。话不多说,上货。
FPGA技术江湖
2020/12/30
2.2K1
基于 FPGA Vivado 的数字钟设计(附源工程)
今天给大侠带来基于 FPGA Vivado 的数字钟设计,开发板实现使用的是Digilent basys 3,如有想要入手 basys 3 开发板的,可以联系牛总:18511371833。话不多说,上货。
FPGA技术江湖
2020/12/30
1.8K0
FPGA Vivado设计流程
本篇通过创建一个简单的HDL工程,学会使用Vivado集成开发环境。学会如何使用Vivado进行设计、仿真、综合以及实现一个项目,生成比特流文件并下载到 FPGA开发板。
FPGA技术江湖
2020/12/30
3.8K0
MicroBlaze串口设计(附源工程)
今天给大侠带来 MicroBlaze 串口设计,开发板实现使用的是Digilent basys 3,如有想要入手 basys 3 开发板的,可以联系牛总:18511371833。话不多说,上货。
FPGA技术江湖
2020/12/30
1.2K0
基于 FPGA Vivado 的74系列IP封装(附源工程)
今天给大侠带来基于 FPGA Vivado 的 74 系列IP封装,开发板使用的是Digilent basys 3,如有想要入手 basys 3 开发板的,可以联系牛总:18511371833。话不多说,上货。
FPGA技术江湖
2020/12/30
1.4K0
Vivado安装和使用
首先下载vivado webpack installer,目前最新版本为2019.1,可以去Xilinx的官网进行下载。
芯动大师
2022/11/22
1.6K0
FPGA系统性学习笔记连载_Day5 Xilinx ZYNQ7000系列基本开发流程之PL端篇
本系列为FPGA系统性学习学员学习笔记整理分享,如有学习或者购买开发板意向,可加交流群联系群主。
FPGA技术江湖
2021/03/30
2K0
FPGA系统性学习笔记连载_Day5 Xilinx ZYNQ7000系列基本开发流程之PL端篇
基于 FPGA 的任意波形发生器+低通滤波器系统设计
大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分。大侠可以关注FPGA技术江湖,在“闯荡江湖”、"行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢。“煮酒言欢”进入IC技术圈,这里有近50个IC技术公众号。
FPGA技术江湖
2025/05/08
2300
基于 FPGA 的任意波形发生器+低通滤波器系统设计
【新手入门】Vivado工程升级及板级信号调试
李家俊同学给大家介绍了一下如何使用新版本的vivado去打开旧版本的vivado工程。
网络交换FPGA
2020/03/12
4.3K0
【新手入门】ISE工程升级到Vivado及板级信号调试技术
版本迁移的操作想必大家已经做过不少了,其中包括从ISE转换到vivado与vivado老版本迁移到新版本。郑智海同学给大家介绍了一下如何把工程从ISE迁移到vivado中。
网络交换FPGA
2020/03/12
5.1K0
System Generator学习——使用 AXI 接口和 IP 集成器
在本节中,将学习如何使用 System Generator 实现 AXI 接口。将以 IP 目录格式保存设计,并在 Vivado IP Integrator 环境中使用生成的 IP。然后,还将看到 IP Integrator 在使用 AXI 接口时如何通过提供连接辅助来提高我们的工作效率。
Gnep@97
2023/10/06
4870
System Generator学习——使用 AXI 接口和 IP 集成器
System Generator从入门到放弃(二)-Digital Filter
System Generator是Xilinx公司进行数字信号处理开发的一种设计工具,它通过将Xilinx开发的一些模块嵌入到Simulink的库中,可以在Simulink中进行定点仿真,可以设置定点信号的类型,这样就可以比较定点仿真与浮点仿真的区别。并且可以生成HDL文件,或者网表,可以在ISE中进行调用。或者直接生成比特流下载文件。能够加快DSP系统的开发进度。
碎碎思
2020/06/30
2.2K0
System Generator从入门到放弃(二)-Digital Filter
Xilinx DDS Compiler IP 使用教程
《优秀的IC/FPGA开源项目》是新开的系列,旨在介绍单一项目,会比《优秀的 Verilog/FPGA开源项目》内容介绍更加详细,包括但不限于综合、上板测试等。两者相辅相成,互补互充~
碎碎思
2023/02/14
1.6K0
Xilinx DDS Compiler IP 使用教程
FPGA案例开发资料(下)——TMS320C6678+Kintex-7开发板
本文主要介绍基于Vivado的FPGA案例的使用说明,适用开发环境:Windows 7/10 64bit、Xilinx Vivado 2017.4。其中案例包括led_flash案例、key_test案例、ibert_eyescan案例、udp_10g_echo案例、fmc_ad9706_ad9613案例、bram_srio_target案例。
创龙科技Tronlong
2022/08/14
1.7K0
FPGA案例开发资料(下)——TMS320C6678+Kintex-7开发板
Vivado 逻辑分析仪使用教程
本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的“傻瓜式”讲解,让电子、信息、通信类专业学生、初入职场小白及打算进阶提升的职业开发者都可以有系统性学习的机会。
FPGA技术江湖
2023/03/10
1.4K0
Vivado 逻辑分析仪使用教程
【源码】手把手教你用Python实现Vivado和ModelSim仿真自动化
我们在Windows系统下使用Vivado的默认设置调用第三方仿真器比如ModelSim进行仿真时,一开始仿真软件都会默认在波形界面中加载testbench顶层的信号波形,并自行仿真1000ns后停止。当我们想查看对应模块的波形时,需要自己去手动添加,并且为了防止跑一段时间仿真后,添加新模块或者信号却发现没有记录波形,就要提前手动在控制台上执行log -r ./*命令来实现对全部信号波形的记录。但是每当我们修改完代码,关闭重启仿真器再一次仿真时,就需要将之前的操作(删改添加对应模块信号,执行log -r ./*等)重新完成一遍才能继续跑出想看的信号波形。尽管可以通过将仿真时添加的模块信号保存为*.do文件,下次仿真通过执行do *.do的形式来快速添加之前波形;但在频繁修改代码,需要经常重新仿真的情况下,每次都手动去添加信号的操作会比较影响到我们的情绪,那么能否通过脚本语言比如Python来实现一键仿真并自动添加好所需要的模块信号呢?
网络交换FPGA
2020/08/28
3.1K0
【源码】手把手教你用Python实现Vivado和ModelSim仿真自动化
Xilinx 7A 开发流程——工程模式 ARTY XC7A35T
二、设计文件输入 Flow Navigator–Project Manager–add sources或Sources窗口的
战神伽罗
2021/03/02
9250
Xilinx 7A 开发流程——工程模式 ARTY XC7A35T
Vivado初体验LED工程
本节我们要做的是熟练使用 Vivado 创建工程并实现对 LED 灯控制,每秒钟控制开发板上的 LED 灯翻转一次,实现亮、灭、亮、灭的控制。会控制 LED 灯,其它外设也慢慢就会了。
Gnep@97
2023/09/19
8480
Vivado初体验LED工程
Vivado IP Integrator中实现DFX(Dynamic Function eXchange)的快速入门
视频教程 https://www.xilinx.com/video/hardware/block-design-containers-for-dfx.html
hankfu
2022/05/09
9630
基于System Generator的数字滤波器(Simulink验证+Block设计+FPGA的仿真验证)
首先打开System Generator 2018.2,不清楚咋打开的可以看下我前两天发的,等待MATLAB启动完成后,再打开simulink并且建立一个空白模型(以.slx为后缀),将其存放到自己想要存放的位置,保存好文件后就开始放置相关的模块来进行今天的设计。
狂人V
2020/06/29
1.3K0
推荐阅读
相关推荐
基于 FPGA Vivado 信号发生器设计(附源工程)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档