User:Robertbaruch: Difference between revisions
Jump to navigation
Jump to search
Robertbaruch (talk | contribs) (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...") |
Robertbaruch (talk | contribs) 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.