« Tout est analogique ! » Je le disais avec emphase, frappant souvent la table pour renforcer mon effet. Ceux dans la pièce qui me connaissaient continuaient leur travail, ceux qui ne me croyaient pas pouvaient être vus en train de lever les yeux au ciel, mais parfois je captais l'attention d'un nouveau venu ou de quelqu'un tout juste sorti de l'école, et ils pourraient demander « et le numérique alors ? »
Nous étions au milieu des années 1980, et je travaillais chez Commodore Business Systems en tant qu'ingénieur concepteur senior, ce qui signifiait que mes erreurs étaient reproduites par millions. Je n'avais jamais été à l'université et j'avais gravi les échelons en commençant comme réparateur de télévision agréé. Dire que j'étais autodidacte n'aurait pas été tout à fait vrai car une fois entré dans différents départements d'ingénierie, j'ai appris des personnes brillantes qui m'entouraient. Je m'efforçais également d'apprendre de mes erreurs, qu'elles soient miennes ou celles des autres.
Si nous passons outre l'époque habitée par la "Génération ECL", la "Génération TTL" subséquente avait la tentation de penser en termes de connotation numérique, à savoir qu'ils en venaient à appeler les signaux "haut" ou "bas", ou, pour des mots encore plus courts, un "1" ou un "0". Simple, n'est-ce pas ? Bien sûr, maintenant nous connaissons et utilisons des termes comme Intégrité du Signal (SI) et Réseau de Distribution d'Énergie (PDN), mais à l'époque, les processeurs dans les équipements industriels légers et de consommation étaient relativement nouveaux.
Soudain, nous avions une génération de nouveaux ingénieurs qui "faisaient du numérique, mais pas de l'analogique". J'ai fini par découvrir que la plupart d'entre eux voulaient dire qu'ils ne s'occupaient pas des boucles de masse, des émissions/susceptibilités FCC, de la conception des alimentations et même des circuits de réinitialisation étaient hors de leurs zones de confort. Personnellement, je voyais le travail comme étant tout englobant, un exemple parfait étant que la première chose que j'enseignais à tout ingénieur correctement formé qui rejoignait mes rangs était comment calculer quelle serait la température de jonction d'une puce.
Par exemple, lorsque je suis arrivé chez Commodore, j'ai découvert que le circuit de réinitialisation proposé, pour ce qui deviendrait le C116/C264/Plus4, était composé d'un circuit dans lequel quelqu'un avait connecté un condensateur à une résistance, puis à l'alimentation +5V, et enfin à l'entrée d'une porte logique. Je me suis exprimé très clairement en déclarant que cela ne fonctionnerait tout simplement pas. Imaginez un jeune aux longs cheveux, sans formation, vous dire cela lors de sa première semaine de travail là-bas. Au moins, je n'avais pas encore commencé à enlever mes chaussures au travail.
Alors l'ingénieur, qui s'avérait être l'ingénieur sortant puisqu'il partait vers des environnements moins stressants, m'a patiemment expliqué que le fondateur de l'entreprise avait fixé une limite au nombre de puces qui pouvaient être dans le nouvel ordinateur, ce nombre était de neuf. J'ai patiemment expliqué que cela n'avait pas d'importance et que le circuit ne fonctionnerait pas. La réponse de Commodore a été de me mettre en charge de la nouvelle ligne d'ordinateurs et maintenant, c'était mon problème. J'ai ajouté un circuit de réinitialisation dédié sous la forme d'une puce de minuterie 555 et le fondateur ne m'a pas renvoyé, en fin de compte, nous avions besoin que cela fonctionne à chaque quantité, faible et élevée.
Avance rapide jusqu'à ma dernière diatribe ; j'étais responsable de la conception et du matériel du Commodore C128, et je devais intégrer un système à double processeur — avec deux processeurs graphiques et un total de 144mB de DRAM — sur une carte à 2 couches, et faire en sorte que cela fonctionne en millions d'exemplaires (et nous sommes en 1985). Au cœur du problème, c'est que la plupart des concepteurs peuvent s'en sortir avec quelque chose qui fonctionne à 95 % ou dans la plupart des tensions ou combinaisons de puces, mais un million de fois un problème de 2 % représente énormément de machines qui restent sur des palettes et dans des tas de ferraille. Ces chiffres peuvent et vont révéler les problèmes de sensibilité aux marques de puces et aux variations et à chaque combinaison de température et de tension.
J'ai travaillé dur pour faire comprendre à quiconque voulait bien écouter que ce qu'ils appelaient un « bas » était en réalité une tension de seuil de 0,8V telle que perçue par la puce lorsque la puce de commande pouvait avoir une sortie aussi élevée que 0,4V, ne laissant qu'une maigre marge de bruit de 0,4V. Nous avions l'habitude de plaisanter en disant que les portes OU étaient « plus bruyantes », car n'importe quelle pointe de plus de 0,4V sur l'une ou l'autre entrée pouvait amener la sortie à commencer à devenir invalide.
Pour compliquer encore la difficulté de ce que nous faisions, c'est le fait que nous n'avons jamais, au grand jamais, pensé à utiliser une carte multicouche dans la division des consommateurs. Pas une seule fois. Cela signifiait que nos pistes d'alimentation n'étaient rien de plus que de plus grandes pistes de signal selon les normes d'aujourd'hui, et l'impédance des pistes d'alimentation et de signal variait largement en fonction de la chance de la disposition.
C'étaient les jours avant l'existence d'outils pratiques pour prédire les mauvais comportements ; par conséquent, nous supposions juste que le comportement serait mauvais. Même les concepteurs de circuits intégrés n'avaient pas les outils leur indiquant si le chip correspondait au schéma, seul la construction du chip et son test pouvaient fournir la réponse ultime. Il en allait de même pour les systèmes, nous devions les construire pour voir ce que nous avions.
J'avais deux principes de base lorsque je commençais un nouveau design ; le premier était de quadriller toute l'alimentation et la masse, tous les composants devraient avoir deux chemins vers l'alimentation et la masse, ce qui signifiait en théorie qu'il n'y aurait pas de lignes mortes. Le second était vraiment un point de départ, et c'était de placer et de router les DRAMs qui étaient de loin les bêtes les plus délicates de l'époque. Toutes les DRAMs n'étaient pas fabriquées correctement, toutes les alimentations ne maintenaient pas leurs tolérances (les DRAMs sont sensibles à la tension sous certains aspects), et les puces même qui créaient le timing avaient des problèmes. Notre seul avantage était d'essayer de s'assurer que la disposition du PCB d'alimentation ne contribuait pas également à ces problèmes.
Ensuite, nous instancierions les puces graphiques, qui incluaient les horloges maîtresses—les fréquences fondamentales les plus élevées sur le circuit. Nous concevions automatiquement un petit blindage pour encaser cette partie du design, notre péché avait commencé et ainsi que la réparation de ces péchés.
Une fois terminé, nous aurions généralement un désordre selon les normes d'aujourd'hui, et encore une fois notre test n'était pas de savoir si nous pouvions produire quelques unités, ou quelques milliers. Un million était le minimum et généralement, nous dépassions les cinq millions.
Revenant aux hauts et aux bas, les signaux de l'époque pouvaient sonner comme des cloches ou se manifester avec une demi-douzaine de réflexions ou de diaphonies qu'ils avaient captées en chemin. Il n'y avait plus de place sur le circuit pour des masses, des blindages ou des séparations et il n'était plus question dans le planning de « repartir de zéro » de manière significative. Cela signifiait que nous devions comprendre et nous adapter à notre environnement. Triste à dire, ce que nous faisions alors était de « régler » le désordre pour qu'il semble fonctionner correctement. Nous vivions avec des artefacts tant qu'ils se stabilisaient pendant les moments critiques, comme les transitions de signaux de commande DRAM.
Une chose que nous faisions était de recourir à la terminaison en série par poignées. Nous avons essayé toutes les valeurs jusqu'à 68 Ohms mais le point idéal pour nous était typiquement 22 Ohms, 33 Ohms si nous avions le temps pour le composant RC supplémentaire. J'ai également trouvé plusieurs cas de soulèvements de masse et j'ai aussi dû régler manuellement une ligne d'adresse en ajoutant un fil discret : pour 5,7 millions d'unités.
J'ai montré aux ingénieurs « numériques » nouvellement arrivés qu'on ne pouvait pas compter le temps qu'un signal passait à osciller comme étant soit haut soit bas jusqu'à ce qu'il cesse d'osciller. Soudain, l'analogique avait fait son entrée dans leur vision numérique du monde alors que je les forçais à refaire leurs calculs de temporisation basés sur des artefacts de la vie réelle. « C'est tout analogique », déclarais-je haut et fort jusqu'au jour où un collègue ingénieur nommé Hedley demanda : « Et les effets quantiques ? »
Après cela, ma devise est devenue « TOUT EST ANALOGIQUE… jusqu'à ce que, bien sûr, vous en arriviez aux effets quantiques, auquel cas ce n'est pas le cas ».
Voulez-vous lire d'autres histoires inspirantes sur la technologie ? Lisez des articles dans la Newsletter OnTrack d'Altium, sélectionnés par Judy Warner. Ou découvrez comment Altium peut vous aider avec votre prochain design de PCB et parlez à un expert chez Altium à propos des applications des cartes de circuits imprimés et de l'utilisation du seul logiciel de conception de PCB unifié sur le marché.