EDA实验-----正弦信号发生器的设计(Quartus II )

目录

一、实验目的

二、实验仪器

三、实验原理

四、实验内容

五、实验步骤

六、注意事项

七、实验过程(操作过程)

1.定制LPM_ROM模块

2.定制LPM_ROM元件

 3.计数器定制

4.创建锁相环

5.作出电路图

6.顶层设计仿真


 

一、实验目的

  1. 学习使用Verilog设计波形发生器。
  2. 掌握LPM_ROM在波形发生器设计中的使用方法。

二、实验仪器

  1. PC机
  2. EDA实验箱 一台

三、实验原理

FPGA中的波形发生器控制电路,它通过外来控制信号和高速时钟信号,向波形数据ROM发出地址信号,输出波形的频率由发出的地址信号的速度决定;当以固定频率扫描输出地址时,模拟输出波形是固定频率,而当以周期性时变方式扫描输出地址时,则模拟输出波形为扫频信号。

波形数据ROM中存有发生器的波形数据,如正弦波或三角波数据。当接受来自FPGA的地址信号后,将从数据线输出相应的波形数据,地址变化得越快,则输出数据的速度越快,从而使D/A输出的模拟信号的变化速度越快。

四、实验内容

设计一个基于LPM_ROM的正弦波信号发生器,并进行仿真测试及实验系统上的硬件测试。(附加:正弦波的频率可调,相位可调)

五、实验步骤

  1. 打开QUARTUSII软件,新建一个工程。
  2. 新建一个Schematic File 文件。
  3. 利用波形生成器生成正选波的.mif文件,数据为8数,一个周期为128个数据。
  4. 定制LPM_ROM。
  5. 设计ROM的地址发生器。
  6. 在Schematic File 文件中设计正弦波信号发生器。在空白处双击鼠标左键,在 Symbol 对话框左上角的libraries 中,分别将创建模块放在图形文件 Schematic File中,加入输入、输出引脚,双击每个引脚,进行引脚命名,并锁定管脚,将未使用的引脚设置为三态输入(一定要设置,否则可能会损坏芯片)
  7. 编译仿真无误后,参照附录进行管脚分配。下表是示例程序的管脚分配表。分配完成后,再进行全编译一次,以使管脚分配生效。

端口名

对应FPGA管脚

说明

CLK

209

时钟为50MHZ

RST

153

复位

DOUT

167、165、166、162、164、159、161、156

输出数据

        8.用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的编程思想一致

六、注意事项

  1. 注意观察当输入数据改变是输出的反应。
  2. 一定要把没用的管脚设置成三态输入。
  3. 对实验现象进行分析总结。

 

七、实验过程(操作过程)

1.定制LPM_ROM模块

打开Mif任意波编辑器Mif_Maker2010

这个软件我上传到了百度网盘,可自行下载。

链接:https://pan.baidu.com/s/1PqheFDBqXH4oLtOjMfv_Vg?pwd=9458 
提取码:9458

这里我们点击查看这里,然后设置全局参数。 

然后就是点击波形,设置正弦波。

弄完了之后,就保存这个.mif文件,最好保存到你当前的工程目录下。

这里我们可以去通过记事本打开这个.mif文件,可以查看里面的相关参数

2.定制LPM_ROM元件

这里我们创建了工程后,创建一个block文件,然后点击选择元器件,再点开此处。

 然后下一步

然后我们搜索rom,下面就会有两个元器件显示,选择第一个,然后在右边箭头的位置写上你的ROM元器件的命名,再点击下一步。

 然后这里去设置输出量q的宽度和设置地址线宽。这里我们输出设置为8个宽度,储存容量设置为512e words。

 这里的‘q’不勾选。

这里我们把第一步创建好了的.mif文件添加到这里来。

 3.计数器定制

在元器件定制这里,我们搜索count,然后去命名,再点击下一步。

 这里的输出要连接到前面定制的ROM元件的地址,所以位宽要与地址的位宽保持一致。

然后一直点击下一步就行了,创建完成。

4.创建锁相环

同样的在元件定制界面上

  1.  搜索pll
  2. 下面就会显示出ALPLL,点击选中
  3. 然后进行命名

