EDA(Quartus II)——正弦信号发生器的设计

发布者:数据梦想最新更新时间:2022-07-01 来源: csdn关键字:EDA  Quartus  正弦信号发生器 手机看文章 扫描二维码
随时随地手机看文章

实验目的:

进一步熟悉QuartusⅡ及其LPM_ROM与FPGA硬件资源的使用方法。


实验预习:

定制LPM_ROM模块流程。


实验原理:

EDA是电子设计自动化,对象是数字电路设计,而正弦信号发生器的设计却是一个模拟电路设计,因此需要用到D/A转换器。


根据正弦信号发生器的波形,得知该实验的输入为时间,而输出为振幅。如果将正弦波的振幅放在存储单元为64的ROM中,根据ROM的功能得知,ROM中的数据与地址是一一对应关系,因此设计由时间和振幅的对应关系转换为时间和地址的对应关系。据此,要得到正弦信号,需要设计一个6位二进制计数器。下图为总体设计框图:

图1  正弦信号发生器总体设计框图

 

在许多实用情况下,必须使用宏功能模块才能使用一些Altera特定器件的硬件功能,例如各类片上存储器、DSP模块等等。这些可以以图形或硬件描述语言模块形式方便调用的宏功能块,使得基于EDA技术的电子设计的效率和可靠性有了很大的提高。


LPM是参数可设置模块库(Library of Parameterized Modules)的英语缩写。根据实际电路的设计需要,选择LPM库中的适当模块,并为其设定适当的参数,就能满足自己的设计需要,从而在自己的项目中十分方便的调用优秀的电子工程技术人员的硬件设计成果。


LPM功能模块内容丰富,每一模块的功能、参数含义、使用方法、硬件描述语言模块参数设置及调用方法都可以在QuartusⅡ中的help中查阅到,方法是选择helpàMegafunction/LPM命令。


定制LPM_ROM模块流程:

1、定制初始化数据文件,建立.mif格式文件

(1)打开Mif任意波编辑器Mif_Maker2010【软件已上传资源库】,选择“设定波形”-“全局参数”,修改数据长度为64,数据宽度为8,如图1所示。


设定数据长度、位宽及数据格式

 

(2)选择“设定波形”-“正弦波”,如图2所示。

 设定波形

(3)在文件中选择保存,保存在D:/myfile/sinve文件夹【建议保存在即将使用的工程文件目录下】,注意sinve是工作库目录,如图3所示。

保存定制的rom.mif文件

(4)在QuartusII软件中打开rom.mif文件,如图4所示。


在QuartusII中打开rom.mif文件  

 2、定制LPM_ROM元件

(1)打开Tools菜单,选择“MegaWizard Plug-In Manager”,如下图5所示。


找到MegaWizard Plug-In Manager菜单

(2)点击打开MegaWizard Plug-In Manager初始对话框,选择创建新的宏功能模块,如图6所示。

MegaWizard Plug-In Manager初始对话框

(3)点击“Next”,选择选择宏功能块(ROM:1-PORT)、使用器件(ACEX1K)、输出文件信息(文件类型:VerilogHDL;文件地址:D:\myfilesinve;文件名称:rom_1),如图7所示。

选择宏功能块、使用器件、输出文件信息

(4)点击“Next”,选择ROM模块存储数据位数和地址线宽(即存储容量),如图8所示。

选择ROM模块数据线和地址线宽

(5)点击“Next”,选择地址锁存信号inclock,如图9所示。

选择地址锁存信号inclock

(6)点击“Next”,导入定制的.mif文件,【最重要的一步】

导入定制的.mif文件

(7)默认仿真库,如图11所示,不做任何选择。

 默认仿真库

(8)选择产生文件类型,默认产生rom_1.v,可以自由选择让系统产生更多的文件。【建议把后三个方框都勾上】

选择产生文件类型

3、对生成的文件建工程,编译、仿真,生成rom_1元件。

(1)首先在文件夹D:\myfilesinve中找到生成的文件rom_1.v;


(2)将rom_1.v设为当前工程,并对其编译;


(3)点选File-Create/Update-Create Symbol Files for Current File,生成rom_1元件,如图13所示。


