硬件描述语言与FPGA设计技术第6章-宏功能模块与IP应用课件.ppt

上传人(卖家):晟晟文业 文档编号:4602888 上传时间:2022-12-24 格式:PPT 页数:66 大小:1.54MB
下载 相关 举报
硬件描述语言与FPGA设计技术第6章-宏功能模块与IP应用课件.ppt_第1页
第1页 / 共66页
硬件描述语言与FPGA设计技术第6章-宏功能模块与IP应用课件.ppt_第2页
第2页 / 共66页
硬件描述语言与FPGA设计技术第6章-宏功能模块与IP应用课件.ppt_第3页
第3页 / 共66页
硬件描述语言与FPGA设计技术第6章-宏功能模块与IP应用课件.ppt_第4页
第4页 / 共66页
硬件描述语言与FPGA设计技术第6章-宏功能模块与IP应用课件.ppt_第5页
第5页 / 共66页
点击查看更多>>
资源描述

1、第第6章章 宏功能模块与宏功能模块与IP应用应用LPM是Library of Parameterized Modules(参数可设置模块库)的缩写,Altera提供的可参数化宏功能模块和LPM函数均基于Altera器件的结构做了优化设计。在许多实际情况中,必须利用宏功能模块才可以使用一些Altera特定器件的硬件功能。例如各类片上存储器、DSP模块、LVDS驱动器、嵌入式PLL以及SERDES和DDIO 电路模块等。这些可以以图形或硬件描述语言模块形式方便调用的宏功能块,使得基于EDA技术的电子设计的效率和可靠性有了很大的提高。6.1 LPM存储器设计存储器设计接下页6.1.1 ROM模块设计

2、模块设计1建立初始化数据文件建立初始化数据文件 初始化数据文件即写入初始化数据文件即写入ROM中的波形数据文件。中的波形数据文件。QuartusII能接受能接受的的LPM_ROM模块中的初始化数据文件的格式有两种:模块中的初始化数据文件的格式有两种:nMemory Initialization File(.mif)格式)格式nHexadecimal(Intel-Format)File(.hex)格式。)格式。实际应用中只要使用其中一种格式的文件即可。实际应用中只要使用其中一种格式的文件即可。(1)建立.mif格式文件 Quartus II mif文件编辑器 mif文件 2.LPM_ROM设计n

3、LPM_ROM设计首先利用 MegaWizard Plug-In Manager定制正弦信号数据ROM宏功能块,并将以上的波形数据加载于此ROM中。设计步骤如下:(1)打开MegaWizard Plug-In Manager初始对话框。(2)选择ROM控制线、地址线和数据线。(3)选择指定路径上的文件sin2.mif。n在图 6-8 的“Do you want to.”栏选择“Yes,use this file for the memory content data”项,并按Browse钮,选择指定路径上的文件sin2.mif。设计完成的LPM_ROM模块 6.1.2 RAM模块设计模块设计选

4、择LPM_RAM宏功能块并指定存放路径和文件名 RAM模块的仿真波形 6.1.3 FIFO(先进先出存储器先进先出存储器)模块设计模块设计首先新建目录,然后编辑FIFO模块 n定制完成后,直接测试可进行以下操作n退出定制界面,file-new,调入定制的文本文件(VHDL)-save as(这样可方便生成工程)-产生工程,以下过程与新建project相同 FIFO模块的仿真波形 6.2 DSP模块构建乘法器模块构建乘法器乘法器仿真波形 6.3 正弦信号发生器设计正弦信号发生器设计作为LPM_ROM的应用实例,利用前面设计完成的LPM_ROM构成一个正弦信号发生器。正弦信号发生器的结构由四个部分

5、组成:n(1)计数器或地址发生器(这里选择7位)。n(2)正弦信号数据ROM(7位地址线,8位数据线),含有128个8位数据(一个正弦周期)。n(3)电路顶层设计模块。n(4)8位D/A(硬件系统中可用DAC0832模数转换器件)。正弦信号发生器结构图 正弦信号发生器顶层模块 up counterclockclk_enaclrq6.0coutCOUNTE7inst8 bits128 wordsBlock type:AUTOaddress6.0inclockq7.0sin2_rominst2VCCCLKINPUTVCCCLK_ENINPUTVCCRSTINPUTCOUTOUTPUTQ7.0OUT

