下面以fpga为例进行介绍pld的编程原理。
编程数据存储单元以阵列形式分布在fpga中,编程数据存储单元阵列结构如图1所示。存储单元为5管sram结构, 只有一根位线。其中t管为本单元控制门,由字线控制。数据以串行方式移入移位寄存器,而地址移位寄存器顺序选中存储单元的一根字线,当某列字线为高电平时, 该列存储单元的t管导通,从而与位线接通,在写信号控制下将数据移位寄存器中一个字的数据通过各列位线写入该列存储单元。
编程数据按照一定的数据结构形式组成数据流装入fpga中,编程数据流由开发软件自动生成。开发软件将设计转化成网表文件,它自动对逻辑电路分区、布局和布线和校验fpga的设计,然后按prom格式产生编程数据流并形成编程数据文件,最后还可将编程数据文件存入prom中。
图1 编程数据存储单元阵列结构