Difference between revisions of "User:Robertbaruch"

From Proghq
Jump to: navigation, search
(Created page with "=Staging ground= ==wavedrom test== <wavedrom> { signal: [ { name: "clk", wave: "p......" }, { name: "bus", wave: "x.34.5x", data: "head body tail" }, { name: "wire...")
 
Line 9: Line 9:
 
   { name: "wire", wave: "0.1..0." },
 
   { name: "wire", wave: "0.1..0." },
 
]}
 
]}
 +
</wavedrom>
 +
 +
==ATF22V10C==
 +
 +
At some point prior to Jul 2010, Atmel decided to make their own 22V10. It is pin- and fuse-compatible with the Lattice GAL22V10, but with additional features:
 +
* I/O pin-keeper circuits, holding the previous value of an input after the input goes high-impedance.
 +
* Optional pin-controlled power-down mode. This mode is controlled by a fuse not present in the Lattice chip.
 +
 +
[https://archive.org/details/ATF22V10CCQ Atmel Datasheet rev Jul 2010], see [http://proghq.org/wiki/File:ATF22V10_LOGIC_DIAGRAM.png] for page 9 without the diagram cut off.
 +
 +
[https://archive.org/details/gal22v10 Lattice Datasheet rev Mar 1998].
 +
 +
The best view of the fuses is shown in page 5 of the Lattice datasheet, showing 5892 fuses.
 +
 +
The fuses are organized as follows:
 +
* 0-43: product term for asynchronous reset
 +
* 44-439: sum of 8 product terms for output logic block 0
 +
* 440-923: sum of 10 product terms for output logic block 1
 +
* 924-1495: sum of 12 product terms for output logic block 2
 +
* 1496-2155: sum of 14 product terms for output logic block 3
 +
* 2156-2903: sum of 16 product terms for output logic block 4
 +
* 2904-3651: sum of 16 product terms for output logic block 5
 +
* 3652-4311: sum of 14 product terms for output logic block 6
 +
* 4312-4883: sum of 12 product terms for output logic block 7
 +
* 4884-5367: sum of 10 product terms for output logic block 8
 +
* 5368-5763: sum of 8 product terms for output logic block 9
 +
* 5764-5807: product term for synchronous preset
 +
* 5808-5827: control fuses, 2 each, for output logic blocks
 +
* 5828-5891: 8 bytes of programmable electronic signature data
 +
 +
A security fuse is present, but its number is not in the datasheet.
 +
 +
===Enable programming mode===
 +
 +
In programming mode, the following pins have alternate functions. Pin numbering is for the DIP/SOIC/TSSOP(PLCC) package.
 +
* pin 2(3): PRogramming ENable
 +
* pin 13(16): -STRobe
 +
* pin 3(4): WRite
 +
* pins 4(5), 6(7), 7(9), and 9(11): ERase
 +
* pin 8(10): OLMC data
 +
 +
Programming mode is enabled by applying 12V to PREN. PREN must remain at 12V for at least 50 milliseconds before beginning any other operation.
 +
 +
<wavedrom>
 +
{
 +
  signal: [
 +
    { name: "-STR",  wave: "x1..", node: ".a.." },
 +
    { name: "PREN",  wave: "0.1.", node: "..b.c" },
 +
    { name: "WR",    wave: "x0.." },
 +
    { name: "ER",    wave: "x0.." },
 +
    { name: "OLMC",  wave: "x0.." },
 +
  ],
 +
  edge: [
 +
    "a<->b min 20µs", "b<->c min 50ms"
 +
  ]
 +
}
 
</wavedrom>
 
</wavedrom>

Revision as of 23:11, 20 May 2018

Staging ground

wavedrom test

ATF22V10C

At some point prior to Jul 2010, Atmel decided to make their own 22V10. It is pin- and fuse-compatible with the Lattice GAL22V10, but with additional features:

  • I/O pin-keeper circuits, holding the previous value of an input after the input goes high-impedance.
  • Optional pin-controlled power-down mode. This mode is controlled by a fuse not present in the Lattice chip.

Atmel Datasheet rev Jul 2010, see [1] for page 9 without the diagram cut off.

Lattice Datasheet rev Mar 1998.

The best view of the fuses is shown in page 5 of the Lattice datasheet, showing 5892 fuses.

The fuses are organized as follows:

  • 0-43: product term for asynchronous reset
  • 44-439: sum of 8 product terms for output logic block 0
  • 440-923: sum of 10 product terms for output logic block 1
  • 924-1495: sum of 12 product terms for output logic block 2
  • 1496-2155: sum of 14 product terms for output logic block 3
  • 2156-2903: sum of 16 product terms for output logic block 4
  • 2904-3651: sum of 16 product terms for output logic block 5
  • 3652-4311: sum of 14 product terms for output logic block 6
  • 4312-4883: sum of 12 product terms for output logic block 7
  • 4884-5367: sum of 10 product terms for output logic block 8
  • 5368-5763: sum of 8 product terms for output logic block 9
  • 5764-5807: product term for synchronous preset
  • 5808-5827: control fuses, 2 each, for output logic blocks
  • 5828-5891: 8 bytes of programmable electronic signature data

A security fuse is present, but its number is not in the datasheet.

Enable programming mode

In programming mode, the following pins have alternate functions. Pin numbering is for the DIP/SOIC/TSSOP(PLCC) package.

  • pin 2(3): PRogramming ENable
  • pin 13(16): -STRobe
  • pin 3(4): WRite
  • pins 4(5), 6(7), 7(9), and 9(11): ERase
  • pin 8(10): OLMC data

Programming mode is enabled by applying 12V to PREN. PREN must remain at 12V for at least 50 milliseconds before beginning any other operation.