Fabio Battaglia 4 سال پیش
والد
کامیت
2b002c14a9
1فایلهای تغییر یافته به همراه41 افزوده شده و 0 حذف شده
  1. 41 0
      docs/analysis.md

+ 41 - 0
docs/analysis.md

@@ -0,0 +1,41 @@
+# PAL Analysis
+
+## Introduction
+
+From [Wikipedia](https://en.wikipedia.org/wiki/Programmable_Array_Logic):
+
+> Programmable Array Logic (PAL) is a family of programmable logic device semiconductors used to implement logic functions in digital circuits [...]
+>
+> PAL devices consisted of a small PROM (programmable read-only memory) core and additional output logic used to implement particular desired logic functions with few components.
+
+This PROM is used to implement a programmable logic plane that routes the signal present on input pins (and on the feedbacks from the outputs) to the output logic macrocells.
+
+This plane is arranged in a **fixed-OR, programmable-AND** configuration,  and is used to implement a binary logic equation for every output pin in the form of **sum-of-products**.
+
+In short, PAL chips programmable content can be defined as a set of equation like the following:
+
+```text
+/o13 = /i9 & /i11 & o17 +
+       /i7 & /i11 +
+       /i6 & /i11
+o13.oe = i6 & i7 & /i9 & o17
+
+/o14 = /i9 & /o13 & o18 +
+       /i7 & /o13 +
+       /i6 & /o13
+o14.oe = i6 & i7 & /i9 & o18
+
+/o15 = i1 & /i9 & /o14 +
+       /i7 & /o14 +
+       /i6 & /o14
+o15.oe = i1 & i6 & i7 & /i9
+```
+
+Most of the chips have their PROM set to **read-protected** once programmed, meaning their content cannot be trivially recovered and leaving a party interested in the recovery with just a few options:
+
+- Decapping the chip and using a microscope to analyze the PROM
+- There are stories around where a PROM can be glitched to disable read protection, but I've never found the details
+- **Blackbox analysis**
+
+This tool aims to automate part of the process for the last of these options.
+Ideally, a successfull analysis should recover the original equations, but we'll see how this is not always possible or straightforward.