6、PUTADDR6.0OUTPUTCLKOUTOUTPUT电路模块仿真波形 6.3.2使用嵌入式逻辑分析仪测使用嵌入式逻辑分析仪测试数据波形试数据波形n用嵌入式逻辑分析仪SignalTap II对FPGA内部信号进行分析测试。这里SignalTap II的参数设置为:采样深度是4K;采用时钟是信号源的时钟 CLK;触发信号是计数时钟使能信号CLK_EN,触发模式是E=1上升沿触发采样。SignalTap II 实时测试输出数据 SignalTap II测试正弦信号发生器波形 6.4在系统存储器数据读写编在系统存储器数据读写编辑器应用辑器应用n利用Quartus II的在系统(In-System)

7、读写编辑器,对于CycloneII/III等系列的FPGA,只要对使用的LPM_ROM或LPM_RAM模块适当设置,就能直接通过JTAG口读取或改写 FPGA内处于工作状态的存储器中的数据,读取过程不影响FPGA的正常工作。6.4.1打开在系统存储单元编辑打开在系统存储单元编辑窗口窗口6.4.2读取读取ROM中的波形数据中的波形数据 从FPGA中ROM读取的波形数据 6.4.3 ROM写入数据写入数据ROM数据修改后SignalTap II的釆样波形 6.5 IP核核NCO数控振荡器设计数控振荡器设计n基于Quartus II和DSP Builder的MegaCore有多种,如FIR数字滤波器

8、、FFT离散 信号快速傅里叶变换器、NCO数控振荡器(可作为实现DSP、数字调制解调器、FSK 的重要部件),PCI总线核、CSC色彩格式变换器核(用于电视与VGA色彩编码方式相 互变换)、Viterbi译码器(最大相似译码器,用于对卷积码的解码)IP核等。n下面以数控振荡器NCO(Numerically Controlled Oscillators)核的设置使用为例,介绍利用Quartus II使用IP核的方法。IP核NCO选择界面 IP核NCO选择界面 NCO参数设置窗 NCO Implementation参数设置窗 6.5.4生成仿真文件生成仿真文件6.5.5加入加入IP授权文件授权文件

9、n加入NCO授权文件和Quartus II授权文件。这里设授权文件位置路径:C:altera90license.DAT。有了授权文件,在Option对话框的Licensed AMPP/MegaCore functions 栏中可以看到FIR、PCI、NCO等IP的授权码,这样就可以编译出能够写Flash的SOF文件。也可以先转变为间接配置编程文件写入EPCS Flash。6.5.6编译与功能检测编译与功能检测 phi_inc_i23.0clkreset_nclkenphase_mod_i9.0freq_mod_i9.0fsin_o9.0fcos_o9.0out_validMNCO32inst0

10、10C0inst129110C32inst2119304524C16inst3VCCCLKINPUTVCCRSTINPUTVCCENINPUTFS9.0OUTPUTFC9.0OUTPUT NCO32模块的测试电路 嵌入式逻辑分析仪测试波形 6.6 LPM嵌入式锁相环设计嵌入式锁相环设计 nAltera 的FPGA器件CycloneII/III/IV及StraixII/III/IV等系列中含有高性能的嵌入式模拟锁相环,其性能远优于普通数字锁相环。这些锁相环PLL可以与一输入的时钟信号同步,并以其作为参考信号实现锁相,从而输出一至多个同步倍频或分频的片内时钟,以供逻辑系统应用。与直接来自外部的时钟

11、相比,这种片内时钟可以减少时钟延时和时钟变形,减少片外干扰;还可以改善时钟的建立时间和保持时间,是系统稳定工作的保证。6.6.1建立嵌入式锁相环元件建立嵌入式锁相环元件设置锁相环输入参考时钟inclk0为20MHz选择控制信号 选择输出频率c0为0.00258MHz 嵌入式锁相环时钟正弦信号发生器电路 VCCCLKINPUTVCCCLK_ENINPUTVCCRSTINPUTCOUTOUTPUTQ7.0OUTPUTADDR6.0OUTPUTup counterclockclk_enaclrq6.0coutCOUNTE7inst8 bits128 wordsBlock type:AUTOaddre

