La carte d'extension RAM proposée pour l'ordinateur Apple IIgs est basée sur des puces NEC uPD424400-70 provenant de plusieurs modules SIMM de 1 mégaoctet. Chacune de ces micropuces stocke 1 M de grignotages et est logée dans un boßtier de type SOJ à 26 broches.
L'ordinateur Apple IIgs est alimenté par un processeur 65C816 - 16 bits, mais avec un bus de données 8 bits. La carte d'extension contient 4 Mo de RAM. La mémoire est divisée en quatre lignes de 1 Mo chacune. La ligne se compose de deux jetons de 1 m de grignotages, donc un total de huit jetons était nécessaire.
L'ordinateur dispose déjà d'un emplacement pour la carte d'extension RAM. Il affiche tous les signaux nécessaires, l'ordinateur s'occupe également de la régénération de la RAM dynamique. Par conséquent, la carte d'extension est assez simple. L'auteur a décidé de rendre la carte de petite taille, car le coût de sa fabrication en dépend, et a également mis toute la logique dans le FPGA GAL22V10.
Les signaux suivants sont présents sur l'emplacement d'extension RAM:
FRA0-FRA9 - Adresse de cellule multiplexée 10 bits, servie directement aux entrées d'adresse des puces RAM dynamiques
CROW0, 1 - deux bits pour sélectionner l'une des quatre lignes
/ CRAS - ligne d'adresse de signal stroboscopique de RAM dynamique
/ CCAS - Adresse de la colonne de déclenchement du signal de la RAM dynamique
FR / W - autorisation d'écriture en RAM, ce signal nécessite un traitement supplémentaire, voir ci-dessous
D0-D7 - bus de données, connecté directement aux lignes d'entrée / sortie des puces RAM
/ CSEL - une unitĂ© logique apparaĂźt sur cette ligne lors de la lecture depuis la RAM, elle doit ĂȘtre inversĂ©e et alimentĂ©e aux entrĂ©es / OE des puces RAM
MSIZE - indique à l'ordinateur le volume de la ligne: un - 256 ko, zéro - 1 Mo, ici cette ligne est connectée à un fil commun
14M, PH2CLK, A10-A15 - ne sont pas impliqués dans la carte proposée
Les signaux / CRAS et / CCAS doivent ĂȘtre dĂ©multiplexĂ©s pour obtenir des signaux / RAS et / CAS sĂ©parĂ©s pour chaque ligne. Pour cela, la puce 74F139 convient (ci-aprĂšs, il est entendu qu'il n'y aura pas de puces sĂ©parĂ©es sur la carte, au lieu de cela, il y aura un FPGA commun).

Le signal FR / W ne peut pas ĂȘtre envoyĂ© directement Ă l'entrĂ©e / WE des puces RAM dynamiques, et c'est pourquoi. Dans une opĂ©ration de lecture-Ă©criture normale, la ligne / RAS devient d'abord active (ce qui correspond Ă un zĂ©ro logique), puis la ligne / CAS. Au cours d'un cycle de rĂ©gĂ©nĂ©ration dynamique de RAM, au contraire, la ligne / CAS devient d'abord active, puis / RAS devient active. Mais les puces utilisĂ©es nĂ©cessitent qu'une unitĂ© apparaisse sur la ligne / WE avant que la ligne / RAS ne devienne active. Et le signal FR / W provenant d'Apple IIgs ne rĂ©pond pas Ă cette exigence. L'Ă©tat de FR / W pendant le cycle de rĂ©gĂ©nĂ©ration n'est pas dĂ©fini. Par consĂ©quent, un circuit est nĂ©cessaire qui dĂ©tecte un cycle de rĂ©gĂ©nĂ©ration et alimente une unitĂ© vers / WE.
La premiÚre étape consiste à identifier le cycle de régénération. Voici le chronogramme:

