集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 13169|回复: 11

基于 FPGA vivado 2017.2 Basys3 信号发生器 设计

[复制链接]
晓灰灰 发表于 2017-12-27 21:30:39 | 显示全部楼层 |阅读模式
基于Basys3信号发生器实验设计

附件:




一、实验目的

1)掌握基于添加文件和IP的Vivado工程设计流程

2)掌握基于Tcl的Vivado工程设计流程

3)学习信号发生器的基本组成结构

二、实验原理介绍

信号发生器能够产生频率波形可调的信号输出,目前仅限于1Hz~4999Hz频率范围,波形可选则三角波,方波,锯齿波,以及正弦波。本系统在Basys3上构建了一个简易信号发生器,简化框图如下:

原理:首先,通过按键设置波形的频率,并通过拨码开关设置波形的种类(一共有正弦波、三角波、方波、锯齿波四种)。频率值可以通过数码管显示。片上的输出时钟计算模块能够根据设置好的频率值,计算波形查找表的输出时钟,以及生成查找表的地址。查找表根据波形选择模块,决定输出何种波形数据,并在输出时钟的驱使下,输出波形数据。最后,片上的DA模块将波形数据发送给外部DA。
本实验通过Basys3外接Pmod-DA1模块,进行DA输出。

三、实验步骤(基于添加文件和IP)

1.新建工程项目

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

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

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

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

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

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

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

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

源文件位于Basys3_workshop\sources\lab5\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’,设置2路输出时钟(100MHz和50MHz)

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

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

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


5.4同样的,在IP Catalog窗口中添加Divider Generator,配置如下图如下图所示:

5.5同样的,依次在IP Catalog窗口中添加debounce和seg7decimal这两个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找到lab5根目录,选中添加下图所示的2个HDL文件。

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\lab5\Src\Constraint,选中并添加‘signal_gen.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进行下载。


五、Basys3实验验证

1.基于Analog Discovery2

按照下图连接方式,首先将Pmod-DA1模块插入在JC口上方,同时将Analog Discovery2的示波器CH1的输出引线1+(橙色)和1-(橙白色)分别与Pmod-DA1模块的A1和GND相连接。

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

2)在左侧的功能选择栏选择‘Scope’,使用示波器

3)打开示波器,点击左上角‘Run’按钮,波形输出如下图所示:


2.基于OpenScope

按照下图连接方式,首先将Pmod-DA1模块插入在JC口上方,同时将OpenScope的示波器CH1的输出引线1+(橙色)和1-(橙白色)分别与Pmod-DA1模块的A1和GND相连接。

1)打开Digilent Agent

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

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

4)在界面右侧将Time设置为2ms,找到并展开Osc Ch1(示波器Ch1),保持默认参数设置,点击右上角开关按钮,打开示波器。

5)点击界面右上角的‘RUN’按钮,开始运行。在左侧的示波器中观察输出波形结果。

通过DIGILENT Basys3开发板右侧的上下左右键进行频率调节,以及利用低两位的开关来选择输出波形



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 晓灰灰 发表于 2017-12-27 21:31:23 | 显示全部楼层
基于 FPGA vivado 2017.2 Basys3 信号发生器 设计
回复 支持 1 反对 0

使用道具 举报

小舍YZ 发表于 2017-12-28 15:52:40 | 显示全部楼层
基于 FPGA vivado 2017.2 Basys3 信号发生器 设计
谢谢分享
 楼主| 晓灰灰 发表于 2018-1-2 10:24:52 | 显示全部楼层
至芯科技寒假2018.02.01开班,火热报名中,免费提供宾馆住宿哦,仅限高校学子,名额有限,先到先得

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
原子弹 发表于 2018-1-13 09:10:32 | 显示全部楼层
这个可以的,5000Hz现在的一般DA芯片也就这样
zhangyukun 发表于 2018-1-15 09:05:48 | 显示全部楼层
基于 FPGA vivado 2017.2 Basys3 信号发生器 设计
 楼主| 晓灰灰 发表于 2018-1-22 10:39:06 | 显示全部楼层
基于 FPGA vivado 2017.2 Basys3 信号发生器 设计
 楼主| 晓灰灰 发表于 2018-1-25 16:08:23 | 显示全部楼层
基于 FPGA vivado 2017.2 Basys3 信号发生器 设计
 楼主| 晓灰灰 发表于 2018-1-29 10:59:40 | 显示全部楼层
基于 FPGA vivado 2017.2 Basys3 信号发生器 设计
 楼主| 晓灰灰 发表于 2018-1-30 11:14:22 | 显示全部楼层
原理:首先,通过按键设置波形的频率,并通过拨码开关设置波形的种类(一共有正弦波、三角波、方波、锯齿波四种)。频率值可以通过数码管显示。片上的输出时钟计算模块能够根据设置好的频率值,计算波形查找表的输出时钟,以及生成查找表的地址。查找表根据波形选择模块,决定输出何种波形数据,并在输出时钟的驱使下,输出波形数据。最后,片上的DA模块将波形数据发送给外部DA。
本实验通过Basys3外接Pmod-DA1模块,进行DA输出。
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-4-19 20:45 , Processed in 0.071708 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表