User:Robertbaruch: Difference between revisions

From Proghq
Jump to navigation Jump to 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...")
 
No edit summary
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.