生成rom_1元件

生成rom_1元件

(4)点选File-New-BlcokDiagram/Schematic File,在新出现的界面,左键双击,出现如下图界面,双击rom_1,界面就会出现rom_1元件。

找到 rom_1元件

选学一:仿真ROM元件

(1)重新建立一个工程,其文件源代码如下图所示: 


(2)对该工程编译,产生其仿真的test bench模板,产生方法为点选Processing-Start-Start Test Bench Template Write,如下图15所示。

产生仿真的test bench模板

(3)打开sinve-simulation-modelsim文件夹,找到Verilog_Ip_ROM.vt文件,打开,如图16所示。

找到Verilog_Ip_ROM.vt文件

 (4)修改test bench的初始化内容,如下所示。

   

(5)设置test bench,点选Assignments-Settings-Simulation,如图17所示选择,其中test bench name就是Verilog_Ip_ROM.vt文件的模块名。

设置test bench

(6)点选Tools-Run Simulation Tool-RTL Simulation,如下图所示,用Modelsim仿真。

选择仿真工具

(7)仿真结果如图19所示,注意右键点选信号,选择显示方式为

modelsim仿真结果

根据上面讲述的定制LPM_ROM模块流程,完成以下实验任务。


实验任务一

根据上述QuartusⅡ宏功能模块的使用方法,在“Arithmetic”中选择“LPM-COUNTER”设计6位计数器,对生成的counter1.v文件建工程、编译、仿真,并生成counter64元件。


注意:计数器宏功能块的选择:

选择计数器宏功能块

实验任务二

完成正弦信号发生器的完整设计,并给出其时序波形及其分析。

正弦信号发生器的完整设计

选学二:顶层设计的仿真

第一种方法(使用SignalTap II Logic Analyzer)

(1)将clk的引脚锁在系统时钟上,时钟引脚要去看友晶的用户手册,这里直接给出,是AF14。然后全程编译。


时钟的引脚锁定

(2)点选File-New-signalTap II Logic Analyzer File,如图23所示。


选择signalTap II Logic Analyzer File

(3)在弹出的界面选择setup,添加采样时钟clock,如下图24所示。

添加采样时钟

(4)在如图所示地方双击添加输出信号q[7:0]。

添加其他信号

(5)选择File-Save As,输入此SignalTap II文件名为stp1.stp(默认文件名和后缀),单击“保存”按钮后,将会出现一个提示:“Do you want to enable SignalTap II...”,应该单击“是”按钮,表示同意再次编译时将此SignalTap II文件与工程捆绑在一起综合/适配,以便一同被下载进FPGA芯片中去完成实时测试任务。

保存为.stp的文件

(6)点选Processing-Start Compilation命令,启动全程编译。


(7)重新打开,点选Tools-SignalTap II Logic Analyzer,如图27所示。


 打开signalTap II Logic Analyzer

(8)单击右侧的Setup按钮,确定编程器模式,如USB-Blaster。然后单击下方的Device表框边的Scan Chain按钮,对开发板进行扫描。如果在板上出现FPGA的型号名,表示系统JTAG通信情况正常,可以进行下载。按"..."按钮,选择SOF文件,再单击左侧的下载标号,观察左下角的下载信息。

下载设定

(9)启动SignalTap II进行采样与分析,单击Instance名auto_sin,再单击Processing菜单的Autorun Analysis按钮,启动SignalTap II连续采样。采样波形如下图所示。


启动SignalTap II进行采样与分析

第二种方法:(用Modelsim仿真)

流程同rom_1仿真,不同点列写如下:


(1)将顶层的.bdf文件转成.V的文件,方法如下图30所示,点选File-Create/Update-Create HDL Design File from Current File。

顶层的.bdf文件转成.V的文件

顶层的.bdf文件转成.V的文件

(2)生成test bench 模板后,修改test bench的初始内容如下代码所示。

(3)顶层设计的modelsim仿真波形如图31所示。

顶层设计的modelsim仿真波形


实验任务三

硬件验证设计正弦信号发生器的功能。


1 该实验电路模式可以任选


