GAL和PAL的最大差别在于GAL的输出结构可由用户定义,是一种可编程的输出结构。GAL的两种基本型号GAL16V8(20引脚)GAL20V8(24引脚)可代替树十种PAL器件,因而称为痛用可编程电路。而PAL的输出是由厂家定义好的,芯片选定后就固定了,用户无法改变。
PAL和GAL都属于简单PLD,结构简单,设计灵活,对开发软件要求低。
可编程逻辑器件PLD(Programmable Logic Device)是ASIC的一个重要分支,是厂家作为一种通用性器件生产的半定制电路,用户可通过对器件编程实现所需要的功能。可编程逻辑阵列PLA(Programmable Logic Array),与20世纪70年代中期出现,它是由可编程的与阵列和可编程的或阵列组成。可编程阵列逻辑PAL(Programmable Array Logic)器件是1977年美国MMI公司率先推出的,它由于输出结构种类很多,设计灵活,因而得到普遍使用。通用阵列逻辑器件GAL(Generic Array Logic)器件是1985年LATTICE公司最先发明的可电擦除、可编程、可设置加密位的PLD。具有代表性的GAL芯片有GAL16V8、GAL20,这两种GAL几乎能够仿真所有类型的PAL器件。实际应用中,GAL器件对PAL器件仿真具有100%的兼容性,所以GAL几乎可以全代替PAL器件,并可取代大部分SSI、MSI数字集成电路,因而获得广泛应用。
GAL破解方法分析:在了解了PAL和GAL的结构和组成后,我们就不难去分析如何去破解GAL逻辑电路。不管是PAL还是GAL,在文章的开头就说明了是属于简单的PLD(programmable logic device),那么这种器件就是来实现一定的逻辑功能。如果我们知道了各引脚之间的逻辑关系,那么就等于有了程序。如何得到已经加密了的GAL器件的逻辑关系呢。我们北京致芯科技解密中心目前的做法是使用逻辑分析仪,对GAL的输出引脚进行逻辑分析,得出出每个输出引脚的逻辑关系,那么就得到了整个GAL逻辑电路的逻辑关系,这种逻辑关系可以是一种逻辑图,也可以是一种逻辑代码文件,将得到的逻辑文件保存后,然后把这种文件转化为GAL专用的文件格式JED文件,这样就得到了GAL的代码,实现了对GAL解密的效果。
由于采用逻辑分析方法不破坏芯片,GAL和PAL芯片可以正常工作,与侵入式破解比较是一种安全的解密方法。