宏功能模块与IP应用_第1页
宏功能模块与IP应用_第2页
宏功能模块与IP应用_第3页
宏功能模块与IP应用_第4页
宏功能模块与IP应用_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EDAEDA技术技术实用教程实用教程宏功能模块设计宏功能模块设计 Megafunction库是库是Altera提供的参数提供的参数化模块库。从功能上看,可以把化模块库。从功能上看,可以把Megafunction库中的元器件分为:库中的元器件分为:u 算术运算模块(算术运算模块(arithmetic)u 逻辑门模块(逻辑门模块(gates)u 储存模块(储存模块(storage)u IO模块(模块(I/O)算数运算模块库算数运算模块库 下面以参数化乘法器lpm_mult为例来说明如何在设计中使用宏功能模块。lpm_mult的基本参数已在下表中给出。 lpm_mult(1)调用)调用lpm_mul

2、t(2)lpm_mult参数设置参数设置输入输出位宽设置输入输出位宽设置乘法器类型设置乘法器类型设置(3)编译仿真)编译仿真8位有符号乘法器电路位有符号乘法器电路功能仿真波形功能仿真波形逻辑门库逻辑门库 I/O模块库模块库 I/O模块库模块库 锁相环模块设计举例锁相环模块设计举例 参数化锁相环宏模块参数化锁相环宏模块altpll以输入时钟信号作为参考信以输入时钟信号作为参考信号实现锁相,从而输出若干个同步倍频或者分频的片内号实现锁相,从而输出若干个同步倍频或者分频的片内时钟信号。与直接来自片外的时钟相比,片内时钟可以时钟信号。与直接来自片外的时钟相比,片内时钟可以减少时钟延迟,减小片外干扰,还

3、可改善时钟的建立时减少时钟延迟,减小片外干扰,还可改善时钟的建立时间和保持时间,是系统稳定工作的保证。不同系列的芯间和保持时间,是系统稳定工作的保证。不同系列的芯片对锁相环的支持程度不同,但是基本的参数设置大致片对锁相环的支持程度不同,但是基本的参数设置大致相同,下面便举例说明相同,下面便举例说明altpll的应用。的应用。(1)输入)输入altpll宏功能模块宏功能模块选择芯片和设置参考时钟选择芯片和设置参考时钟 锁相环控制信号设置锁相环控制信号设置 输入时钟设置输入时钟设置 (2)编译和仿真)编译和仿真锁相环电路锁相环电路功能仿真波形功能仿真波形 存储模块库存储模块库 存储器模块设计举例存

4、储器模块设计举例 ROM(Read Only Memory,只读存储器)是存储器的,只读存储器)是存储器的一种,利用一种,利用FPGA可以实现可以实现ROM的功能,但其不是真正意义的功能,但其不是真正意义上的上的ROM,因为,因为FPGA器件在掉电后,其内部的所有信息都器件在掉电后,其内部的所有信息都会丢失,再次工作时需要重新配置。会丢失,再次工作时需要重新配置。 Quartus II提供的参数化提供的参数化ROM是是lpm_rom,下面用一,下面用一个乘法器的例子来说明它的使用方法,这个例子使用个乘法器的例子来说明它的使用方法,这个例子使用lpm_rom构成一个构成一个4位位4位的无符号数乘

5、法器,利用查表位的无符号数乘法器,利用查表方法完成乘法功能。方法完成乘法功能。数据线、地址线宽度设置数据线、地址线宽度设置 控制端口设置控制端口设置 添加添加.mif文件文件 如下图所示就是基于如下图所示就是基于ROM实现的实现的4位位4位的无符号位的无符号数乘法器电路图,其参数设置为:数乘法器电路图,其参数设置为:LPM_WIDTH=8LPM_WIDTHAD=8LPM_FILE=mult_rom.mif仿真结果仿真结果 Maxplus2库主要由库主要由74系列数字集成电路组成,包括系列数字集成电路组成,包括时序电路宏模块和运算电路宏模块两大类,其中时序电时序电路宏模块和运算电路宏模块两大类,

