下面以fpga為例進(jìn)行介紹pld的編程原理。
編程數(shù)據(jù)存儲(chǔ)單元以陣列形式分布在fpga中,編程數(shù)據(jù)存儲(chǔ)單元陣列結(jié)構(gòu)如圖1所示。存儲(chǔ)單元為5管sram結(jié)構(gòu), 只有一根位線。其中t管為本單元控制門,由字線控制。數(shù)據(jù)以串行方式移入移位寄存器,而地址移位寄存器順序選中存儲(chǔ)單元的一根字線,當(dāng)某列字線為高電平時(shí), 該列存儲(chǔ)單元的t管導(dǎo)通,從而與位線接通,在寫信號(hào)控制下將數(shù)據(jù)移位寄存器中一個(gè)字的數(shù)據(jù)通過各列位線寫入該列存儲(chǔ)單元。
編程數(shù)據(jù)按照一定的數(shù)據(jù)結(jié)構(gòu)形式組成數(shù)據(jù)流裝入fpga中,編程數(shù)據(jù)流由開發(fā)軟件自動(dòng)生成。開發(fā)軟件將設(shè)計(jì)轉(zhuǎn)化成網(wǎng)表文件,它自動(dòng)對(duì)邏輯電路分區(qū)、布局和布線和校驗(yàn)fpga的設(shè)計(jì),然后按prom格式產(chǎn)生編程數(shù)據(jù)流并形成編程數(shù)據(jù)文件,最后還可將編程數(shù)據(jù)文件存入prom中。
圖1 編程數(shù)據(jù)存儲(chǔ)單元陣列結(jié)構(gòu)