输入频率我们设置为50MHz

 这里不勾选任何。

到这里,我们把输出频率设置为10MHz。 

然后一直点击下一步,最后创建完成。

5.作出电路图

最后我们根据上文的电路图去连接电路,并且配置相关的引脚,结果如下:

然后就是编译运行,结果无误。

6.顶层设计仿真

 电路图编译运行无错后,我们就把sof文件烧录到开发板上。

这里我们会看到,下面有一个芯片,这个也就是我们写好了的sof文件,然后就是通过你的电脑接口去连接到开发板,如果你看到上面有一个No Hardware的时候,你点击旁边的按钮进行接口设置,设置为USB接口即可(USB线连接了你的开发板就会自动显示出来的)。最后点击start就可以进行烧录了。 

烧录后,别断开与开发板的连接,还没完呢。

我们点开此处,使用SignalTap II Logic Analyzer去仿真。

在这里点击setup,去进行相关设置。 

 这里我们点开时钟设置,然后点击SignalTap I: pre-synthesis这个模式,按照下图的1,2,3步骤操作。

然后,选择输入管脚,把这个管脚作为一个时钟设置。 

这里进行区间描点设置。前面我们设置的正弦波一个周期是512个点的,那这里我们选择的最好大于512就行了,我这里选择4k,也就是一个周期作4k个点。

 

 这里我们去设置监视仿真输出。以下步骤执行完成之后,点击OK就行了。

最后这里,我们先看到右边的两个箭头,如果你已经连接好了开发板后,这些会显示出来的,同样的我们也可以去执行烧录操作。然后我们只需要去点击左边箭头指向的的仿真即可。

 上一步完成之后,我们点击Data这里就可以看到仿真的结果了,呃我这里没有连接开发板,也就没办法仿真,非常不好意思啊,没有把效果展示出来。

实验完毕。

以上就是本次实验的全部内容了,喜欢的话给个关注吧!

分享一张壁纸: 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Echarts地图registerMap使用的GeoJson数据获取

https://datav.aliyun.com/portal/school/atlas/area_selector 可以选择省,市,区。 也可以直接在地图上点击对应区域。 我的应用场景 我这里用到这个还是一个特别老的大屏项目,用的jq写的。显示中国地图边界区域 我们在上面的这个地区选择…

【开源】基于Vue+SpringBoot的独居老人物资配送系统

项目编号: S 045 ,文末获取源码。 \color{red}{项目编号:S045,文末获取源码。} 项目编号:S045,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询社区4…

ELK---filebeat日志收集工具

filebeat日志收集工具 filebeat日志收集工具和logstash相同 filebeat的优点: filebeat是一个轻量级的日志收集工具,所使用的系统资源比logstash部署和启动时使用的资源要小的多 filebeat可以运行在非Java环境。它可以代替logstash在非Java环境上收集…

Java学习路线第一篇:Java基础(2)

这篇则分享Java学习路线第一part:Java基础(2) 从看到这篇内容开始,你就是被选定的天命骚年,将承担起学完Java基础的使命,本使命为单向契约,你可选择YES或者选择YES。 具体路线安排&#xff1a…

深度学习第1天:深度学习入门-Keras与典型神经网络结构

☁️主页 Nowl 🔥专栏《机器学习实战》 《机器学习》 📑君子坐而论道,少年起而行之 文章目录 神经网络 介绍 结构 基本要素 Keras 介绍 导入 定义网络 模型训练 前馈神经网络 特点 常见类型 代码示例 反馈神经网络 特点 …

AlphaFold的原理及解读

1、背景 蛋白质是生物体内一类重要的生物大分子,其结构复杂多样,蛋白质的结构对于理解其功能和参与的生物学过程具有重要意义。从生物学角度上看,蛋白质的结构可以分为四个层次:初级结构、二级结构、三级结构和四级结构。 初级结…

企业如何保障跨境金融业务中的数据安全传输?

随着全球化的不断深入,跨境金融业务日益频繁,然而在这些业务中,数据的安全传输一直是企业面临的重大挑战。跨境业务数据传输可能会遇到多种困难,如网络攻击、数据泄露、通信故障等。因此,企业需要采取有效的措施来确保…

