EDA第七章_宏功能模块与IP应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
下面以确定64点正弦波在ROM内的波形数据文件 为例分别说明。
1.建立.mif格式文件
使用工具:Quartus II 的ROM数据文件编辑窗口或其他编辑器
【例7-1】用Quartus II 的ROM数据文件编辑窗口产生.mif格式文件 方法:File菜单NewOther files页Memory Initialization File项 选择ROM字数和字长,再填写好下列表格并保存即得。
7.2 LPM模块应用实例
正弦信号发生器
一、定制LPM_ROM初始化数据文件
Quartus II 能接受的LPM_ROM中的初始化数据 文件的格式有2种:
Memory Initialization File(.mif)格式 Hexadecimal(Intel-Format) File(.hex)格式
使用Megafunction将大大的减少设计风险及缩短开发周期。
Megafunction可以使设计师将更多时间和精力放在改善及提高系统级 的产品上,而不要重新开发现成的Megafunction。
IP(知识产权)
一个好的IP Core要具备可靠、可重用、 可配置、可测试的特性,还应有详细 准确的说明文档 最成功的IP提供商之一: 虽然只有LPM、部分器件专有的 Megafunction是免费的,但是这些免 费的模块也足够满足大多数设计的需 要(LPM库只有25个基本模块就号称 可以完成所有的设计)。 评估付费Megafunction: 使用开放式内核(OpenCore)技术 , 其设计流程如右图所示。 如何用好Altera的Megafunction:认真 阅读文档并执行必要的配置工作
硬件评估
购买
当您对 IP 内核完全满意,并准备将设计投产时,可以购买许可,生成产品 器件编程文件。Altera MegaCore®许可能够永久使用,支持多种工程,包括 一年更新和支持。 对 Altera 所有 IP 提供浮动和节点锁定的许可。可提供多种不同许可期限、 条件和价格模型的第三方 IP 内核。请直接联系 IP 合作伙伴,了解详细信息。
方法2:
首先在汇编程序编辑器中,将 64个正弦波数据编辑于如右图所示 窗口中; 然后利用8051单片机ASM编译 器产生.hex格式文件。
二、定制LPM_ROM元件
用于存放波形数据的定制元件ROM的VHDL描述
三、正弦信号发生器顶层设计
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SINGT IS PORT ( CLK : IN STD_LOGIC; --信号源时钟 DOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); --8位波形数据输出 END SINGT; ARCHITECTURE DACC OF SINGT IS COMPONENT data_rom --声明data_rom元件:调用波形数据存储器LPM_ROM文件 PORT(address: IN STD_LOGIC_VECTOR (5 DOWNTO 0); --6位地址信号 clock: IN STD_LOGIC ; --地址锁存时钟 q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0)); END COMPONENT; SIGNAL Q1: STD_LOGIC_VECTOR(5 DOWNTO 0); --设内部节点作为地址计数器 BEGIN PROCESS( CLK ) BEGIN --LPM_ROM地址发生器进程 IF CLK'EVENT AND CLK='1' THEN Q1<=Q1+1; --计数器Q1用作地址发生器 END IF; END PROCESS; u1: data_rom PORT MAP( address=>Q1, clock=>CLK, q =>DOUT);--例化 END DACC;
Altera IP
有关ALTERA的宏功能库及IP内核的标志介绍
Altera Megafunction Partners Program:AMPP
是ALTERA宏功能模块、IP内核开发伙伴的组织。 通过这个联盟,AMPP的所有厂商提供基于ALTERA 器件优化的宏功能模块、IP内核。
MegaCore是ALTERA直接开发完成的,并有详 尽的使用资料的宏功能模块、IP内核。
2.建立.hex格式文件
使用工具:Quartus II 的ROM数据文件编辑窗口或8051单片机编译器
方法1:
点击Quartus II 的File菜单 NewOther files页 Hexadecimal(Intel-Format) File项 选择ROM字数和字长,填好 表格并保存即可。
(主要用于不支持该Megafunction的第三方EDA工具例化和调用,避免出 现找不到源文件的情况(当然,也就不能实现其功能))
6. 包含仿真波形的html文件:根据用户的配置信息得到的仿真波形,
可供设计者初步评估该定制Megafunction的参数配置是否符合需要。
7.1.3 对Megafunction进行例化
No risk.
安装 参数化 采用标准EDA 工具进行评估
访问 IP MegaStore 网站,迅速找到并下载 Altera 全部产品组合的宏功能。 采用 Altera 强大的用户友好的 MegaWizard® 插件工具来参数化宏功能,根 据需要选择合适的功能,估算资源占用,设置第三方工具,产生将参数化 IP 集成到设计中所需的所有文件。 在购买前,利用 OpenCore 评估功能,在仿真中评估 IP 的所有特性,包括 系统功能、大小和速度等。 在您决定购买 IP 许可前,利用 OpenCore Plus 硬件评估特性,产生时间受 限的 FPGA 编程文件,然后利用它在您自己的硬件上验证所有 FPGA 设计, 也可以在任何其他支持的电路板上进行验证。
(设计者可以在代码中例化该文件。该文件的注释部分是MegaWizard Plug-in Manager可识别的配置信息,MegaWizard Plug-in Manager由这些 配置信息区分普通设计文件和用户订制Megafunction文件)
2. <output file>.cmp: 组件声明文件
其余宏功能模块在Quartus II上只有其网络链接 使用资料:Help Megafunctions/LPM 利用Megafunction进行项目设计的步骤:
1.利用MegaWizard Plug-In Manager(MegaWizard 插件管理器)建立或修 改包含自定义宏功能模块的设计文件 2.在顶层设计文件中对这些文件进行例化。
KX
康芯科技
7.3 在系统存储器数据读写编辑器应 用
图7-15 从FPGA中的ROM读取波形数据
KX
康芯科技
7.3 在系统存储器数据读写编辑器应 用
图7-16 编辑波形数据
KX
康芯科技
7.3 在系统存储器数据读写编辑器应 用
图7-16下载编辑数据后的SignalTap II采样波形
KX
康芯科技
【例7-2】用其他编辑器(如记事本)产生.mif格式文件 WIDTH = 8; DEPTH = 64; ADDRESS_RADIX = HEX; 正弦波数据可以使用C语言程序来生成 DATA_RADIX = HEX; #include <stdio.h> CONTENT BEGIN #include “math.h” 0 : FF; main() 1 : FE; { 2 : FC; int i; 3 : F9; float s; 4 : F5; for( i=0; i<64; i++ ) …(数据略去) { s = sin(atan(1)*8*i/64); 3D : FC; printf( "%x : %x;\n", i, (int)( (s+1)/2*255) 3E : FE; ); 3F : FF; } END; } 把上述程序编译成可执行文件romgen.exe, 可在DOS命令行下执行: romgen > sin_rom.mif;
7.1.2 使用MegaWizard Plug-In Manager定制MF
Hale Waihona Puke 调用Megafunction最简单直观的方法: 使用MegaWizard 插件管理器设计向导。
MegaWizard Plug-in Manager生成的六类文件
1. <output file>. vhd:例化Megafunction的封装文件
3. <output file>. bsf:用户订制Megafunction的图形文件
(与<output file>. vhd关联,在图形设计文件中可以例化该文件并通过双 击启动MegaWizard Plug-in Manager)
4. <output file>_inst.vhd:宏功能封装文件中实体的VHDL例化示例 5. <output file>_bb.vhd:用户定制Megafunction的黑盒(black-box)描述
第7章
宏功能模块与IP应用
7.1 宏功能模块概述
Altera宏功能模块(Megafunction)的三种来源 Megafunctions from the Altera Megafunction Partners Program AMPP™ (Altera宏功能合作伙伴计划)提供的第三方IP Core Megafunctions created by Altera, known as MegaCore™ functions Altera器件专有的Megafunction,由Altera公司提供的IP Core EIA标准的LPM 库(Library of Parameterized Modules参数化模块库) LPM库是一个不依赖特定硬件的逻辑模块库(EDA标准) ALTERA推荐使用经优化的Megafunction增强设计。特别是针对一些 与Altera器件底层结构相关的特性,必须通过Megafunction实现。
例化Megafunction的三种途径 1、在VerilogHDL和VHDL中例化(使用封装文件)
2、使用端口和参数定义(通过图形方式调用宏功能模块) 3、推断宏功能(自动识别某些类型的HDL 代码,在综合期间
将逻辑映射到相应的 Altera 宏功能模块) 计数器 加法/减法器 乘法器 乘-累加器和乘-加法器 RAM 移位寄存器 DSP
7.4 编辑SignalTapII的触发信号
针对ALTERA的器件作了特别的优化处理,达到并 满足用户所指定的性能指标。ALTERA提供MegaCore是 为了帮助客户完成条件要求较苛刻的系统应用以及减 少设计风险和开发时间。
ALTERA的MaxplusII和Quartus平台均提供各 种开放宏功能模块评估的功能。
允许用户在购买某个宏功能模块之前,进行设计 、编译、仿真。
为此顶层设计创建一项工程, 全程编译后,时序仿真测试如下:
图7-11 仿真波形输出
图7-12 嵌入式逻辑分析仪获得的波形
7.3 在系统存储器数据读写编辑器应 用
图7-13 In-System Memory Content Editor编辑窗
KX
康芯科技
7.3 在系统存储器数据读写编辑器应 用
图7-14 与实验系统上的FPGA通信正常情况下的编辑窗界面
Altera IP
Altera随Quartus II附带的宏功能模块有以下五类:
算术组件:包括累加器、加法器、乘法器和LPM算术函数 门电路:包括多路复用器和LPM门函数 I/O组件:包括时钟数据恢复(CDR)、锁相环(PLL)、双数据速率(DDR)、 千兆位收发器块(GXB)、LVDS接收器和发送器、PLL重新配置和远程更 新宏功能模块 存储器编译器:包括FIFO Partitioner、RAM和ROM宏模块 存储组件:存储器、移位寄存器宏模块和LPM存储器函数