12、ss6.0inclockq7.0sin2_rominst2Cyclone IIIinclk0 frequency:20.000 MHzOperation Mode:NormalClk RatioPh(dg)DC(%)c0129/10000000.0050.00inclk0c0PLL20inst1CLKOUTOUTPUT6.6.2锁相环仿真测试和硬件特锁相环仿真测试和硬件特性性 锁相环仿真波形 部分Cyclone系列FPGA的下限至上限的频率范围:nCyclone系列FPGA的PLL:20MHz至270MHz;nCycloneII系列FPGA的PLL:10MHz至400MHz;nCycloneI

13、II系列FPGA的PLL:2KHz至1300MHz;nCycloneIV系列FPGA的PLL:2KHz至1000MHz。其中从CycloneIII系列FPGA起,嵌入式PLL的输出频域大幅度扩展,为高质量的数字系统设计提供了很好的支持。6.7 8051单片机单片机IP软核应用软核应用n已经广为熟悉的89C51或与其兼容的单片机基本配置有ROM和RAM。在FPGA中,调用8051软核并接上ROM和RAM后就成为一个完整的51单片机,本节以此为例介绍8051软核在FPGA中的设计与使用方法。基本8051CPU核应用电路 VCCCLKINPUTVCCRSTINPUTVCCMTINPUTVCCNOIN

14、PUTPOE7.0OUTPUTCOUTOUTPUTP07.0OUTPUTP27.0OUTPUTVCCdata7.0wrenaddress7.0inclockq7.0ram256inst6NOTinst3MTNOX1X2RESETNEANESFRALEIPSEIP0I7.0P1I7.0P2I7.0P3I7.0RAMdaO7.0ROMdaO7.0DOUTNMOENMWEDLMALEPSENALENFWEFOESFRWESFROEIDLEXOFFP0O7.0P1O7.0P2O7.0P3O7.0P0E7.0P1E7.0P2E7.0P3E7.0RAMadr7.0RAMdaI7.0ROMadr15.0PO

15、E7.0CPU8051V1instaddress11.0inclockq7.0rom4kbinst5WENROMa15.0ROMa11.0单片机片内4KB ROM单片机片内256B RAM锁相环89C51单片机核WENVCCP0I7.0INPUTVCCP3I7.0INPUTCycloneinclk0 frequency:20.000 MHzOperation Mode:NormalClk Ratio Ph(dg)DC(%)c09/20.0050.00inclk0c0pll50inst17LPM_RAM参数设置 LPM_ROM设置 单片机双向端口电路 NOTinstTRIinst1WIREins

16、t2P1I7.0P1E7.0P1O7.0VCCP17.0BIDIR设置FPGA的总线口输出为上拉 LPM_ROM初始化文件路径 6.8 LPM模块的文本调用模块的文本调用 n参数设置好的LPM宏功能模块可以在图形方式中调用,也可以采用文本方式调用,这就是宏功能模块进行例化。6.8.1在在Quartus II中对宏功中对宏功能模块进行例化能模块进行例化n对宏功能模块例化的途径有多种,如可以在Block Editor中直接例化;在HDL代码中例化(通过端口和参数定义例化,或使用MegaWizard Plug-In Manager对宏功能模块进 行参数化并建立包装文件),也可以通过界面,在Quart

17、us II中对Altera宏功能模块和LPM 函数进行例化。6.8.2 LPM模块的模块的VHDL文本文本方式调用方式调用n可以使用MegaWizard Plug-In Manager建立宏功能模块或自定义宏功能模块变量。再利用MegaWizard Plug-In Manager建立包含宏功能模块实例的VerilogHDL或VHDL 包装文件,然后,可以在设计中使用此文件。对于VHDL宏功能模块,MegaWizard Plug-In anager还建立组件申明文件。n可以提供使用端口和参数定义,采用或调用任何其他模块或组件相类似方法调用函数,直接在VerilogHDL或 VHDL设计中对宏功能