2 该实验需要使用DAC0832扩展模块,如图32所示。需注意:该扩展模块如果插在主系统上使用,要选择主系统的带+-12V的的插座,比如我们实验箱的实验模块3。

双通道DAC和ADC标准模块

其中:标注“6“是DA0832的控制端,用户可根据0832的使用手册进行控制。标注”7”是0832的B通道的数据输入端。标注“8“是0832的A通道的数据输入端。标注“10、12“分别是A/B通道的输出接示波器端口。标注“11、13“是调节A/B通道的幅度的点位器。另外0832左边上是分别有个跳线帽,是滤波选择,如跳下是无滤波,跳上是有滤波。


3 DAC0832的8位数据口D[7..0]可以和FPGA的80芯端口的任意8个扩展口相连,比如和DB15~DB10及DBT1、DBT0相连;时钟信号接系统的clockB0。

关键字:EDA  Quartus  正弦信号发生器 引用地址:EDA(Quartus II)——正弦信号发生器的设计

上一篇:基于FPGA的简易 DDS 信号发生器的设计
下一篇:多路信号发生器(74LS00和LM324)

推荐阅读最新更新时间:2024-11-12 14:19

英诺达发布首款自研低功耗设计验证EDA工具
(2022年11月2日,成都)周三,英诺达(成都)电子科技有限公司发布了第一款自主研发的EDA工具——EnFortius® Low Power Checker(简称LPC),该产品主要用于低功耗设计静态验证,可以为集成电路(IC)工程师快速定位低功耗设计所带来的可能的设计漏洞和缺陷。 应用驱动下的集成电路大趋势 随着人工智能、5G、大数据中心、汽车等应用带来的IC功能和复杂度爆炸性增长,低功耗设计的重要性与日俱增。炬芯科技研发副总经理张贤钧在发布会上的发言表示:“在便携式、穿戴式以及无线化的产品趋势下,除了满足产品性能外,更大的挑战是产品的集成度越来越高,设计上需要更多的功能模块整合,更细致的电源划分,以及更弹性的动态电
[半导体设计/制造]
ucos-ii示例5:消息队列测试
环境: 主机:WIN8 开发环境:MDK4.72 ucgui版本:3.90 ucos版本:ucos-ii mcu: stm32f103VE 说明: 本示例中task1时间片为1s,task2时间片为8s。task1每秒往消息队列写入1个数据,task2全部读取出来。所以task2每次能读到8个数据。 注意: 1.消息队列需要一个指针数组指向消息 2.应该有一个固定的消息数组存储消息,不应将局部变量填入发送消息函数 3.QSQPost为先进先出函数(FIFO),QSQPostFornt为后进先出函数(LIFO) 效果图: 源码: #define TASK_STK_SIZE 512 /***********
[单片机]
ucos-<font color='red'>ii</font>示例5:消息队列测试
基于16位微处理器和实时操作系统μC/OS-II的基站监控终端设
为提高通信基站监控终端的可靠性和事件处理能力,本文介绍采用 16位 RISC架构嵌入式微处理器 R8800实现基站监控终端的设计。利用 Paradigm C++ 5.1集成环境编写监控终端控制程序,实现μC/OS-II在 R8800上的移植。通过实装调试,设计的任务程序能在硬件环境和操作系统下稳定工作,实现了监控终端对环境模拟量和开关量信息的采集,对智能电源、空调设备和通风系统的通信与控制,与区域监控中心进行远程通信。 近年来,随着移动通信业务的迅猛发展,尤其是 3G通信网建设的进行,通信基站的建设数量与日俱增。通信运营商对快速建站、降低基站综合成本和运营维护成本的要求更加迫切。基站监控终端,可做到基站无人值守、远程监
[单片机]
基于16位微处理器和实时操作系统μC/OS-<font color='red'>II</font>的基站监控终端设
通过EDA设计工具了解FPGA的设计流程
对于初学者而言,FPGA的设计流程是否显的 又臭又长 呢?呵呵,如果真的有这样的感觉,没有关系,下面我就通过对软件的使用来了解FPGA的设计流程。 1)使用synplify pro对硬件描述语言编译并生成netlist 综合前要注意对器件的选择,方法是在project- implementation option中对要下载的器件和网表的生成情况进行选择。综合后的网表有两种: RTL级网表和门级网表(gate netlist),通过对网表的分析可以对设计的实现方式有初步的了解,并分析其中的错误和不合理的地方,另外还可以对关键路径的delay和slack进行分析。 使用synplify pro要先新建工程,注意修改工作目录,然后
[电源管理]
通过<font color='red'>EDA</font>设计工具了解FPGA的设计流程
MATLAB制作mif文件——正弦信号发生器2
上图是信号发生器的原理图。一个计数器也加地址发生器,用来改变脉冲频率的。另一个是ROM存储波形数据。 设计中遇到的问题: 先设计这两个模块,之后建立项目,链接完上述原理图之后。开始把原理图文件转换成文本格式,即(.v)文件。和Test Bench。然后在文件里添加这两个文件。如下图:ly.v和ly.vt.这里是verilog HDL语言。之后一定要删除ly.bdfly.bdf文件。 2 Error (12006): Node instance inst instantiates undefined entity romsig 解决办法就是:使用bdf文件创建时出现这个错误,将romsing.qip添加进工程即可,如
[测试测量]
MATLAB制作mif文件——<font color='red'>正弦信号发生器</font>2
美国贰陆II-VI收购Kaiam位于英国的6英寸晶圆厂
据外媒报道,美国贰陆II-VI公司日前表示,目前正在收购光器件和收发器公司Kaiam位于英国纽顿艾克利夫的6英寸晶圆制造厂。 此次交易的价格为8000万美元,预计将通过公司现金储备支付。这个占地30万平方英尺的设施拥有一个10万平方英尺的洁净室,专门用于大批量生产基于GaAs、SiC以及InP材料的复合半导体设备。 II-VI总裁兼首席执行官Chuck Mattera表示:“该设施是整个半导体行业最好的洁净室之一,在行业产能迅速完全被认购的时候,增强了我们的产能。鉴于我们预期的需求,这次收购将加快我们产品的上市时间,同时还将提升我们在供应链中的领先地位。它将扩展我们垂直腔面发射激光器(VCSELs)的自制产能,也是为GaAs、Si
[半导体设计/制造]
后摩尔时代EDA技术需要什么?新思科技提出双引擎模式
8月27-28日,2020集微半导体峰在厦门海沧召开。本届峰会以“探寻·迭变时代新逻辑”为主题,旨在外部世界风云突变的市场环境下,探寻市场新的商业逻辑。 峰会期间,28日下午举办“国产突破与全球协作”为主题的EAD专场论坛。会上,新思科技中国区副总经理谢仲辉发表主题为《EDA开启IC设计双驱动模式》的演讲。 新思科技中国区副总经理谢仲辉 谢仲辉表示,在后摩尔定律的时代,芯片设计面临若干的挑战,其一是先进工艺投入带来的技术好处不像之前那样直接与线性;此外,在流片费用、芯片设计复杂度以及开发周期等挑战也大幅提高。 那么如何解决赋能后摩尔时代集成电路设计的需要呢?谢仲辉提
[半导体设计/制造]
后摩尔时代<font color='red'>EDA</font>技术需要什么?新思科技提出双引擎模式
华虹宏力与华大九天再联手 国产EDA工具助力IP设计
  全球领先的200mm纯晶圆代工厂──华虹半导体有限公司(股份代号:1347.HK)之全资子公司上海 华虹宏力 半导体制造有限公司(“ 华虹宏力 ”)与北京华大九天软件有限公司(“华大九天”)今天共同宣布, 华虹宏力 已采用华大九天的电子设计自动化( EDA )解决方案——全新高速高精度并行仿真器ALPS™完成多个模拟及嵌入式非易失性存储器IP设计项目的前后仿真/数模混合仿真并成功流片。下面就随手机便携小编一起来了解一下相关内容吧。 这是双方继2013年一站式版图分析处理工具Skipper™成功合作之后的再度联手。华虹宏力的工艺平台应用广泛,涉及智能卡、微控制器(MCU)、传感器、物联网、电源管理、功率器件、新能源汽车、智能电
[手机便携]
小广播
最新测试测量文章
换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved