FPGA规划办法能够总结为一个简略的规划流程,Altera的Quartus II软件是全集成开发东西,彻底支撑这一规划流程。具体进程如下。
(1)进行源文件的修改和编译。首要需求将规划思路用文本办法或图形办法表达出来,进行排错编译,为进一步的逻辑归纳做准备。常用的源程序输入办法有原理图输入办法和文本输入办法。
(2)进行逻辑归纳和优化。将源文件经过一系列的操作,分解成一系列的逻辑电路及对应的联系,终究取得门级电路乃至更底层的电路描绘文件,即生成与FPGA/CPLD根本结构相对应的网表文件。
(3)进行方针器材的布线/适配。在选用的方针器材中树立起与网表文件契合的根本逻辑电路的对应联系。
(4)方针器材的编程下载。假如编译、归纳、布线/适配和行为仿真、功用仿真、时序仿真等进程都没有发现问题,即满意原规划的要求,则能够将布线/适配器产生的装备/下载文件下载电缆载入方针芯片中。
(5)硬件仿真/硬件测验。将下载好程序的FPGA放在开发板上进行测验,以验证规划思维与实践电路的误差。
考虑一下逻辑功用完结的共性,假如把这些逻辑门和寄存器组合到一个器材中会怎样?从与门到或门,从或门到寄存器有固定的衔接会怎样呢?更进一步,假如有一种办法来设置输入和与门之间的衔接,以确认应运用哪些输入,以及在哪里运用,又会怎样呢?
这方面的考虑导致了第一款可编程阵列逻辑器材PAL的产生,如图1.5所示。
将逻辑门和输出寄存器固定为通用逻辑后,挑选运用逻辑输入及其互补逻辑,就能够树立任何逻辑功用。PAL首要由图1.5中的三部分构成,屡次仿制这三部分就能够构成杂乱PAL器材。这儿显现的可编程阵列是所挑选的输入,将其衔接到需求的与门。在输入和进入与门的线之间进行衔接,可完结线与操作。与门输出构成乘积项。乘积项经过或门完结乘积和,然后产生终究函数输出。
图1.5 可编程阵列逻辑示意图
然后,将其送入寄存器进行存储或许同步。这一部分PAL一般被称为宏单元。某些PAL包含了阵列反应选项,以完结更杂乱的逻辑功用,还能够彻底旁路输出寄存器,以树立异步输出。需求指出的是,在现在的大部分器材中,所有这三部分一起构成了宏单元。这便是CPLD器材的状况。
这类器材的长处十分显着。一个器材中的逻辑越多,电路板上需求的器材就越少。器材越少,意味着占用更少的电路板来完结逻辑,空出的电路板能够用于放置其他元件。更少的器材还意味着较低的总成本及功耗。逻辑功用衔接不必跨过多个器材,避免了衔接过错,也简化了逻辑功用的测验和调试。PAL还能够完结规划安全性。
PAL在规划上还十分灵敏,规划人员选用一类器材就能够树立许多不同的规划,不必忧虑逻辑的可用性。这种灵敏性使可编程逻辑规划完结起来更杂乱,但与PAL配套产生了许多主动规划东西,它们简化了规划进程,缩短了规划时刻。PAL最强的功用在于它能够支撑在体系编程和从头编程,很简略修正毛病或许更新规划,而不需求替换电路板元件。
前期PAL器材编程乃至当时闪存技能的要害都在于编程阵列中跨线衔接所运用的特别晶体管。这些特别晶体管被称为浮栅晶体管,因为它们含有第二个栅极,浮在规范挑选栅极和器材基底其他部分之间。两类最典型的浮栅晶体管是FAMOS(浮栅雪崩注入MOS晶体管)和FLOTOX(浮栅沟道氧化晶体管)。
假如不进行任何设置,这两类晶体管都能够用做规范n型晶体管:当电压加在栅极上时,晶体管源极和漏极之间导通。两类晶体管都能够选用类似的办法进行设置来改动这种作业办法。漏极和栅极之间加上满足的设置电压后,电子被“约束”在浮栅上,即便在所选栅极上加上规范作业电压,晶体管也不会导通。
这样,设置浮栅晶体管使之总是“关断”,这实践上是一个开关。FLOTOX晶体管还需求一个额定的挑选晶体管,这是因为未设置的FLOTOX晶体管有时像p型晶体管,栅极接地时导通。挑选晶体管避免了这一现象的产生。
这两类浮栅晶体管的首要不同点在于它们从头编程的办法。FAMOS晶体管需求用紫外强光迫使被抓获的电子回到基底。运用FAMOS晶体管的器材是可擦除可编程ROM,即EPROMS。简略的置反漏极-栅极编程电压就能够擦除FLOTOX晶体管。因为用电就能够擦除FLOTOX晶体管,用于完结电擦除可编程ROM,即EEPROM,它们十分适合在体系编程。