CPLD的发展:
一开始的PLD,是通过掩膜和ROm相结合的方式。Rom就是讲地址输入以译码器的方式映射到存储矩阵里面。掩膜相当于连通线,将存储地址上的二极管导通或者阻断。但是掩膜一开始为一次性的,所以费用昂贵。 最后选用熔丝的方式,当上电电压大于某个值时,从而选通该存储电路。
解决电路过多的方法
一开始的与门网络,根据多输入会造成内部门电路过多,解决办法是选用与门阵列。采用逻辑最小化技术。但是相对的,PAL编程是可编程,但是输出是固定的,最后又出现GAL(generic Array Logic),其输出可配置。目前CPLD就是采用这种方式,但是CPLD不是简单的集成,而是通过模块化设计,通过选用总线的方式,配置GAL电路。从而实现大规模化。
CPLD的优势特点:
1、IO口可配置。并不是直接连接IO口,而是在IO口设置缓存区,通过IO单元可以配置选择引脚和内部宏单元。
2、多时钟驱动。并且设有时钟管理模块,多时钟输入会让设计具备更大的兼容性和拓展性。
解决熔丝编程的方法
PRom是单次编程。EPROM、EEROM、flash是多次编程。
EPRom工艺:利用FAMOS场效应管的栅极区的二氧化硅层中的二氧化硅中埋有用多晶硅制作的浮置栅G2,该浮置栅正常工作情况下不带电荷,并且加有一定电压,使场效应管处于导通状态,相当于熔丝接通。也就是原始状态为1,当编程时,对漏、源极家一定高压,使二氧化硅击穿,将基极电子吸向栅极,从而使浮置栅也捕获一部分电子,并且当编程电压撤去后,是二氧化硅处于绝缘状态,从而使电子长期保存在浮置栅上,使浮置栅带
EEROM:Electronic Erasable Rom。浮置栅G2有一处与衬底间的距离特别近。当漏极与衬底间加有一定电压时就会产生隧道效应,从而使电子到达浮置栅。,当编程电压撤去后,由于隧道小时,从而导致栅极电子无法释放而带负电。从而使该mos管处于截止转台,从而写零。擦除就是加反向电压。EEROm是逐点擦除,对每一点先擦除后写。
Flash:FLAsh和EEROm的方式差不多,但是是一次性全部擦出,后逐点读写。
FPGA的发展
在CPLD的基础上,发展起来的FPGA
在芯片中间制作大量门海式结构。FPGA中间不再放置门结构,而是用门和触发器结构搭建出单元结构也叫逻辑单元。中间有很多内部连线,通过配置不同时间节点的连线,从而实现编程。
FPGA编程
1、反熔丝工艺
一次性编程,当编程时,用高电压击穿绝缘层,从而实现写1操作,和熔丝相反。
2、RAM工艺
用一个受SR控制的开关逻辑代替熔丝,当触发器为1时,代表连通。但是SR静态触发器掉电后数据消失,所以一般Xilinx的数据烧写都在flash里面。
针对FPGA/CPLD的JTAG编程:
带有系统编程的芯片的每个I/O口都有一个三态门和一个可配置的上拉电阻。正常情况下为高,编程时为低。此时所有i/o的三态门处于断开转台,并且每个i/o单元中的触发器被串联起来,形成一个移位寄存器。输入端就是SDI,输出端就是SDO,通过SCLK一次写入写出。