新闻中心

EEPW首页 > EDA/PCB > 设计应用 > FLEX 10K系列EAD的应用

FLEX 10K系列EAD的应用

作者:时间:2012-09-20来源:网络收藏

摘要: 是ALTERA公司研制的第一个嵌入式的PLD可编程逻辑器件系列。它具有高密度、低成本、低功率等特点,利用 系列CPLD可编程逻辑器件的EAB可在系统中实现逻辑功能和存贮功能,文中介绍了EAB的几个应用实例,同时给出了采用VHDL语言编写的VHD的文件及其具体代码。

本文引用地址:http://www.eepw.com.cn/article/189894.htm

关键词:CPLD 嵌入式阵列块(EAB) FIFO 双端口RAM VHDL

1 概述 是Altera公司研制的第一个嵌入式的PLD,它具有高密度、低成本、低功率等特点,是当今altera CPLD中应用前景最好的器件系列之一。

它采用了重复可构造的CMOS SRAM工艺,并把连续的快速通道互连与独特的嵌入式阵列结构相结合,同时可结合众多可编程器件来完成普通门阵列的宏功能。每一个FLEX 10K器件均包括一个嵌入式阵列和一个逻辑阵列,因而设计人员可轻松地开发集存贮器、数字信号处理器及特殊逻辑等强大功能于一身的芯片。 EAB(Embedded Array Blocks)的概念源于门阵列的嵌入式功能,为了使复杂的功能在尽可能小的硅片上得以实现,通常需把定制的硅片放在门阵列基片之上。Altera公司首先把这一技术应用于FLEX 10K器件系列。 FLEX 10K中的嵌入式阵列由一系列具有实现逻辑功能和存贮功能的FAB组成。EAB是在输入、输出口上带有寄存器的RAM块,利用它可以非常方便地实现一些规模不太大的ROM、RAM、双端口RAM和FIFO等功能。

2 EAB的结构

每个FLEX 10K中的EAB均含有2048bit的RAM。另外,每个EAB单元中还包括数据区、总线和读/写控制等几部分。图1所示为EAB单元的内都结构。 数据区是EAB的核心部分,每个EAB包含2048bit的RAM,同时又可根据数据线/地址线的不同设置将其宽度调整为2048×1bit,1024×2bit,512×4bit,256×8bit等。 总线是指EAB中所包括的三条总线,即输入数据总线、地址总线和输出数据总线。其中输入数据总线可以配制成8bit、4bit、2bit或1bit位宽;地址总线同数据总线相适应,具有8bit、9bit、10bit或11bit位宽;而输出数据总线则与输入总线相对应,这三条总线都设计有同步/异步两种工作方式。 第三部分为读/写控制部分。当EAB用于异步RAM电路时,必须外加RAM写使能信号WE,以保证数据和地址信号满足其时序要求,而当EAB用作同步RAM时,它可以产生相对其全局时钟信号的WE信号。EAB的RAM与EPGA中的分布式RAM不同,FLEX 10k EAB能够信号可预测的定时关系,而且EAB的写使能信号(WE)即可与输入时钟同步工作,也可以异步工作。另外,EAB还包含用于同步设计的输入寄存器、输出寄存器和地址寄存器。EAB的输出可以是寄存器输出,也可以是组合输出,EAB RAM的大小很灵活,因此,它既可以配置成256×8、512×4,也可以配置成1024×2或2048×1。FLEX 10K器件的EAB资源如表1所列。EAB的RAM资源较为丰富,可用来设计RAM、FIFO及双端口RAM等许多应用电路。

FLEX 1K器件EAB资源 器件型号 EAB的个数 EPF10K10 EPF10K10A 3 EPF10K20 6 EPF10K30 EPF10K30A EPF10K30B 6 EPF10K40 8 EPF10K50 EPF10K50V EPF10K50B 10 EPF10K70 9 EPF10K100 EPF10K100A EPF10K100B 12 EPF10K130V EPF10K130B 16

3 FLEX 10K的应用

3.1 RAM的设计 RAM的设计分同步RAM或异步RAM,当设计同步RAM时,DATA信号和ADDRESS信号应在EAB中锁存。包括WE在内,所有信号均应在EAB内完成,这样可以排除一些可能破坏数据时序的潜在故障。当WE信号被锁定为高时,EAB内部电路会产生一个与DATA信号和ADDRESS信号的建立和保持时间相匹配的写脉冲。

而在用异步RAM方式时,一定要遵从以下几个原则:

(1)WE信号一定要避免那些可能会无意覆盖RAM区数据的时序。

(2)WE信号的建立与保持时间一定要与DATA和ADDRESS信号相适应。

(3)当WE=1时,ADDRESS信号不能发生变化。由于FLEX 10K器件都有多个EAB,所以可由多个EAB来构成所需要的RAM。 LPM(Library Of Parameterized Modules)是一个参数化的模块库,它是优秀的版图设计人员和软件人员智慧的结晶。通过修改LPM器件的某些参数,可很容易地到达设计要求。下面的RAM(VHD)文件是一个寄存器输入、寄存器输出的1k×8RAMr VHDL设计代码: RAM.VHD Library ieee; Use ieee,std_logic_1164.all; Library lpm; Use lpm.lpm-compONents.all; Entity LL is Generic (data-width:integer:=8;addr-width:interer:=10); Port (data:in std-logic-vector(data-width-1downto 0); addresss:in std-logic-vector(addr-width-1 downto 0)); End LL; Architcture RAM of LL is Begin U1:lpm-ram-dp Generic map (lpm-widthad=>addr-width,lmp-width=>data-width) Prot map(data=>data,address=>address,we q=q); End; 输入 data[ ]: 数据输入RAM address[ ]:地址输入RAM we: 写使能 inclock :同步输入时钟 outclock: 同步输出时钟 输出 q[ ]: 数据输出


上一页 1 2 下一页

关键词: FLEX 10K EAD

评论


相关推荐

技术专区

关闭