Salut pharmaticien,
Il y a une multitude de métiers dans la conception hw et également son pendant SW.
Il a énormément d'interaction entre ces différents corps de métier pour arriver au produit final.
De nos jours, tu ne peux dissocier le côté HW du côté SW (bas niveau tout du moins) et il y a de fortes correspondances entre ces deux branches.
Le point de départ (qui est primordial) c'est la définition des besoins. Les experts techniques, les responsables stratégiques et commerciaux ainsi que le management d'une manière générale échange durant cette phase pour définir les grandes lignes et les objectifs du projet.
Ensuite, les architectes décrivent en détail le comportement de chaque module dans des spécifications.
Les designers retranscrivent ces documents en rtl (vhdl, verilog) ou en language plus haut niveau (C ou C++).
Les équipes de vérification, basé sur les spec, construisent en parallèle des scénarios de test pour vérifier que tout a été correctement implémenté par l'équipe design et également vérifier que les spec ne peuvent pas être interprétées différemment (une bonne spec ne doit pas laisser place à l'interprétation
)
Ensuite vient toute la partie "back-end". Elle consiste a synthétiser le design (convertir le rtl en porte logiques liées à une techno) puis faire l'analyse "timing" et assurer un bon clock balancing (s'assurer que l'horloge arrive à chaque porte à peu près en même temps) à travers le design.
Ce sont des outils qui font cela mais le point clef est de leur fournir les bonnes contraintes... C'est le boulot des ingénieurs. Ils doivent également corriger tous les problèmes liés à la propagation des signaux.
En parallèle de ça, une autre équipe de vérification travail à vérifier que fonctionnellement tout marche encore après la synthèse/timing closure.
Il y a une autre équipe qui travaille sur la DFT(design for test). C'est toute la logique qui est rajoutée pour pouvoir tester le silicium une fois qu'il sort de la fab. Cela est également vérifié par les équipes de vérification.
Il y a ensuite les équipes de "layout" qui basé sur les fichiers fournis par la synthèse, placent physiquement les portes sur les "masques" (ce n'est pas vraiment ça mais je simplifie
). Encore une fois c'est un outil qui fait le plus gros mais le boulot de l'ingénieur est de fournir les bonnes contraintes et éventuellement refaire à la main quelques connexions que l'outil n'arrive pas à faire. Le gros problème est souvent lié à la congestion. L'outil cherchant à faire passer trop de fils au même endroit.
Encore une fois, une équipe de vérification tourne des simulations basées sur les fichiers fournis par les équipes de layout. Il s'agit de simulations "Gate back-annotées post layout". Cette équipe travaille également avec les ingénieurs de test (personnes qui testent le silicium une fois sorti) pour définir l'ensemble des scénarios de test nécessaire pour assurer une couverture entre 99.8% et 99.9% de la logique interne.
Les ingénieurs produits (qui test le silicium) travail sur la mise en place et l'optimisation des patterns de test sur les testeurs ainsi qu'à l'amélioration des méthodes de couverture...
Voilà, j'ai été très superficiel... Il y a une multitude d'interactions entre ces équipes et les échanges ce font en parallèle. Ce n'est pas un processus purement séquentiel.
Je peux essayer de te détailler une ou deux parties si besoin. Personnellement je connais mieux la partie vérification et DFT...
Message édité par Nono0000 le 27-11-2016 à 08:56:41
---------------
CPU: 6950X 4.3Ghz (Uncore: 3.7Ghz) WC HM -- Mem: 4x8Go 3200Mhz 14-16-17-32-1T -- Mobo: Asus X99 Deluxe -- GPU: 4080 (GPU: 3015Mhz, VRAM: 12200Mhz) -- Carte Son: X-Fi Titanium Fatal1ty Professional -- SSD: M.2 PCIE XP941 -- Ecran: DELL AW3423DW QD-OLED