【Mybatis系列】Mybatis之TypeHandler入门

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【C语言】深入理解数据类型转换与运算

文章目录 1.数据类型转换在分析源程序之前,我们需要了解几个基本概念:现在来分析源程序中的变量及其对应的十进制真值以及扩展操作方式: 1.1. short si -32768;1.2. unsigned short usi si;1.3. int i si;1.4. unsigned ui usi; 2&#x…

U-Net及其变体在医学图像分割中的应用研究综述

U-Net及其变体在医学图像分割中的应用研究综述 论文来自:中国生物医学工程学报 2022 摘 要: 医学图像分割可以为临床诊疗和病理学研究提供可靠的依据,并能辅助医生对病人的病情做出准确的判断。 基于深度学习的分割网络的出现解决了传统自动分…

Git——Git应用入门

将会介绍以下知识: 搭建Git环境和创建Git版本库(init、clone)。文件添加、状态检查、创建注释和查看历史记录。与其他Git版本库交互(pull、push)。解决合并冲突。创建分支列表、列表切换和合并。创建标签。 1、版本控…

sqli-labs靶场详解(less17-less22)

目录 less-17 less-18 less-19 less-20 less-21 less-22 less-17 修改密码关卡 服务器后端 账号密码都存在数据库中 使用UPDATE进行修改密码 尝试username处 尝试好久尝试不出来应该是对用户名进行了过滤 于是对password进行注入 判断注入点 passwdadmin 报错&#xff1a…

vue3中的customRef创建一个自定义的 ref对象

customRef 创建一个自定义的 ref&#xff0c;并对其依赖项跟踪和更新触发进行显式控制 小案例: 自定义 ref 实现 debounce <template><div style"font-size: 14px;"><input v-model"text" placeholder"搜索关键字"/><…

智能优化算法应用:基于郊狼算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于郊狼算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于郊狼算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.郊狼算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

深思:C与C++相互调用问题

背景 上周&#xff0c;偶然看到同事愁眉苦脸的样子&#xff0c;便善意咨询了下发生了什么。简单沟通下&#xff0c;才知道他遇到了一个工程编译的问题&#xff0c;一直无法编译通过&#xff0c;困扰了他快一天时间。出于个人的求知欲和知识的渴望&#xff0c;我便主动与他一同分…

PHP中关于func_get_args()方法

首先呢这个函数出现的是比较早的,大致应该是PHP4出现的, func_get_args — 返回一个包含函数参数列表的数组 说明 func_get_args(): array 获取函数参数列表的数组。 该函数可以配合 func_get_arg() 和 func_num_args() 一起使用&#xff0c;从而使得用户自定义函数可以接…

基于C#实现块状链表

在数据结构的世界里&#xff0c;我们会认识各种各样的数据结构&#xff0c;每一种数据结构都能解决相应领域的问题&#xff0c;当然每个数据结构&#xff0c;有他的优点&#xff0c;必然就有它的缺点&#xff0c;那么如何创造一种数据结构来将某两种数据结构进行扬长避短&#…

【数据结构/C++】栈和队列_循环队列

牺牲一个存储单元来判断队满。 #include<iostream> using namespace std; // 循环队列 #define MaxSize 10 typedef int ElemType; typedef struct {ElemType data[MaxSize];int front, rear; } SqQueue; // 初始化队列 void InitQueue(SqQueue &Q) {// 判断队空 Q.…

微服务知识大杂烩

1.什么是微服务? 微服务(Microservices)是一种软件架构风格,将一个大型应用程序划分为一组小型、自治且松耦合的服务。每个微服务负责执行特定的业务功能,并通过轻量级通信机制(如HTTP)相互协作。每个微服务可以独立开发、部署和扩展,使得应用程序更加灵活、可伸缩和可…

Milvus入门手册1.0

一、window环境搭建&#xff08;单机&#xff09; 1、docker安装 略 2、milvus安装 参考文档&#xff1a;https://milvus.io/docs/install_standalone-docker.md tips: &#xff08;1&#xff09;compose.yaml下载比较慢&#xff0c;可以在网络上找一份。 &#xff08;2&…