1 概述
Actel公司生产垢42MX系列反熔丝型FPGA是采用先进的CMOS工艺制作的,其内部运用了专利的金属-金属反熔丝元件。而反熔丝互连就象纯金属互连一样,但它与用晶体管开关的SRAM互连截然不同。由于Actel FPGA采用反熔丝技术,因此这类FPGA是永久性编程的,在通电时能即时工作,而不必携带通电系统引导程序的PROM。因此,与SRAM的FPGA相比,42MX不失为一种高性能的FPGA。此外,Actel的42MX系列还设计了特殊的低功率“休眠”模式。表1所列是42MX系列FPGA资源介绍。
表1 42MX系列FPGA资源
表2 引脚功能
2 引脚功能
42MX系列FPGA有PLCC、TQFP、VQFP、PQFP、BGA等多种封装形式,其引脚功能说明见表2所列,其中的TCLK、TDI、TDO、TMS被用于JTAG边界扫描测试。
3 结构
在Actel的多路开关型结构中,其基本模块是一个多路开关配置。多路开关的每个输入接到固定的电平或输入信号可实现不同的逻辑功能,把大量的多路开关和逻辑门连接起来,可以构成大量函数的逻辑块。42MX FPGA由逻辑模块、布线资源、时钟网络和I/O模块构成。此外,42MX36还带有双端口RAM。
3.1 逻辑模块
42MX器件包括组合模块(C模块)、时序模块(S模块)和译码模块(D模块)三个典型的逻辑模块。
a.组合模块
图1所示为组合模块图,其输出函数为:
Y=!S1*!S0*D00+!S1*S0**D01+S1*!S0*D10+S1*S0*D11
其中S0=A0*B0,S1=A1+B1
b.时序模块
S模块由组合逻辑加时序元件构成,其时序元件可以是D触发器也可以是锁存器,由它们所构成的S模块分别如图2中的(a)、(b)、(c)所示。另外,S模块中的寄存器可以被旁路,这一点与C模块相同。
c.译码模块
D模块能够提供42MX器件宽的译码功能,其速度可以匹配CPLD或PAL。输出的高有效还是低有效由可编程的相器来决定。D模块图如图3所示。D模块一般分布于器件的周边。
3.2 多路I/O模块
多路I/O模块用于提供内部逻辑阵列与器件管脚之间的接口,如图4所示。I/O模块有三态缓冲器,输入/输出锁存器或寄存器。可配置为:(1)直接输入、锁存器或寄存器输入;(2)直接输出,锁存器或寄存器输出;(3)双向I/O等。
3.3 布线结构
42MX结构采用水平和垂直布线来内连各种逻辑模块和I/O模块,这些布线以长线或“段”的形式实现金属互连,并且仅用两个反熔丝元件互连就可使各种段长度满足90%以上的设计布线。而段则可通过反熔丝元件连在一起,直至整个线长。所有互连均可通过最大四个反熔丝元件来完成。
a.水平布线
水平通道位于模块行之间,
由若干线组成。在通道内水平线可以被分成几个段,最小的水平段线长可与一模块宽度匹配,而最大的水平段长可与通道长相等,段长超过1/3行长被称为长水平段,一个典型的通道如图5所示,专用的线仅用于全局时钟网络。
b.垂直布线
垂直线分三种类型:输入、输出、长线或段。每个输入线上的段作为特殊模块的专用输入。每个输出线上的段作为一个特殊模块的专用输出。不推荐使用长段,因为当每个输出段跨越四个通道时,会发生边缘效应,一个长垂直线仅包含一个或两个段。垂直线和段参见图5。
c.反熔丝元件结构
反熔丝可编程元件是一个“常开”结构,
这与PRO或PAL的可编程结构相反。反熔丝元件位于一对相邻的水平线段之前,在水平和垂直线段的相交处。这种反溶丝元件结构仅可进行一次编程。反熔丝实际上是在两层导体之间的一层很薄的绝缘介质。每个反熔丝占有等效于一个接触孔或通孔的面积,在电压加到此元件上的介质被击穿,从而把两层导电材料连在一起。
3.4 时钟网络
42MX器件的两个低变形、高扇出时钟分配网络CLK0和CLK1是一样的,图6为LCK0的时钟网络。其中LCKMOD为时钟模块,神的输入由两个来自引脚的CLKA、CLKB和两个来自内部信号的CLKINA、CLKINB组成,可由S0、S1来决定驱动哪一个,其输出可高达17个。
4 应用
42MX系列FPGA由于其容量大、性能佳而在数字系统中得到广泛应用。图7是用42MX16设计的一个视频显示控制器。常规的显示控制器采用MC发845,但用MC6845来设计电路比较复杂,且调试困难。而用42MX16设计的显示控制器电路则比较简单。42MX16主完成的功能如下:
(1)整个系统的地址译码;
(2)行、列地址计数器、同步信号及消隐脉冲的产生;
(3)VRAM地址AR1的产生,并由CPU地址及列地址计数器分时共用;
(4)字符/图像发生器ROM地址AR2的产生,它由CRAM的内容DATA1分时锁存决定;
(5)存放字符/图像颜色组,由字符/图像发生器的内容DATA2和VRAM的内容DATA1选定要输出的R、G、B信号。
开发软件采用ACTEL DESKTOP,计数器、多路转换器可利用ACTGEN Macro Builder来产生,这样不仅可节省时间,而且能确保VHDL程序的正确。