18、模块进行例化。在VHDL中,还需要使用组件申明。在VHDL 中例化方法如下:1.打开LPM模块文本并测试n定制好LPM模块后应将其设置成工程进行仿真测试,以确保其功能的可靠,并熟悉该元件的时序情况。对于LPM_ROM应当通过仿真了解数据文件是否己被加载进去。n【例6-2】正弦波形数据ROM文件nLIBRARY ieee;nUSE ieee.std_logic_1164.all;nLIBRARY altera_mf;nUSE altera_mf.altera_mf_components.all;-使用宏功能库中的所有元件nENTITY sin2_rom ISnPORT(address :IN S

19、TD_LOGIC_VECTOR(5 DOWNTO 0);n inclock :IN STD_LOGIC;nq :OUT STD_LOGIC_VECTOR(7 DOWNTO 0);nEND sin2_rom;nARCHITECTURE SYN OF sin2_rom ISnSIGNAL sub_wire0:STD_LOGIC_VECTOR(7 DOWNTO 0);nCOMPONENT altsyncram -例化altsyncram元件,调用了LPM模块altsyncram nGENERIC(-参数传递语句nintended_device_family:STRING;-类属参量数据类型定义 nw

20、idth_a:NATURAL;n widthad_a:NATURAL;nnumwords_a:NATURAL;n operation_mode:STRING;noutdata_reg_a:STRING;n address_aclr_a:STRING;noutdata_aclr_a:STRING;n width_byteena_a:NATURAL;ninit_file:STRING;n lpm_hint:STRING;nlpm_type:STRING);nPORT(clock0:IN STD_LOGIC;-altsyncram元件接口声明 naddress_a:IN STD_LOGIC_VECT

21、OR(5 DOWNTO 0);n q_a:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);nEND COMPONENT;nBEGINnq Cyclone,-参数传递映射 nwidth_a=8,-数据线宽度8nwidthad_a=6,-地址线宽度6nnumwords_a=64,-数据数量64noperation_mode=ROM,-LPM模式ROMnoutdata_reg_a=UNREGISTERED,-输出无锁存naddress_aclr_a=NONE,-无异步地址清0noutdata_aclr_a=NONE,-无输出锁存异步清0nwidth_byteena_a=1,-byt

22、eena_a输入口宽度1ninit_file=./wave_edit/SIN2.mif,-ROM初始化数据文件nlpm_hint=ENABLE_RUNTIME_MOD=YES,INSTANCE_NAME=NONE,nlpm_type=altsyncram)-LPM类型nPORT MAP(clock0=inclock,address_a=address,q_a=sub_wire0);nEND SYN;2.编写VHDL顶层设计文件并仿真nLIBRARY IEEE;-正弦信号发生器源文件nUSE IEEE.STD_LOGIC_1164.ALL;nUSE IEEE.STD_LOGIC_UNSIGNED

23、.ALL;nENTITY SIN_LPM_ROM ISn PORT(CLK :IN STD_LOGIC;-信号源时钟n DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);-8位波形数据输出nEND;nARCHITECTURE BHV OF SIN_LPM_ROM ISnCOMPONENT sin2_rom -调用波形数据存储器LPM_ROM文件:data_rom.vhd声明n PORT(address:IN STD_LOGIC_VECTOR(6 DOWNTO 0);-7位地址信号n inclock:IN STD_LOGIC;-地址锁存时钟n q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);nEND COMPONENT;n SIGNAL Q1:STD_LOGIC_VECTOR(6 DOWNTO 0);-设定内部节点作为地址计数器n BEGINnPROCESS(CLK)-LPM_ROM地址发生器进程n BEGINnIF CLKEVENT AND CLK=1 THEN Q1Q1,q=DOUT,inclock=CLK);-例化nEND;正弦波数据仿真结果

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(硬件描述语言与FPGA设计技术第6章-宏功能模块与IP应用课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|