LâidĂ©e de lâauteur est dâutiliser un verrou «transparent». Le signal / CRAS pour lui est le signal d'entrĂ©e, / CCAS est le signal de verrouillage. Lorsque l'unitĂ© est allumĂ©e / CCAS, l'appareil passe le signal d'entrĂ©e Ă travers lui-mĂȘme: l'Ă©tat de la sortie change aprĂšs l'Ă©tat de l'entrĂ©e. Lorsque / CCAS passe de un Ă zĂ©ro, le verrou mĂ©morise le signal Ă l'entrĂ©e et maintenant il ne change pas Ă la sortie. Dans une opĂ©ration de lecture / Ă©criture normale sur / CRAS, zĂ©ro est prĂ©sent au moment de la commutation / CCAS de un Ă zĂ©ro. Et pendant le cycle de rĂ©gĂ©nĂ©ration sur / CRAS, il y en a Ă©galement un au moment de la mise Ă zĂ©ro / CCAS. Ensuite, lorsque / CCAS repasse Ă un, le verrou redevient transparent. Il rappelle une fleur fantastique de "Secrets de la troisiĂšme planĂšte", qui peut ĂȘtre Ă la fois un "miroir" et une "camĂ©ra".

Dans un premier temps, l'auteur a élaboré le schéma suivant:

Mais pour son transfert vers le FPGA GAL22V10, deux broches de sortie sont nĂ©cessaires. Par consĂ©quent, le rĂ©gime a dĂ» ĂȘtre simplifiĂ©. En fonctionnement normal, le signal FR / W prend la valeur souhaitĂ©e jusqu'au dĂ©clic, c'est donc Ă©galement possible.

Un verrou «transparent» peut ĂȘtre rĂ©alisĂ© Ă partir d'un multiplexeur, et Ă son tour, d'Ă©lĂ©ments logiques. Le schĂ©ma devient comme ceci:

Et aprĂšs la simplification - comme ceci:

Cette option est transférée au FPGA. Pour la compilation, l'auteur a utilisé WinCUPL. Ce programme est disponible sur le site Web d'Atmel. Il est brut et vole constamment, mais il a parfaitement fait face à la tùche. Programmeur - Genius G540.
Le cavalier SJ1 de la carte agit comme ceci. Si les broches 1 et 2 sont connectĂ©es, le signal / OE passe par le FPGA. Si les broches 2 et 3 sont connectĂ©es, elle est connectĂ©e Ă un fil commun. L'auteur n'Ă©tait pas sĂ»r que le schĂ©ma d'identification du cycle de rĂ©gĂ©nĂ©ration fonctionnerait. Par consĂ©quent, il a ajoutĂ© ce cavalier au cas oĂč la configuration FPGA devait ĂȘtre refaite.
Comme il s'est avéré que tout fonctionne, vous n'avez pas besoin de souder les broches, connectez simplement les bornes 1 et 2 avec une goutte de soudure.
Pour rĂ©duire la taille de la carte, l'auteur a appliquĂ© un condensateur de puissance pour quatre puces RAM et a placĂ© les puces elles-mĂȘmes des deux cĂŽtĂ©s de la carte.
Les puces électroniques dans les boßtiers SOJ sont difficiles à souder, et en particulier à souder, avec un fer à souder. L'auteur recommande d'utiliser un sÚche-cheveux.
Développez les puces correctement. En fin de compte, ils sont inversés. La broche 1 regarde vers le bas.
Certains trous traversants sont trop proches des coussinets. Ne les court-circuitez pas avec de la soudure.
Et les plates-formes 1 et 2 pour le cavalier, au contraire, se ferment.
Les condensateurs C1 - C3 ont une capacitĂ© de 0,1 ÎŒF, C4 - 10 ÎŒF.
L'auteur a commandĂ© les planches Ă OSH Park. Le revĂȘtement ENIG est appliquĂ© - or, mais trĂšs mince. Pour les cartouches de jeu ne convient pas - il sera rapidement effacĂ©. Et ici, la planche a Ă©tĂ© placĂ©e une fois de plus dans la fente.
L'auteur remercie
GGLabs pour le circuit d'une carte similaire, cela a beaucoup aidé, merci!
Le circuit fini s'est avéré comme ceci:

Fichiers:
Micrologiciel FPGA GAL22V10 , version du programme WinCUPL 5.30.4 appliquée
Carte , logiciel Eagle version 7.1 appliqué
Plan PDFGagné!
