1 / 50

第 7 章 宏功能模块与 IP 应用

第 7 章 宏功能模块与 IP 应用. LPM. 参数可设置模块库 Library of Parameterized Modules 是一个 EDA 标准 参考: www.eda.org. IP (知识产权). 设计可重用 缩短设计时间 经验证 设计加密 SoC 、 SOPC 的基础 最成功的 IP 提供商之一:. 7.1 宏功能模块概述. Altera 提供的宏功能模块与 LPM 函数有:  算术组件: 包括累加器、加法器、乘法器和 LPM 算术函数;  门电路: 包括多路复用器和 LPM 门函数。

avye-pugh
Download Presentation

第 7 章 宏功能模块与 IP 应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第7章 宏功能模块与IP应用

  2. LPM • 参数可设置模块库 • Library of Parameterized Modules • 是一个EDA标准 • 参考:www.eda.org

  3. IP(知识产权) • 设计可重用 • 缩短设计时间 • 经验证 • 设计加密 • SoC、SOPC的基础 • 最成功的IP提供商之一:

  4. 7.1 宏功能模块概述 Altera提供的宏功能模块与LPM函数有: •  算术组件: 包括累加器、加法器、乘法器和LPM算术函数; •  门电路: 包括多路复用器和LPM门函数。 • I/O组件: 包括时钟数据恢复(CDR)、锁相环(PLL)、双数据速率(DDR)、千兆位收发器块(GXB)、LVDS接收器和发送器、PLL重新配置和远程更新宏功能模块。 •  存储器编译器:包括FIFO Partitioner、RAM和ROM宏功能模块。 •  存储组件: 包括存储器、移位寄存器宏模块和LPM存储器函数。

  5. 使用MegaWizard Plug-In Manager

  6. MegaWizard Plug-In Manager输出文件 • <输出文件>.inc : 宏功能模块包装文件中模块的AHDL包含文件。 • <输出文件>.tdf : 要在AHDL设计中实例化的宏功能模块包装文件。 • <输出文件>.vhd : 要在VHDL设计中实例化的宏功能模块包装文件。 • <输出文件>.v : 要在VerilogHDL设计中实例化的宏功能模块包装文件。 • <输出文件>_bb.v :VerilogHDL设计所用宏功能模块包装文件中模块的空体或 • black-box申明,用于在使用EDA 综合工具时指定端口方向。 • <输出文件>_inst.tdf : 宏功能模块包装文件中子设计的AHDL例化示例。 • <输出文件>_inst.vhd : 宏功能模块包装文件中实体的VHDL例化示例。 • <输出文件>_inst.v : 宏功能模块包装文件中模块的VerilogHDL例化示例。 • 可以在命令提示符下键入以下命令,实现在Quartus II软件之外使用 MegaWizard • Plug-In Manager :qmegawiz r

  7. 在QuartusII中对LPM进行例化 • 1、在VerilogHDL和VHDL中例化 • 2、使用端口和参数定义 • 3、使用端口和参数定义生成宏功能模块

  8. Altera的LPM •  计数器 •  加法/减法器 •  乘法器 •  乘-累加器和乘-加法器 • RAM • 移位寄存器

  9. 7.2 宏模块应用实例 f = f0 /64 图7-1 正弦信号发生器 结构框图

  10. 定制LPM_ROM初始化数据文件 • 首先确定图7-1中ROM内的波形数据文件。QuartusII能接受的LPM_ROM中的初始化数据文件的格式有2种:Memory Initialization File(.mif)格式和Hexadecimal(Intel-Format)File(.hex)格式。以下以64点正弦波形数据为例分别说明。

  11. 1.建立.mif格式文件 【例7-1】 WIDTH = 8; DEPTH = 64; ADDRESS_RADIX = HEX; DATA_RADIX = HEX; CONTENT BEGIN 0 : FF; 1 : FE; 2 : FC; 3 : F9; 4 : F5; …(数据略去) 3D : FC; 3E : FE; 3F : FF; END;

  12. 可以使用C/C++来生成Sin数据 【例7-2】 #include <stdio.h> #include "math.h" main() {int i;float s; for(i=0;i<1024;i++) { s = sin(atan(1)*8*i/1024); printf("%d : %d;\n",i,(int)((s+1)*1023/2)); } } 把上述程序编译成程序后,可在DOS命令行下执行命令: romgen > sin_rom.mif;

  13. 2.建立.hex格式文件 使用C/C++编程生成 使用通用编程器

  14. sdata.hex文件的放置路径

  15. 定制LPM_ROM元件 定制新的宏功能块

  16. LPM宏功能块设定

  17. 选择data_rom模块数据线和地址线宽度

  18. 选择地址锁存信号inclock

  19. 调入ROM初始化数据文件并选择在系统读写功能

  20. LPM_ROM设计完成

  21. 波形数据ROM文件

  22. 完成顶层设计

  23. SIGNAL Q1 : STD_LOGIC_VECTOR (5 DOWNTO 0); --设定内部节点作为地址计数器 BEGIN PROCESS(CLK ) --LPM_ROM地址发生器进程 BEGIN IF CLK'EVENT AND CLK = '1' THEN Q1<=Q1+1; --Q1作为地址发生器计数器 END IF; END PROCESS; u1 : data_rom PORT MAP(address=>Q1, q => DOUT,inclock=>CLK);--例化 END;

  24. 仿真测试 图7-11 仿真波形输出 图7-12 嵌入式逻辑分析仪获得的波形

  25. 7.3 在系统存储器数据读写编辑器应用 In-System Memory Content Editor编辑窗

  26. 与实验系统上的FPGA通信正常情况下的编辑窗界面与实验系统上的FPGA通信正常情况下的编辑窗界面

  27. 从FPGA中的ROM读取波形数据

  28. 编辑波形数据 下载编辑数据后的SignalTap II采样波形

  29. 7.4 编辑SignalTapII的触发信号 选择高级触发条件

  30. 进入“触发条件函数编辑”窗口

  31. 编辑触发函数

  32. 7.5 其它存储器模块的定制与应用 7.5.1 RAM定制 编辑定制RAM

  33. LPM_RAM的仿真波形

  34. 7.5.2 FIFO定制 FIFO编辑窗

  35. FIFO的仿真波形

  36. 7.6 流水线乘法累加器的混合输入设计 (1)用VHDL设计16位加法器 【例】LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY ADDER16B IS PORT ( CIN : IN STD_LOGIC; A,B : IN STD_LOGIC_VECTOR(15 DOWNTO 0); S : OUT STD_LOGIC_VECTOR(15 DOWNTO 0); COUT : OUT STD_LOGIC ); END ADDER16B; ARCHITECTURE behav OF ADDER16B IS SIGNAL SINT : STD_LOGIC_VECTOR(16 DOWNTO 0); SIGNAL AA,BB : STD_LOGIC_VECTOR(16 DOWNTO 0); BEGIN AA<='0'&A; BB<='0'&B; SINT <= AA + BB + CIN; S <= SINT(15 DOWNTO 0); COUT <= SINT(4); END behav;

  37. (2)顶层原理图文件设计 在原理图编辑窗加入LPM元件

  38. 编辑LPM乘法器

  39. 加入所有相关元件

  40. 乘法累加器电路

  41. (3)仿真 muladd工程仿真波形

  42. 7.7 LPM嵌入式锁相环调用 7.7.1 建立嵌入式锁相环元件 选择参考时钟为16MHz

  43. 选择控制信号

  44. 选择c0的片内时钟倍频为2

  45. 7.7.2 测试锁相环 PLL元件的仿真波形

More Related