• [^] # Re: Spec != RTL

    Posté par . En réponse à la dépêche Les UltraSparc sous GPL. Évalué à 3.

    Au sujet de ASIC / FPGA, il faut comprendre que l'on cherche a faire un micro-processeur.

    J'avais bien compris. Mais tu sais sans doute qu'on peut mettre des microprocesseurs dans les FPGA ... soit en dur dans le silicium (comme les Virtex4FX de Xilinx équipés d'un ou deux PowerPC 405), soit sous la forme de netlist (Nios chez Altera, MicroBlaze chez Xilinx, et puis le LEON dont on parlait plus haut).
    Tu sais aussi que Linux (ou μClinux) a été porté sur tous ces processeurs.

    Evidemment, les fréquences de fonctionnement n'ont rien à voir avec les processeurs PC haut-de-gamme, on est aujourd'hui dans la gamme 100 à 200 MHz pour un soft-core, et le double pour un hard-core (le tout sans radiateur ni ventilo !). Mais le but est bien différent de celui d'un CPU généraliste, ca on est dans une puce programmable ! On peut donc implémenter plein de périphériques sur mesure, parallèliser des coprocesseurs hardware pour des applications particulières, profiter de la reconfigurabilité de la puce (même en cours de fonctionnement), explorer des topologies multiprocesseurs ... les performances (vitesse de calcul ET consommation) ne sont pas du tout ridicules pour une application embarquée spécifique.

    Et la possibilité de modifier le design une fois le produit fini, pour corriger un bug ou ajouter une fonctionnalité, vaut de l'or !

    Un FPGA coute plus cher a l'unite mais si tu as besoin de grandes quantites les couts fixes lies a la fabrication d'un ASIC (dont les 1 a 2 annees de developpement) sont finalement ammortis.

    Effectivement, c'est valable sur une grande quantité. Plus performant, moins cher à l'unité, mais il faut être sûr de son marché.
    Le point où il devient plus rentable d'engager des gros coûts fixes pour produire un ASIC pas cher, que de payer un FPGA tout fait, recule de plus en plus. Par exemple, il y a un FPGA (un Spartan2, je crois) dans la Freebox, et ce n'est plus un produit de petite série ...

    On s'en sert souvent pour prototyper un micro-controlleur genre ARM par exemple.

    Pour certaines applications de traitement d'image en temps réel, où les débits de données sont importants, il n'est pas question d'utiliser un processeur généraliste (soit il consomme trop, soit il n'est pas assez performant), les délais de mise sur le marché et les volumes ne sont pas compatibles avec un développement ASIC, alors le FPGA est la seule solution !
    Il y a 4 ou 5 ans, les FPGA étaient sans doute principalement utilisés pour faire du prototypage, mais plus maintenant.

    Pour revenir aux outils de CAO (électronique et autres), il y a des solutions propriétaires qui tournent sous Linux [*], certaines ont même des versions démo gratuites, mais malheureursement rien de libre. Dans le domaine mécanique, il y a des codes de calcul, comme CodeAster, mais pas d'outil de design comme Catia. Pour l'électronique analogique, il y a Spice. Pour l'électronique numérique, je crois qu'on les a presque tous cités. Et l'optique, l'acoustique, la thermique, l'aérodynamique, l'énergétique ?

    Il est vraiment temps que les outils libres sortent du domaine quasi-exclusif de la programmation logicielle, et déferlent sur tous les domaines techniques !

    [*] La migration station->PC a réduit les coûts, mais la migration UNIX->Windows associée n'a pas que des avantages quand on développe ... Alors le couple PC+Linux est un bon compromis pour la CAO, et de + en + d'entreprises vont dans cette direction. Les éditeurs commencent (timidement) à suivre.