宏功能模块与IP应用分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

可以将此触发器旁路,信号直接输给PIA或输出到I/O
脚。
http://www.fpga.com.cn/
I/O模块库
锁相环模块设计举例
参数化锁相环宏模块altpll以输入时钟信号作为参考信
号实现锁相,从而输出若干个同步倍频或者分频的片内 时钟信号。与直接来自片外的时钟相比,片内时钟可以 减少时钟延迟,减小片外干扰,还可改善时钟的建立时 间和保持时间,是系统稳定工作的保证。不同系列的芯
片对锁相环的支持程度不同,但是基本的参数设置大致
5
-5 5
my_vector’low
my_vector’length my_vector’range
-5
11 (5 downto -5)
my_vector’reverse_range
(-5 to 5)


1 基于Quartus II软件,用D触发器设计一个2分频电路,并做波形仿 真,在此基础上,设计一个4分频和8分频电路,做波形仿真。 。 2 基于Quartus II软件,用7490设计一个能计时(12小时)、计分 (60分)和计秒(60秒)的简单数字钟电路。设计过程如下: (1)先用Quartus II的原理图输入方式,用7490连接成包含进位输出 的模60的计数器,并进行仿真,如果功能正确,则将其生成一个部件; (2)将7490连接成模12的计数器,进行仿真,如果功能正确,也将其 生成一个部件; (3)将以上两个部件连接成为简单的数字钟电路,能计时、计分和计秒, 计满12小时后系统清0重新开始计时。 (4)在实现上述功能的基础上可以进一步增加其它功能,比如校时功能, 能随意调整小时、分钟信号,增加整点报时功能等。
SIGNAL s1 : my_logic ; s1 <= 'Z' ;
SUBTYPE
子类型名 IS 基本数据类型 RANGE 约束范围;
SUBTYPE digits IS INTEGER RANGE 0 to 9 ;
1.枚举类型:
综合器将自动实现枚举类型元素的编码,一般将第一 个枚举量(最左边)编码为0,以后的依次加1。编码 用位矢量表示,位矢量的长度将取所需表达的所有枚 举元素的最小值。
EDA技术实用教程
宏功能模块与 IP应用
宏功能模块设计
一、 Megafunctions库 二、 Maxplus2库 三、 Primitives库
一、Megafunctions库
Megafunction库是Altera提供的参数 化模块库。从功能上看,可以把 Megafunction库中的元器件分为: 算术运算模块(arithmetic) 逻辑门模块(gates) 储存模块(storage) IO模块(I/O)
计数器74161设计举例
模10计数器
仿真结果
三、 Primitives库
缓冲器库
引脚库
存储单元库
逻辑门库
其他模块
例1:利用lpm_counter计数器模块做一个十二进制计数器
方法一:利用画电路图,建立.bdf文件 方法二:利用vhdl语言,建立.vhd文件
例2:利用lpm_ram做一个8位、128深度的ram.
例3:设置一个数字钟. 要求:具有24小时计数功能,可以设置小时和分钟的 值,并具有整点报时和报警功能。
数据类型定义语句
TYPE语句的用法如下: TYPE 或 TYPE 数据类型名 IS 数据类型定义 ; 两种不同的定义方式: TYPE st1 IS ARRAY ( 0 TO 15 ) OF STD_LOGIC ; TYPE week IS (sun,mon,tue,wed,thu,fri,sat) ; 数据类型名 IS 数据类型定义 OF 基本数据类型 ;
状态符号化: TYPE m_state IS ( st0,st1,st2,st3,st4,st5 ) ;
SIGNAL present_state,next_state : m_state ; TYPE BOOLEAN IS (FALSE,TRUE) ;
TYPE my_logic IS
( '1' ,'Z' ,'U' ,'0' ) ;
相同,下面便举例说明altpll的应用。
(1)输入altpll宏功能模块
选择芯片和设置参考时钟
锁相环控制信号设置
输入时钟设置
(2)编译和仿真
锁相环电路
功能仿真波形
存储模块库
存储器模块设计举例
ROM(Read Only Memory,只读存储器)是存储器的 一种,利用FPGA可以实现ROM的功能,但其不是真正意义 上的ROM,因为FPGA器件在掉电后,其内部的所有信息都 会丢失,再次工作时需要重新配置。 Quartus II提供的参数化ROM是lpm_rom,下面用一 个乘法器的例子来说明它的使用方法,这个例子使用 lpm_rom构成一个4位×4位的无符号数乘法器,利用查表 方法完成乘法功能。
TYPE week IS (sun,mon,tue,wed,thu,fri,sat) ; TYPE m_state IS ( st0,st1,st2,st3,st4,st5 ) ;
SIGNAL present_state,next_state : m_state ;
编码为:st0=“000” ; st1=“001” ; st2=“010” ; st3=“011” ; st4=“100” ;
数组属性:
语法如下: 对象‘属性 VHDL为数组预先定义的属性:
left
high length
right
low range
reverse_range
例:variable my_vector:bit_vector(5 downto -5); 各属性如下:
my_vector’left
my_vector’right my_vector’high
4
基于Quartus II,用74283(4位二进制全加器)设计实现一 个8位全加器,并进行综合和仿真,查看综合结果和仿真结果。
5
6 采用Quartus II软件的宏功能模块lpm_rom,用查表的 方式设计一个实现பைடு நூலகம்个8位无符号数加法的电路,进行编译 仿真。 7 先用lpm_rom设计4bit×4bit和8bit×8bit乘法器各一个, 再用VHDL分别设计4bit×4bit和8bit×8bit乘法器,比较 两类乘法器的运行速度和资源好用情况。 8 用数字锁相环实现分频,假定输入时钟频率为10MHz,要 想得到6MHz的时钟信号,使用altpll宏功能模块实现该电路。
基于Quartus II软件,用74161设计一个模99的计数器,个 位和十位都采用8421BCD码的编码方式设计,分别用置0和置1 两种方法实现,完成原理图设计输入、编译、仿真和下载整个过 程。
3
基于Quartus II软件,用7490设计一个模71计数器,个位和 十位都采用8421BCD码的编码方式设计,完成原理图设计输入、 编译、仿真和下载整个过程。
时钟,清零和输出使能信号,这几个信号有专用连线与PLD中每
个宏单元相连,信号到每个宏单元的延时相同并且延时最短。
宏单元的具体结构:
左侧是乘积项阵列,实际就是一个与或阵列,每一个 交叉点都是一个可编程熔丝,如果导通就是实现“与” 逻辑。后面的乘积项选择矩阵是一个“或”阵列。两 者一起完成组合逻辑。图右侧是一个可编程D触发器, 它的时钟,清零输入都可以编程选择,可以使用专用 的全局清零和全局时钟,也可以使用内部逻辑(乘积 项阵列)产生的时钟和清零。如果不需要触发器,也
数据线、地址线宽度设置
控制端口设置
添加.mif文件
如下图所示就是基于ROM实现的4位×4位的无符号 数乘法器电路图,其参数设置为: LPM_WIDTH=8 LPM_WIDTHAD=8 LPM_FILE=mult_rom.mif
仿真结果
二、 Maxplus2库
Maxplus2库主要由74系列数字集成电路组成,包括 时序电路宏模块和运算电路宏模块两大类,其中时序电 路宏模块包括触发器、锁存器、计数器、分频器、多路 复用器和移位寄存器,运算电路宏模块包括逻辑预算模 块、加法器、减法器、乘法器、绝对值运算器、数值比 较器、编译码器和奇偶校验器。 对于这些小规模的集成电路,在数字电路课程中有详 细的介绍,其调入方法与Megafunction库中的宏模块 相同,只是端口和参数无法设置。
st5=“101”
2.整数类型:
用户定义的整数类型是标准包中整数类型的子范围。
格式:type 类型名称 is interger 整数范围; 例:type my_integer is integer range 0 to 9;
3.数组类型:
数组:同类型元素的集合。VHDL支持多维数组。
多维数组的声明: type byte is array(7 downto 0) of bit; type vector is array(3 downto 0) of byte;
算数运算模块库
lpm_mult
下面以参数化乘法器lpm_mult为例来说明如何在设计中使用宏功 能模块。lpm_mult的基本参数已在下表中给出。
(1)调用lpm_mult
(2)lpm_mult参数设置
输入输出位宽设置
乘法器类型设置
(3)编译仿真
8位有符号乘法器电路
功能仿真波形
逻辑门库
I/O模块库
MAX7000系列的内部结构:
这种PLD可分为三块结构:宏单元(Marocell),可编程连线 (PIA)和I/O控制块。 宏单元是PLD的基本结构,由它来实现基本 的逻辑功能。图1中兰色部分是多个宏单元的集合(因为宏单元较 多,没有一一画出)。可编程连线负责信号传递,连接所有的宏 单元。I/O控制块负责输入输出的电气特性控制,比如可以设定集 电极开路输出,摆率控制,三态输出等。 图中 左上的 INPUT/GCLK1,INPUT/GCLRn,INPUT/OE1,INPUT/OE2 是全局
相关文档
最新文档