6、其中时序电路宏模块包括触发器、锁存器、计数器、分频器、多路路宏模块包括触发器、锁存器、计数器、分频器、多路复用器和移位寄存器,运算电路宏模块包括逻辑预算模复用器和移位寄存器,运算电路宏模块包括逻辑预算模块、加法器、减法器、乘法器、绝对值运算器、数值比块、加法器、减法器、乘法器、绝对值运算器、数值比较器、编译码器和奇偶校验器。较器、编译码器和奇偶校验器。 对于这些小规模的集成电路,在数字电路课程中有详对于这些小规模的集成电路,在数字电路课程中有详细的介绍,其调入方法与细的介绍,其调入方法与Megafunction库中的宏模块库中的宏模块相同,只是端口和参数无法设置。相同,只是端口和参数无法设置。

7、 计数器计数器74161设计举例设计举例 模模10计数器计数器仿真结果仿真结果 缓冲器库缓冲器库 引脚库引脚库 存储单元库存储单元库 逻辑门库逻辑门库 其他模块其他模块 例例1:利用:利用lpm_counter计数器模块做一个十二进制计数器计数器模块做一个十二进制计数器方法一:利用画电路图,建立方法一:利用画电路图,建立.bdf文件文件方法二:利用方法二:利用vhdl语言,建立语言,建立.vhd文件文件例例2:利用:利用lpm_ram做一个做一个8位、位、128深度的深度的ram.例例3:设置一个数字钟:设置一个数字钟. 要求:具有要求:具有24小时计数功能,可以设置小时和分钟的小时计数功能,

8、可以设置小时和分钟的 值,并具有整点报时和报警功能。值,并具有整点报时和报警功能。数据类型定义语句数据类型定义语句 TYPE语句的用法如下:语句的用法如下: TYPE 数据类型名数据类型名 IS 数据类型定义数据类型定义 OF 基本数据类型基本数据类型 ;或或 TYPE 数据类型名数据类型名 IS 数据类型定义数据类型定义 ; 两种不同的定义方式:两种不同的定义方式:TYPE st1 IS ARRAY ( 0 TO 15 ) OF STD_LOGIC ;TYPE week IS (sun,mon,tue,wed,thu,fri,sat) ; 状态符号化:状态符号化: TYPE m_state

9、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 ) ; SIGNAL s1 : my_logic ; s1 = Z ; SUBTYPE 子类型名子类型名 IS 基本数据类型基本数据类型 RANGE 约束范围约束范围; SUBTYPE digits IS INTEGER RANGE 0 to 9 ; 1.枚举类型:枚举类型:综合器将自动实现枚举类型元素的编码,一般将第一综

10、合器将自动实现枚举类型元素的编码,一般将第一个枚举量(最左边)编码为个枚举量(最左边)编码为0,以后的依次加,以后的依次加1。编码。编码用位矢量表示,位矢量的长度将取所需表达的所有枚用位矢量表示,位矢量的长度将取所需表达的所有枚举元素的最小值。举元素的最小值。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

11、=“010” ; st3=“011” ; st4=“100” ; 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 v

12、ector is array(3 downto 0) of byte;数组属性:数组属性:语法如下:语法如下: 对象对象属性属性VHDL为数组预先定义的属性:为数组预先定义的属性: left right high low length range reverse_range例:例:variable my_vector:bit_vector(5 downto -5);各属性如下:各属性如下: my_vectorleft 5 my_vectorright -5 my_vectorhigh 5 my_vectorlow -5 my_vectorlength 11 my_vectorrange (5

13、downto -5) my_vectorreverse_range (-5 to 5)1 基于基于Quartus II软件,用软件,用D触发器设计一个触发器设计一个2分频电路,并做波形仿分频电路,并做波形仿真,在此基础上,设计一个真,在此基础上,设计一个4分频和分频和8分频电路,做波形仿真。分频电路,做波形仿真。 。2 基于基于Quartus II软件,用软件,用7490设计一个能计时(设计一个能计时(12小时)、计分小时)、计分(60分)和计秒(分)和计秒(60秒)的简单数字钟电路。设计过程如下:秒)的简单数字钟电路。设计过程如下:(1)先用)先用Quartus II的原理图输入方式,用的原

