VHDL宏功能模块应用课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定义基于STD_LOGIC与STD_LOGIC_VECTOR数据类型上的 有符号的算术运算
定义基于STD_LOGIC与STD_LOGIC_VECTOR类型上的无符 号的算术运算
7.3 LPM随机存储器的设置和调用
7.3 LPM随机存用示例
简易正弦信号发生器设计 f = f0 /64
STD_LOGIC_1164
定义STD_LOG, STD_LOGIC_VECTOR等
STD_LOGIC_ARITH STD_LOGIC_SIGNED STD_LOGIC_UNSIGNED
定义有符号与无符号数据类型,基于这些数据类型的算术运算 符,如“+”, “-”, “∗”, “/”SHL, SHR等
7.0 宏功能模块概述
宏功能模块LPM:是参数可设置模块库的英语缩写 (Library of Parameterized Modules),这些可 以以图形或硬件描述语言模块形式方便调用的宏 功能块,使得基于EDA技术的电子设计的效率和 可靠性有了很大的提高。设计者可以根据实际电 路的设计需要,选择LPM库中的适当模块,并为 其设定适当的参数,就能满足自己设计需要,从 而在自己的项目中十分方便地调用优秀的电子工 程师人员的硬件设计成果。
:
F9;
4
:
F5;
…(数据略去)
3D
:
FC;
3E
:
FE;
3F
:
FF;
END;
7.2 宏模块应用实例
7.2.2 定制初始化数据文件
1.建立.mif格式文件 【例7-2】 #include <stdio.h> #include "math.h" main() {int i;float s; for(i=0;i<1024;i++)
存储器编译器
FIFO Partitioner、RAM和ROM宏功能模块
存储组件
存储器、移位寄存器宏模块和LPM存储器函数
7.0 宏功能模块概述
使用MegaWizard Plug-In Manager
<输出文件>.bsf : Block Editor中使用的宏功能模块的符号(元件)。 • <输出文件>.cmp : 组件申明文件。 • <输出文件>.inc : 宏功能模块包装文件中模块的AHDL包含文件。 • <输出文件>.tdf : 要在AHDL设计中实例化的宏功能模块包装文件。 • <输出文件>.vhd : 要在VHDL设计中实例化的宏功能模块包装文件。 • <输出文件>.v : 要在VerilogHDL设计中实例化的宏功能模块包装文件。 • <输出文件>_bb.v :VerilogHDL设计所用宏功能模块包装文件中模块的空体或
7.0 宏功能模块概述
在QuartusII中对宏功能模块进行例化
1、在VerilogHDL和VHDL中例化 2、使用端口和参数定义
3、使用端口和参数定义生成宏功能模块
计数器 加法/减法器 乘法器
乘-累加器和乘-加法器 RAM 移位寄存器
7.0 宏功能模块概述
采用LPM设计方法,可以带来四点好处:
图7-24正弦信号发生器结构框图
7.4 LPM_ROM的定制和使用示例
定制初始化数据文件
1.建立.mif格式文件
【例7-1】
WIDTH = 8;
DEPTH = 64;
ADDRESS_RADIX = HEX;
DATA_RADIX = HEX;
CONTENT BEGIN
0
:
FF;
1
:
FE;
2
:
FC;
3
例7-3
7.2 利用属性控制乘法器的构建
例7-3仿真结果
7.2 利用属性控制乘法器的构建
IEEE两个标准库STD和IEEE中的程序包
库名
程序包名
STD
STANDARD TEXTIO
IEEE
定义的内容
定 义 VHDL 的 数 据 类 型 , 如 BIT , BIT_VECTOR等 TEXT读写控制数据类型和子程序等
7.0 宏功能模块概述
Altera公司提供的宏功能模块与LPM函数主要有:
算术组件
累加器、加法器、乘法器和LPM算术函数
门电路
多路复用器和LPM门函数
I/O组件
时钟数据恢复(CDR)、锁相环(PLL)、双数据速率 (DDR)、千兆位收发器块(GXB)、LVDS接收器和发送器、 PLL重新配置和远程更新宏功能模块
1. 设计文件具备独立于实现工艺的可移植性。 2. 保证最佳的实现效率。 3. 保证设计工具之间的互操作性。 4. 可以完成几乎所有设计需要的逻辑描述。
7.1 计数器LPM模块调用
利用LPM 模块设计一个 60进制计数器
7.1 计数器LPM模块调用
60进制计数器仿真结果
7.2 利用属性控制乘法器的构建
K 康芯科技 X
7.4 LPM_ROM的定制和使用示例
2.建立.hex格式文件
图7-4 sdata.hex文件的放置路径
7.4 LPM_ROM的定制和使用示例
定制LPM_ROM元件
图7-5 定制新的宏功能块
EDA 技术实用教程
第7 章 宏功能模块应用
第7章 宏功能模块应用
7.1计数器LPM模块调用★ 7.2利用属性控制乘法器的构建★ 7.3LPM随机存储器的设置和调用 7.4LPM_ROM的定制和使用示例 7.5在系统存储器数据读写编辑器应用 7.6LPM嵌入式锁相环调用 7.7In-system Sources and Probes Editor使用方法 7.8NCO核数控振荡器使用方法 7.9FIR核使用方法 7.10DDS实现原理与应用
black-box申明,用于在使用EDA 综合工具时指定端口方向。 • <输出文件>_inst.tdf : 宏功能模块包装文件中子设计的AHDL例化示例。 • <输出文件>_inst.vhd : 宏功能模块包装文件中实体的VHDL例化示例。 • <输出文件>_inst.v : 宏功能模块包装文件中模块的VerilogHDL例化示例。
{ s = sin(atan(1)*8*i/1024); printf("%d : %d;\n",i,(int)((s+1)*1023/2));
} }
7.4 LPM_ROM的定制和使用示例
2.建立.hex格式文件
图7-2 将波形数据填入mif文件表中
2.建立.hex格式文件
图7-3 ASM格式建hex文件
定义基于STD_LOGIC与STD_LOGIC_VECTOR类型上的无符 号的算术运算
7.3 LPM随机存储器的设置和调用
7.3 LPM随机存用示例
简易正弦信号发生器设计 f = f0 /64
STD_LOGIC_1164
定义STD_LOG, STD_LOGIC_VECTOR等
STD_LOGIC_ARITH STD_LOGIC_SIGNED STD_LOGIC_UNSIGNED
定义有符号与无符号数据类型,基于这些数据类型的算术运算 符,如“+”, “-”, “∗”, “/”SHL, SHR等
7.0 宏功能模块概述
宏功能模块LPM:是参数可设置模块库的英语缩写 (Library of Parameterized Modules),这些可 以以图形或硬件描述语言模块形式方便调用的宏 功能块,使得基于EDA技术的电子设计的效率和 可靠性有了很大的提高。设计者可以根据实际电 路的设计需要,选择LPM库中的适当模块,并为 其设定适当的参数,就能满足自己设计需要,从 而在自己的项目中十分方便地调用优秀的电子工 程师人员的硬件设计成果。
:
F9;
4
:
F5;
…(数据略去)
3D
:
FC;
3E
:
FE;
3F
:
FF;
END;
7.2 宏模块应用实例
7.2.2 定制初始化数据文件
1.建立.mif格式文件 【例7-2】 #include <stdio.h> #include "math.h" main() {int i;float s; for(i=0;i<1024;i++)
存储器编译器
FIFO Partitioner、RAM和ROM宏功能模块
存储组件
存储器、移位寄存器宏模块和LPM存储器函数
7.0 宏功能模块概述
使用MegaWizard Plug-In Manager
<输出文件>.bsf : Block Editor中使用的宏功能模块的符号(元件)。 • <输出文件>.cmp : 组件申明文件。 • <输出文件>.inc : 宏功能模块包装文件中模块的AHDL包含文件。 • <输出文件>.tdf : 要在AHDL设计中实例化的宏功能模块包装文件。 • <输出文件>.vhd : 要在VHDL设计中实例化的宏功能模块包装文件。 • <输出文件>.v : 要在VerilogHDL设计中实例化的宏功能模块包装文件。 • <输出文件>_bb.v :VerilogHDL设计所用宏功能模块包装文件中模块的空体或
7.0 宏功能模块概述
在QuartusII中对宏功能模块进行例化
1、在VerilogHDL和VHDL中例化 2、使用端口和参数定义
3、使用端口和参数定义生成宏功能模块
计数器 加法/减法器 乘法器
乘-累加器和乘-加法器 RAM 移位寄存器
7.0 宏功能模块概述
采用LPM设计方法,可以带来四点好处:
图7-24正弦信号发生器结构框图
7.4 LPM_ROM的定制和使用示例
定制初始化数据文件
1.建立.mif格式文件
【例7-1】
WIDTH = 8;
DEPTH = 64;
ADDRESS_RADIX = HEX;
DATA_RADIX = HEX;
CONTENT BEGIN
0
:
FF;
1
:
FE;
2
:
FC;
3
例7-3
7.2 利用属性控制乘法器的构建
例7-3仿真结果
7.2 利用属性控制乘法器的构建
IEEE两个标准库STD和IEEE中的程序包
库名
程序包名
STD
STANDARD TEXTIO
IEEE
定义的内容
定 义 VHDL 的 数 据 类 型 , 如 BIT , BIT_VECTOR等 TEXT读写控制数据类型和子程序等
7.0 宏功能模块概述
Altera公司提供的宏功能模块与LPM函数主要有:
算术组件
累加器、加法器、乘法器和LPM算术函数
门电路
多路复用器和LPM门函数
I/O组件
时钟数据恢复(CDR)、锁相环(PLL)、双数据速率 (DDR)、千兆位收发器块(GXB)、LVDS接收器和发送器、 PLL重新配置和远程更新宏功能模块
1. 设计文件具备独立于实现工艺的可移植性。 2. 保证最佳的实现效率。 3. 保证设计工具之间的互操作性。 4. 可以完成几乎所有设计需要的逻辑描述。
7.1 计数器LPM模块调用
利用LPM 模块设计一个 60进制计数器
7.1 计数器LPM模块调用
60进制计数器仿真结果
7.2 利用属性控制乘法器的构建
K 康芯科技 X
7.4 LPM_ROM的定制和使用示例
2.建立.hex格式文件
图7-4 sdata.hex文件的放置路径
7.4 LPM_ROM的定制和使用示例
定制LPM_ROM元件
图7-5 定制新的宏功能块
EDA 技术实用教程
第7 章 宏功能模块应用
第7章 宏功能模块应用
7.1计数器LPM模块调用★ 7.2利用属性控制乘法器的构建★ 7.3LPM随机存储器的设置和调用 7.4LPM_ROM的定制和使用示例 7.5在系统存储器数据读写编辑器应用 7.6LPM嵌入式锁相环调用 7.7In-system Sources and Probes Editor使用方法 7.8NCO核数控振荡器使用方法 7.9FIR核使用方法 7.10DDS实现原理与应用
black-box申明,用于在使用EDA 综合工具时指定端口方向。 • <输出文件>_inst.tdf : 宏功能模块包装文件中子设计的AHDL例化示例。 • <输出文件>_inst.vhd : 宏功能模块包装文件中实体的VHDL例化示例。 • <输出文件>_inst.v : 宏功能模块包装文件中模块的VerilogHDL例化示例。
{ s = sin(atan(1)*8*i/1024); printf("%d : %d;\n",i,(int)((s+1)*1023/2));
} }
7.4 LPM_ROM的定制和使用示例
2.建立.hex格式文件
图7-2 将波形数据填入mif文件表中
2.建立.hex格式文件
图7-3 ASM格式建hex文件