OGD1 fonctionne comme carte vidéo

Posté par . Modéré par Mouns.
22
2
nov.
2008
Matériel
Le but du projet Open Graphics est de fournir une carte vidéo 3D aux spécifications ouvertes et aux pilotes libres.

La carte de développement OGD1 est maintenant capable de fonctionner comme une « vraie » carte vidéo, bien que le support du mode VGA soit encore à réaliser. De plus le projet, soutenu par l'OHF (Open Hardware Fondation), peut depuis le 12 août recevoir des dons via celle-ci.
  • # Et pourquoi pas un objectif plus générique ?

    Posté par (page perso) . Évalué à 3.

    Ce qui serait excellent, ce serait d'avoir non pas un projet de carte vidéo libre, mais un projet plus générique comme un FC-PGA sur une carte PCI-Express avec des sorties numériques audio (sp-dif) et vidéo (dvi, hdmi, displayport).

    Ainsi, au boot du noyau on uploade le microcode que l'on veut pour avoir au choix un p'tite carte 3D, ou une carte audio surpuissante avec un mixage 32 voies en hard, etc etc... Ca intéresserait sûrement plus de monde.

    M'enfin, avec des "et si..." :D
    • [^] # Re: Et pourquoi pas un objectif plus générique ?

      Posté par (page perso) . Évalué à 2.

      Techniquement, notamment coté hardware, ce serait "simple" ?
    • [^] # Re: Et pourquoi pas un objectif plus générique ?

      Posté par (page perso) . Évalué à 5.

      Juste "un peu" cher :-) Sauf dans le cas de diffusion restreinte (ce qui, à mon avis, sera la cas d'OGD1).

      Les circuits reprogrammables sont beaucoup plus chers que ceux gravés une fois pour toutes. De plus, les performanes sont bien meilleures pour des circuits gravés lorsqu'on atteinds de grandes complexités. En bref: pas faisable.
    • [^] # Re: Et pourquoi pas un objectif plus générique ?

      Posté par . Évalué à 6.

      Avant de créer du matos à base de FPGA libre (un peu comme http://www.armadeus.com/ que j'ai vu passer récemment ici), il faudrait des "synthétiseur" (c'est quoi le terme exact ?) libres, car pour l'instant, ce n'est pas le cas, ou du moins à ma connaissance. C'est le problème avec tous ces projets : le hard est libre, le soft (drivers) est libre, les sources du firmware sont libre, mais il n'y a aucun moyen de générer le code pour le FPGA avec du soft libre. Donc si on veut du tout libre, on ne peut pas programmer le FPGA, à part pour sa fonction d'origine, comme ici, une carte vidéo. Ce qui est une grande limitation, je trouve.

      Ne connaissant pas vraiment le domaine, est-ce que quelqu'un a plus d'infos là-dessus ? Parce que les FPGA m'intéressent beaucoup, mais le fait de ne pas pouvoir les utiliser sur une bécane 100% libre m'a toujours rebuté.
      • [^] # Re: Et pourquoi pas un objectif plus générique ?

        Posté par (page perso) . Évalué à 2.

        Bécanne 100 % libre ?

        C'est oublier un peu vite le microcode du micro processeur par exemple...

        Un PC est loin d'être 100 % libre ! Utopie ?
        • [^] # Re: Et pourquoi pas un objectif plus générique ?

          Posté par (page perso) . Évalué à 4.

          Je pense qu'il parlait du soft pur qui tourne sur le microprocesseur.

          Sinon, concernant les outils de synthèse libre, j'ai dernièrement entendu parlé (par mon prof de VHDL) d'un projet libre qui pouvait le faire: http://www-asim.lip6.fr/recherche/alliance/

          Bon, il ne s'agit que d'un sous-ensemble de VHDL, mais il paraît que ça fonctionne.
          En particulier, il ne supporte pas tout ce qui est programmation séquentielle (il faut tout faire en programmation concurrente). Donc pas le droit aux blocs "processus". Il faut dire que c'est probablement le plus dur à compiler ...
          Ceci dit, même si théoriquement tout est possible, dans les cours que je suis, on utilise intensivement les processus tout de même.
          • [^] # Re: Et pourquoi pas un objectif plus générique ?

            Posté par . Évalué à 5.

            Alliance un sous ensemble VHDL .... ahem, je vais un peu défendre le travail du LIP6, car Alliance/Coriolis c'est une chaine complète de CAO libre permettant d'aller de la description VHDL à la description physique d'une puce en masques pour aller à la fonderie, cela en passant par moult outils de génération de netlists, optimisations, synthèse, simulation, etc.

            Donc non seulement ça fonctionne, mais ça fonctionne très bien.

            Et puis bon, ya vraiment pas besoin de blocs de programmation séquentielle pour faire de la description matériel. Ça à aucune signification physiquement parlant ;)
            • [^] # Re: Et pourquoi pas un objectif plus générique ?

              Posté par . Évalué à 2.

              Sauf que tout le monde code comme ça.

              Est-ce que la suite est encore maintenu ? Je crois qu'il n'y a pas vraiment de lib pour des techno rescentes.

              "La première sécurité est la liberté"

              • [^] # Re: Et pourquoi pas un objectif plus générique ?

                Posté par . Évalué à 6.

                Tout le monde code comme ça pour écrire un logiciel, par pour décrire une architecture matérielle.

                Quand on branche un fil entre une sortie de transistor et l'entrée d'un autre, on effectue pas une affectation à un instant T suite à un évènement ou parceque le compilo est rendu à la bonne ligne. L'état du fil va progresser de manière continue dans le temps et influencer toutes les transistors qui y sont connectés.

                Et ajouter une couche d'abstraction pour mieux comprendre son code c'est perdre des performances lors de la synthèse du composant car ça rajoutera, forcément, une part de logicque supplémentaire pour traduire cette notion d'affectation à un instant T.

                Bien entendu on pourra venir claironner en disant "oui il y a bien tout ce qui est bascule et compagnie pour faire des registres", mais encore une fois on ne fait que brancher des cables dont un qui à role d'horloge, et c'est l'assemblage des transistors composants la bascule qui fait que ça fonctionne à un instant T, pas le fait d'avoir déclarer son code d'une certaine manière dans le langage utilisé.

                Contrairement à un logiciel ou le code est un résultat, dans la description matérielle il n'est qu'un outil pour obtenir un résultat.


                Sinon oui la suite Alliance est encore maintenue, elle occupe quelques thésards et profs (même si c'est vrai que les archives ne brillent pas par leurs dates peu récentes), plus sur le côté Coriolis par contre. Maintenant dire qu'elle n'a pas les nouvelles technos de disponibles, ça manque de pertinence. Le process de fabrication reste à la discrétion des fondeurs, ce sont des données très difficiles à obtenir, tout leur buisness repose là dessus.
                Et si il s'agit de dessins de masques on peut tout à fait les dessiner en utilisant une unité de donnée arbitraire (c'est le cas dans Alliance) qui sera remplacée par la suite par les données du fondeurs, ça permet de vérifier les règles de dessin et la validité des masques en attendant.

                Après, les différentes portes de la bibliothèque précaractérisée fournie (SXLib) peuvent sembler basiques, mais elles fonctionnent bien et sont plutôt performantes, de plus rien n'empêche de définir ses propres portes si on est mécontent de celles fournies.

                Pour l'usabilité du soft, là Alliance ces deux dernières semaines, ça m'a quand même permis de faire un Mips R3000 32 bits avec pipeline 5 étages fonctionnel (c'est le projet de premier semestre de M2 en Architecture et Conception des Systèmes Intégrés à Jussieu justement), c'est certes pas gros, certes pas compliqué, mais c'est une suite Open Source qui à permis de faire sa description comportementale, physique, son placement et routage et la génération de masque. Et sur la page d'acceuil du projet, me semble qu'il y a deux projets plutôt impressionnant d'un point de vue technique qui prouvent bien que cette suite est fonctionnelle.

                Derniers points, certains softs de la suite, maintenant distribués par Avertec, sont reconnus comme étant des pointures dans leurs domaines et son courament utilisé dans l'industrie (notament par Bull et Infineon), donc avec tout ça on peut considérer que Alliance est une suite CAO d'actualité, efficace et fonctionnelle. CQFD.
                • [^] # Re: Et pourquoi pas un objectif plus générique ?

                  Posté par . Évalué à 2.

                  Pour info, la microélect est mon métier depuis 7 ans, j'ai bossé dans une "design house" pendant 5 ans.
                  Le VHDL se code avec 2 process mini, l'un pour décrire les registres, l'autre pour la partie asynchrone. Alliance utilisait une construction bizarre pour générer les latchs qui ne permet pas de faire des processes.

                  Je sais que certain bout sont avancé mais ils ont été vendu à d'autres boites.

                  "La première sécurité est la liberté"

                  • [^] # Re: Et pourquoi pas un objectif plus générique ?

                    Posté par . Évalué à 2.

                    Je ne suis pas d'accord sur les deux process. Effectivement, on trouve pas mal de concepteurs qui utilise cette méthode mais, personnellement, je ne vois pas l'intérêt d'utiliser un process pour faire de l'asynchrone. Sans compter qu'il y a une troisième école : 3 process pour décrire une machine d'état : un process synchrone pour l'état, un process asynchrone pour faire évoluer l'état et un autre process synchrone pour les sorties. Mais après, les goûts et les couleurs....
                  • [^] # Re: Et pourquoi pas un objectif plus générique ?

                    Posté par . Évalué à 2.

                    Oui, et comme les process ne sont pas obligatoires (la preuve alliance fonctionne sans), au moins ça force a faire une description comportementale pas très éloignée du dataflow. Maintenant ça enlève l'aspect, "je code comme je coderais un programme mon composant que je vais synthétiser sur un FPGA", mais au moins on sait à quoi s'attendre après la synthèse. Cela dit j'suis partisan de la seconde méthode, le développement est plus rapide avec mais c'est vraiment du troll de débattre si oui ou non c'est mal de pas avoir de process.

                    Le fait est que sans, ya une suite logicielle libre complète qui fonctionne très bien. Et comme c'est open source, libre à un développeur de l'implémenter, mais comme c'est pas nécessaire, honnêtement je dirais qu'il y a mieux à faire ailleurs.

                    Sinon pour les bouts avancés, oui la plupart des gens qui bossaient dessus ont fondés leur société à partir sur ça, c'est le cas pour (Hi/X)Tas, le logiciel de mesure du temps de propagation dans un circuit.
          • [^] # Re: Et pourquoi pas un objectif plus générique ?

            Posté par . Évalué à 2.

            Merci beaucoup pour ce lien, je ne connaissais pas. Je vais regarder ce qu'on peut faire avec aujourd'hui, avec le hard dispo pour le "moyen public".
        • [^] # Re: Et pourquoi pas un objectif plus générique ?

          Posté par . Évalué à 2.

          Raté, mon CPU est un RISC ...
          Bon, effectivement, mon hard est plutôt fermé (comme le tiens), mais il existe un consortium ( http://www.power.org ) qui permet d'avoir toutes les specs de l'archi, et il existe même plusieurs constructeurs qui en fabriquent ! (Freescale, IBM, AMCC au moins)
          Bon, pour revenir au sujet, oui je parlait plutôt du coté soft, qui _peut_ être 100% libre (ok, je fais encore une exception avec le BIOS/OpenFirmware) si on a la volonté. Et ce n'est pas en invoquant la raison du "plus petit dénominateur commun" ("de toutes façons il y a déjà un composant pas libre, alors pourquoi pas installer plein d'autres trucs proprios ?" ....) qu'on fera avancer les choses.
    • [^] # Re: Et pourquoi pas un objectif plus générique ?

      Posté par (page perso) . Évalué à 2.

      la philosophie de faire une seule chose, et de bien la faire s'applique tout autant au hardware libre

      ensuite, comme c'est du hardware libre, d'autres pourront s'en inspirer pour par exemple créer un projet plus générique :)
      • [^] # Re: Et pourquoi pas un objectif plus générique ?

        Posté par . Évalué à 1.

        Tout ne sera pas libre. Par exemple, le coeur même 3D.

        Pour fondre une puce, ils vont devoir trouver 300k€, c'est trop risquer de fournire tout le code et avoir un concurrent qui arrive sans ses cout de R&D à couvrir.

        "La première sécurité est la liberté"

        • [^] # Re: Et pourquoi pas un objectif plus générique ?

          Posté par . Évalué à 3.

          Bah je comprends bien le problème, mais dans ces cas là on n'est plus sur une philosophie libre alors. On pourrait dire exactement la même chose d'un logiciel ou d'un système d'exploitation libre : "On peut libérer des bouts, mais pas le noyau quand même, vous vous rendez compte, un concurrent pourrait arriver et tout copier sans payer de R&D".

          C'est encore une fois le mode de financement du developpement libre qui est problématique (le fait qu'on doive trouver les sous avant ou pendant le développement, car on ne va pas pouvoir rendre les clients prisonniers après). C'est juste que l'investissement sans avantage par rapport à la concurrence, ça ne colle pas trop avec l'idéologie actuelle : aucune entreprise ne souhaite investir autant pour elle-même que pour ses concurrents (alors qu'à la base, ce n'est pas complètement idiot), il y a cette idée de ne pas vouloir favoriser les "tricheurs" (en fait, tout le problème est que le résultat d'une entreprise est comparé à la concurrence et pas considéré comme une valeur absolue). C'est un vrai problème, mais on ne peut pas le résoudre par une pirouette du style "je fais du libre mais pas tout quand même, parce qu'autrement n'importe qui peut me piquer mon boulot". C'est pas du libre comme l'entends RMS ça, et ça ne devrait pas être considéré comme un exemple.
          • [^] # Re: Et pourquoi pas un objectif plus générique ?

            Posté par . Évalué à 3.

            Le projet a toujours parlé de la documentation (il existe un modèle C en GPL) pas du code HDL en tout cas pas avant de l'avoir rentabilisé.

            "La première sécurité est la liberté"

          • [^] # Re: Et pourquoi pas un objectif plus générique ?

            Posté par . Évalué à 3.

            Euh il faut comparer ce qui est comparable...

            Tu n'as pas besoin de 300kE pour compiler un soft...
            • [^] # Re: Et pourquoi pas un objectif plus générique ?

              Posté par . Évalué à 2.

              Tu n'as pas besoin de 300kE pour compiler un soft

              Justement, ça devrait jouer dans l'autre sens.

              Logiciel: R&D: beaucoup; fabrication(compilation): peanuts; vente: peanuts
              Hardware: R&D: beaucoup; fabrication: beaucoup; vente: quelque chose.

              Si tu "pompes" un LL, en gros tu ne payes quasiment rien, tu peux le distribuer sans investissement. Si tu "pompes" les caractéristiques d'un matos libre, OK, tu économises la R&D, mais il faut quand même payer la fabrication, distribuer le matos, le vendre etc. Ça demande un certain investissement.

              Mon opinion, c'est que l'argument "Y'a beaucoup de R&D, on ne va pas tout refiler non plus gratos à nos concurrents", c'est un argument classique contre les LL, et sur ce site, on est plutôt d'accords pour dire que c'est un argument spécieux. Je ne vois absolument pas pourquoi un argument microsoftien pourri devrait devenir magiquement acceptable quand on parle d'un projet de matériel libre. OK y'a beaucoup de sous en jeu, et peu de modèles économiques assurent un retour sur investissement quand on fait du libre. Mais vous croyez que par exemple Canonical ne dépense pas beaucoup de sous? Je ne vois pas en quoi la situation est différente, et pourtant quand Canonical ne diffuse pas les sources d'un de ses projets, on dit qu'ils ne jouent pas le jeu du libre blablabla (en quoi je suis complètement d'accord).

              Donc OK pour dire qu'il vaut mieux une carte graphique semi-libre (avec des specs publiques et pas mal d'info sur son fonctionnement) que la situation actuelle; ça ne me parait pas discutable. Maintenant, si cette carte libre est libre sauf quelques petits trucs, ça veut dire qu'il est impossible pour un industriel de prendre ses caractéristiques et de la refaire à l'identique; c'est impossible pour un universitaire de disséquer son fonctionnement; c'est impossible pour un ingénieur de l'étudier et de l'améliorer, et de publier ses modifications. Donc OK c'est bien d'avoir une doc publique et tout, mais "presque libre" n'a jamais voulu dire "libre".
              • [^] # Re: Et pourquoi pas un objectif plus générique ?

                Posté par (page perso) . Évalué à 5.

                L'article «Build It. Share It. Profit. Can Open Source Hardware Work?» de wired intéressera sans doute les personnes avide de matos libre.

                http://www.wired.com/techbiz/startups/magazine/16-11/ff_open(...)
              • [^] # Re: Et pourquoi pas un objectif plus générique ?

                Posté par . Évalué à 1.

                Et autrement tu as monté ta boîte qui fait du logiciel ou du matos libre ?

                Pour survivre il faut parfois faire des concessions et revoir ses plans. Sur du logiciel, en général, la solution facon de s'en sortir c'est de vendre du support (même si ce n'est pas forcement trivial en fonction du produit). Sur une puce c'est assez limité comme business model non ?
              • [^] # Re: Et pourquoi pas un objectif plus générique ?

                Posté par . Évalué à -1.

                Mais vous croyez que par exemple Canonical ne dépense pas beaucoup de sous? Je ne vois pas en quoi la situation est différente, et pourtant quand Canonical ne diffuse pas les sources d'un de ses projets, on dit qu'ils ne jouent pas le jeu du libre blablabla (en quoi je suis complètement d'accord).

                Super exemple Canonical, ils ont toujours ete deficitaire, ils n'ont jamais fait un dollar de benef.

                Alors l'argument, microsoftien ou pas importe peu, ce qui importe c'est si il est fonde ou pas. Et force est de reconnaitre que je ne connais pas UNE SEULE societe qui fasse du libre et qui fasse de l'argent sans vendre du support.

                Hors avec une carte 3D, je vois mal quel support tu vas vendre...
          • [^] # Re: Et pourquoi pas un objectif plus générique ?

            Posté par . Évalué à 5.

            Tout le problème est dans le business model!
            En logiciel, on peut faire un logiciel "générique" qui ne rapportera rien parce qu'il sera utilisé tel quel, et à côté avoir une forte activité service pour les demandes d'adaptation, extensions, etc.
            Il suffit de voir combien de "grands" du logiciel libre fonctionnent autour du produit plutôt que du service (je parles des logiciels libres, pas de ceux qui ont une double activité libre-proprio): quasiment aucune (je mets "quasiment" parce que je n'ai pas vérifié: peut-être aucune!!).

            Je viens de lire l'article sur l'open-source hardware et leurs business-model: tous ou presquent fonctionnent autour de marchés de niche. Ce qui veut dire qu'ils peuvent être compétitifs sans capter l'attention de grands groupes.
            Arrêtez de hurler, je viens à l'argument.

            Pour un marché de niche, la plupart du temps, quelques boîtes proposent un produit qu'elles ont développé en interne, et vu la taille du marché elles ont besoin d'augmenter le prix pour rentabiliser tout ça.
            En passant en opensource et donc en mutualisant le coût du développement, elles cassent cette logique "marché de niche donc prix élevé". Tout le monde semble s'y retrouver: les start-up du matériel "ouvert" et leurs clients. On peut même avoir une activité de service autour des adaptations.

            Maintenant, prenons le cas des puces pour ordinateur (procs, puces graphiques, DSP, etc.). Le marché est gigantesque! Même si le coût de développement est élevé (et il devient astronomique!), le marché est si large que ça passera quand même.
            Mais c'est un marché contrôlé par quelques boîtes qu'on peut difficilement qualifier de PME.

            Supposons que je publie (supposons hein! en design IC moi j'ai que des bases lointaines) tout le nécessaire pour faire un processeur de PC.
            Il faudra une fortune pour le produire, ça limitera la concurrence! Les grands groupes ont leurs outils à eux sur lesquels ils ont l'expérience, donc je ne pense pas qu'ils viendront me piquer mes recettes tout de suite (je rappelle qu'on suppose que je suis compétitif).
            Je vais maintenant développer deux freins au succès: l'un qu'on peut espérer changer un jour, et l'autre vachement moins...
            1 - Si je fais trop de part de marché, les grosses boîtes vont se pencher sur mes designs et m'exploser à coups de procès pour violation de brevets! Pas la peine de détailler, on a suffisamment parlé des brevets ici pour savoir que ce n'est pas simplement plausible, ce serait très facile pour eux.
            2 - OK! J'ai un super design, open source, j'ai réussi à vendre la première génération, et maintenant toute la communauté peut me venir en aide!
            Combien de personnes ont les compétences pour améliorer un Pentium-killer?? Combien pour les circuits de cartes graphiques? etc. etc. Réponse pour ceux qui ne savent pas: très très très peu!
            Du coup, à part les employés des grosses boîtes proprio, qui est capable de m'aider? Ceux qui ont les compétences travaillent déjà pour la concurrence et ne sont sûrement pas suicidaire au point de pousser les autres. Ceux qui ne travaillent pas dans le milieu ne seront pas qualifiés: je dois me démerder pour recruter des designers qualifiés.
            Parce que faut pas rêver: on peut apprendre à programmer dans son coin et devenir bon avec l'expérience, mais designer une puce dans son coin et devenir bon sans jamais avoir eu de retour sur ce que ça donne en fonderie (et pour cause, apprendre le C ça coûte pas X dizaines de milliers d'€ par compilation...), et sachant que c'est beaucoup plus dur de trouver de la doc sur internet, c'est de l'utopie. C'est encore plus vrai pour les puces de processeurs et cartes graphiques: la connaissance est dans les boîtes et à peu près nulle part ailleurs. Combien de labos de recherche en micro-électronique travaillent encore sur ce genre de puces sans être à la traîne sur ce que fait l'industrie?
            Avantage sur la mutualisation des coûts: zéro!

            Désolé pour la tartine et j'espère que c'est cohérent parce que c'est d'une traite...
        • [^] # Re: Et pourquoi pas un objectif plus générique ?

          Posté par . Évalué à 2.

          L'accès à une fonderie pour 300 K€ ? Ça me semble vraiment peu. Sur les dernières technos (type 65 nm et 45 nm), c'est plutôt 1 M€ juste pour les masques. Après, il faut rajouter quelques dizaines à quelques centaines de milliers d'euros par lot (un lot, c'est en général 25 wafers (galette de silicium) et le nombre de puces par wafer dépend de la taille de celles-ci).
          • [^] # Re: Et pourquoi pas un objectif plus générique ?

            Posté par . Évalué à 2.

            Je crois que c'est une histoire de semi-custom ou pas.

            Il existe des techno un poil moins chère qui ressemblerait à des fpga dont tu routerais uniquement les 2 derniers étages de métal.

            "La première sécurité est la liberté"

            • [^] # Re: Et pourquoi pas un objectif plus générique ?

              Posté par . Évalué à 2.

              Ah oui, les prédiffusés (les cellules sont pré-existantes, ainsi que les premiers niveaux de métaux qui permettent d'alimenter ces cellules et de relier entre eux les différents transistors composant ces cellules. Ensuite, il reste juste à métalliser les derniers niveaux pour créer la fonction voulue). Je n'y avait pas pensé. Mais je ne pense pas que ce soit une bonne idée.

              Ces technos ont toujours existé chez les fondeurs: cela permet de créer une puce sur mesure à moindre coût (mais au dépend de la performance). Je ne sais pas si cela est disponible sur les dernières technos (et ça m'étonnerait un peu, c'est un marché de niche et il ne permet donc pas de rentabiliser une usine à plusieurs milliards de dollar). Ces dernières années, elles sont un peu revenues en grâce, surtout à cause du gouffre énergétique que sont les FPGA. Mais à mon avis, cela n'est plus valable pour les toutes dernières technos de FPGA (Virtex 5 de Xilinx et Stratix IV d'Altera) qui se sont beaucoup améliorés sur l'aspect consommation (un FPGA consomme toujours énormément plus qu'un ASIC mais c'est beaucoup mieux que les générations précédentes).
              • [^] # Prédiffusé une alternative au FPGA

                Posté par . Évalué à 3.

                Je confirme que les prédiffusés sont une bonne alternative au FPGA.

                Dans ma boite pour fabriquer un nouvel appareil scientifique, on a eu besoin d'une puce dédiée pour faire du traitement du signal. Comme on avait besoin d'en mettre plus de 400 par rack, il fallait que chaque puce dissipe moins de 2.5 W, donc la solution FPGA était clairement inadaptée, et seul l'ASIC pouvait convenir
                La solution la moins chère consitait à utiliser des ASIC prédiffusés. ( cout de fabrication: environ 300.000 euros pour 2000 pieces, en technologie 130 nm)

                Une des étapes les plus complexes fut de trouver un fondeur qui accepte un aussi petit contrat de 2000 pièces. C'est finalement NEC Electronic Japan http://www.necel.com qui a bien voulu travaillé pour nous.
          • [^] # Re: Et pourquoi pas un objectif plus générique ?

            Posté par . Évalué à 10.

            Je me réponds à moi-même pour développer mon précédent commentaire, et pour dire pourquoi il me semble que fondre un ASIC n'est pas intéressant pour le projet Open Graphics. Pour cela, je vais détailler les flots de conception FPGA et ASIC.


            FPGA

            Au commencement, il y a la description du design (phase de codage, en fait). Celle-ci de fait au niveau RTL (Register_Transfer_Level) dans un langage de haut-niveau, dit HDL (Hardware Description Language). En Europe, on utilise plutôt le VHDL alors qu'en Amérique du Nord, on utilise plutôt le Verilog.
            Puis, une fois la description terminée, on utilise un outil de simulation pour vérifier que cette description est correcte. À cette étape, on effectue une simulation dite « comportementale » : on cherche juste à vérifier que la description du design est correcte. À noter : le simulateur peut être le même quelque soit le flot (FPGA ou ASIC).

            Ensuite, on rentre réellement dans le flot FPGA. Chaque fournisseur de FPGA propose ses propres outils mais tous les flots font : la synthèse (traduction de la description RTL en description plus bas niveau à l'aide des éléments de la bibliothèque du fournisseur (ces éléments sont les éléments de base du FPGA)), le placement-routage (placement : positionnement de chaque élément dans la matrice du FPGA, routage : choix du chemin des signaux (un signal relie la sortie d'un bloc à l'entrée d'un ou plusieurs blocs)) puis la génération du fichier de programmation (qui sera chargé dans le FPGA pour le personnaliser).

            Avant de générer le fichier de programmation, on effectue en général une simulation dite « temporelle » : on utilise les informations de timings fournies par la phase de placement-routage pour vérifier que les signaux se propagent sans erreurs d'un élément à l'autre de la matrice (le cas typique d'erreur : le signal d'horloge arrive après la donnée sur un élément mémoire).

            Coût du flot :
            - flot propriétaire du fournisseur : quelques centaines d'euros
            - coût unitaire d'un FPGA : pour les dernières technos et pour les grosses matrices, commandées en grosse quantité : de 100 à 300 €
            - temps de développement : en général environ 12 mois


            ASIC

            Pour la première phase (description RTL), c'est la même chose que pour le FPGA sauf qu'on doit utiliser des éléments de la bibliothèque du fondeur pour les blocs durs (RAM, par exemple). En effet, ces blocs étant spécifiques à une techno, le fondeur fournit ses propres modèles comportementaux pour ces blocs. Et pour les utiliser, il faut avoir accès à sa bibliothèque, et pour cela, il faut avoir signer un NDA. A mon avis, ce NDA rend impossible la libération du code HDL utilisant les modèles du fondeur.

            Pour la synthèse, il faut utiliser un outil de synthèse ASIC. Ces outils sont plus compliqués à utiliser que ceux pour FPGA (mais on a beaucoup plus de latitudes) et sont plus chers : il faut compter environ 100k€/an (les licenses sont valables pour un temps donné en CAO électronique).

            Pour le placement-routage, cela devient compliqué : les outils sont très chers, et peu de personnes ont les compétences nécessaires pour effectuer ce travail. Cette phase est de plus en plus souvent sous-traiter aux fournisseurs d'outils ou aux fondeurs. Je ne sais pas évalué le prix de cette prestation mais je sais que le forfait journalier est très élevé (prestation de luxe).

            Ensuite, vient le tour du fondeur. Celui-ci crée les masques à partir de la sortie de l'étape précédente. Un masque est la représentation géométrique pour un niveau de la puce. Sur les dernières technos, on compte facilement 40 niveaux de masque. Ce sont ces masques qui coûtent très chers à la fabrication (1 M€ le jeu de masques). Puis, à partir des masques, les puces sont gravées dans les tranches de silicium (wafers).

            Coût du flot :
            - outils : synthèse 100000€/an, P&R : je dirais 100000€ minimum pour cette phase
            - fonderie : 1M€ + cout de production par lot (de quelques dizaines à quelques centaines de k€) -> plus on fabrique de composants, moins le coût unitaire est élevé. Dans le métier, on dit qu'il faut maintenant produire plusieurs millions de composants pour que cela soit rentable de faire un ASIC au lieu d'un FPGA sur les dernières technos.
            - temps de développement : de 18 à 24 mois en général


            Mon avis

            Effectivement, pour un concepteur de circuit numérique, il est plus sympa de faire un ASIC qu'un FPGA (déjà, faire un ASIC, ça fait sérieux, alors que n'importe qui peut programmer un FPGA dans son garage ;-)) mais vu la faible quantité de puces qui seront fabriquées par le projet Open Graphics, il est, àmon avis, suicidaire de partir sur un flot ASIC. Il faut être réaliste : ils ne vendront jamais plusieurs millions de cartes (et donc autant de composants).
            • [^] # Re: Et pourquoi pas un objectif plus générique ?

              Posté par . Évalué à 2.

              - coût unitaire d'un FPGA : pour les dernières technos et pour les grosses matrices, commandées en grosse quantité : de 100 à 300 €

              C'est la ou tu te trompes. Pour la taille d'un projet comme opengraphics, c'est mini 500€. Contre 50 pour l'équivalent ASIC.

              "La première sécurité est la liberté"

              • [^] # Re: Et pourquoi pas un objectif plus générique ?

                Posté par . Évalué à 1.

                Je ne comprends pas bien ta réponse. C'est la taille du projet qui fait qu'une matrice coûte 500 € (?) ou alors tu veux dire qu'opengraphics est obligé d'utiliser plusieurs matrices pour y intégrer son GPU ?

                Sinon, pour 50 € pièce pour une filière ASIC, ça m'intéresse d'avoir plus d'infos : combien de pièces seront produites, sur quelle techno (donc avec quel ticket d'entrée), combien de puces par wafer, surface de la puce, etc...
                • [^] # Re: Et pourquoi pas un objectif plus générique ?

                  Posté par . Évalué à 2.

                  La carte FPGA utilisé pour développer open graphics coute 1500€. Même en volume, tu ne passera jamais sous la barre des 1000€.

                  Une puce de téléphone portable avec une centaine de millions de transistors, coute entre 20$ et 40$, certe elles sont produit en millions d'unités.

                  Les FPGA ont des surfaces énormes. Et les puces des PC sont assez spécifiques (et à forte marge... il suffit de voir les bénef de Intel sur l'Atom pourtant vendu peu cher).

                  "La première sécurité est la liberté"

                  • [^] # Re: Et pourquoi pas un objectif plus générique ?

                    Posté par . Évalué à 1.

                    Je te parle de prix de puces et tu me parles de prix de cartes. Effectivement, ça na rien à voir. S'ils utilisent un ASIC, ils devront faire une carte sur mesure pour l'intégrer. Ils peuvent aussi le faire pour un FPGA.

                    Une puce de téléphone portable avec une centaine de millions de transistors, coute entre 20$ et 40$, certes elles sont produit en millions d'unités.

                    C'est quand même ce qui fait la différence. Et avec la somme annoncée (300 000 €), ils ne produiront pas beaucoup de pièces. De plus, si tu parles de l'OMAP de TI (Texas_Instruments), il me semble que la production, c'est plutôt plusieurs dizaines (et j'ai un doute sur « centaines ») de millions d'unités.

                    D'ailleurs, au sujet de l'OMPA, une petite anecdote :
                    J'ai participé à une conf de Ahmed Amine Jerraya qui citait ce composant en exemple de la limite de ce qui était concevable : un composant qui a « coûté » 1000 hommes.an (!), qui a une architecture extrêmement complexe, qui est très gros donc pratiquement impossible à rentabiliser, et pourtant, TI en a vendu des dizaines (des centaines, je ne me rappelle plus ce que Jerraya a dit exactement) de millions. Mais pour lui, cela reste un exemple de ce qu'il ne faut pas/plus faire.
                    • [^] # Re: Et pourquoi pas un objectif plus générique ?

                      Posté par . Évalué à 2.

                      Je te parle de prix de puces et tu me parles de prix de cartes. Effectivement, ça na rien à voir. S'ils utilisent un ASIC, ils devront faire une carte sur mesure pour l'intégrer. Ils peuvent aussi le faire pour un FPGA.

                      Ce que je voulais dire, c'est que dans le prix de la carte une grosse partie est le prix du FPGA. Il n'est donc pas économique de faire un produit uniquement basé sur un FPGA, même si cela ouvre des possibilités de "hack" de folie (j'imagine bien des jeu proposant leur propre bitfields FPGA tuné pour leur strict besoin).

                      D'ailleurs, au sujet de l'OMPA, une petite anecdote
                      Tu parles de l'OMAP 3430 ?

                      Ben le suivant, c'est pire :)

                      D'ailleurs, c'est qui "Ahmed Amine Jerraya" ?

                      "La première sécurité est la liberté"

                    • [^] # Re: Et pourquoi pas un objectif plus générique ?

                      Posté par . Évalué à 2.

                      Pour compléter la note sur OMAP 3430, j'ai entendu un cout de dev de l'ordre de 1 milliard de $. De même,ST avec les nomadics aurait dépensé 850 Millions de $.

                      C'est comparable.

                      "La première sécurité est la liberté"

  • # ...le support du mode VGA soit encore à réaliser.

    Posté par . Évalué à 2.

    Hello tous,

    Excusez le béotien que je suis, mais comment sait-on que la carte fonctionne si l'on ne peut pas voir ce qui sort ?
    Merci
    • [^] # Re: ...le support du mode VGA soit encore à réaliser.

      Posté par . Évalué à 3.

      Si tu poses la question par rapport au mode VGA, le VGA c'est qu'une façon parmis d'autre de faire de l'affichage.

      Sinon en faisant des études de signaux, en validant les descriptions comportementales du matériel avec divers vecteurs de tests, en utilisant un mode test de la carte pour voir ses réactions a différents stimuli, et compagnie, on peut certifier le bon fonctionnement d'un matériel donné et cela avant d'avoir un pilote/programme l'utilisant.
    • [^] # Re: ...le support du mode VGA soit encore à réaliser.

      Posté par . Évalué à 3.

      Dans l'annonce il disent que le DVI(-D je suppose) fonctionne.
  • # Fallait-il en arriver là?

    Posté par . Évalué à 3.

    Ce qui est dingue, c'est que c'est la seule solution, semble-t-il, pour qu'émerge une carte graphique 100% libre.
    Les constructeurs n'en ont (pour l'instant?) un peu rien à f*****

    THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

    • [^] # Re: Fallait-il en arriver là?

      Posté par (page perso) . Évalué à 2.

      Faire du hard libre est plus couteux en terme de "sous sous" que de faire du logiciel libre. En plus, en cas de grillage d'un composant, une réinstall ou un reboot ne sert à rien : il faut racheter. Vous allez me dire "on peut inventer sur papier". Oui, mais il faut bien tester un jour.

      En plus, en général, le libre intéresse les libristes. Et en général, les libristes sont meilleurs en développement qu'en électronique.

      A ma connaissance, la Open Hardware Fondation est le seul organisme à se préoccuper du hard "100% libre". Après, on voit de plus en plus de "libération" du coté des gros constructeurs comme ATI ou Intel mais on est ptet encore loin du 100%.
      • [^] # Re: Fallait-il en arriver là?

        Posté par (page perso) . Évalué à 6.

        > Après, on voit de plus en plus de "libération" du coté des gros constructeurs comme ATI
        > ou Intel mais on est ptet encore loin du 100%.

        Sun niagara T2 (UltraSPARC T2) ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.