14、理图输入方式,用7490连接成包含进位输出连接成包含进位输出的模的模60的计数器,并进行仿真,如果功能正确,则将其生成一个部件;的计数器,并进行仿真,如果功能正确,则将其生成一个部件;(2)将)将7490连接成模连接成模12的计数器,进行仿真,如果功能正确,也将其的计数器,进行仿真,如果功能正确,也将其生成一个部件;生成一个部件;(3)将以上两个部件连接成为简单的数字钟电路,能计时、计分和计秒,)将以上两个部件连接成为简单的数字钟电路,能计时、计分和计秒,计满计满12小时后系统清小时后系统清0重新开始计时。重新开始计时。(4)在实现上述功能的基础上可以进一步增加其它功能,比如校时功能,)在实现

15、上述功能的基础上可以进一步增加其它功能,比如校时功能,能随意调整小时、分钟信号,增加整点报时功能等。能随意调整小时、分钟信号,增加整点报时功能等。 习习 题题 3 基于基于Quartus II软件,用软件,用74161设计一个模设计一个模99的计数器,个的计数器,个位和十位都采用位和十位都采用8421BCD码的编码方式设计,分别用置码的编码方式设计,分别用置0和置和置1两种方法实现,完成原理图设计输入、编译、仿真和下载整个过两种方法实现,完成原理图设计输入、编译、仿真和下载整个过程。程。 4 基于基于Quartus II软件,用软件,用7490设计一个模设计一个模71计数器,个位和计数器,个位

16、和十位都采用十位都采用8421BCD码的编码方式设计,完成原理图设计输入、码的编码方式设计,完成原理图设计输入、编译、仿真和下载整个过程。编译、仿真和下载整个过程。 5 基于基于Quartus II,用,用74283(4位二进制全加器)设计实现一位二进制全加器)设计实现一个个8位全加器,并进行综合和仿真,查看综合结果和仿真结果。位全加器,并进行综合和仿真,查看综合结果和仿真结果。 6 采用采用Quartus II软件的宏功能模块软件的宏功能模块lpm_rom,用查表的,用查表的方式设计一个实现两个方式设计一个实现两个8位无符号数加法的电路,进行编译位无符号数加法的电路,进行编译仿真。仿真。7

17、先用先用lpm_rom设计设计4bit4bit和和8bit8bit乘法器各一个,乘法器各一个,再用再用VHDL分别设计分别设计4bit4bit和和8bit8bit乘法器,比较乘法器,比较两类乘法器的运行速度和资源好用情况。两类乘法器的运行速度和资源好用情况。8 用数字锁相环实现分频,假定输入时钟频率为用数字锁相环实现分频,假定输入时钟频率为10MHz,要,要想得到想得到6MHz的时钟信号,使用的时钟信号,使用altpll宏功能模块实现该电路宏功能模块实现该电路。MAX7000系列的内部结构:系列的内部结构:这种这种PLD可分为三块结构:宏单元(可分为三块结构:宏单元(Marocell),可编程

18、连线,可编程连线(PIA)和和I/O控制块。控制块。 宏单元是宏单元是PLD的基本结构,由它来实现基本的基本结构,由它来实现基本的逻辑功能。图的逻辑功能。图1中兰色部分是多个宏单元的集合(因为宏单元较中兰色部分是多个宏单元的集合(因为宏单元较多,没有一一画出)。可编程连线负责信号传递,连接所有的宏多,没有一一画出)。可编程连线负责信号传递,连接所有的宏单元。单元。I/O控制块负责输入输出的电气特性控制,比如可以设定集控制块负责输入输出的电气特性控制,比如可以设定集电极开路输出,摆率控制,三态输出等。电极开路输出,摆率控制,三态输出等。 图中图中 左上的左上的INPUT/GCLK1,INPUT/GCLRn,INPUT/OE1,INPUT/OE2 是全局是全局时钟,清零和输出使能信号,这几个信号有专用连线与时钟,清零和输出使能信号,这几个信号有专用连线与PLD中每中每个宏单元相连,信号到每个宏单元的延时相同并且延时最短。个宏单元相连,信号到每个宏单元的延时相同并且延时最短。 宏单元的具体结构:宏单元的具体结构:左侧是乘积项阵列,实际就是一个与或阵列,每一个左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通就是实现交叉点都是一个可编程熔丝,如果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论