jtremesAY a écrit 368 commentaires

  • [^] # Re: Tu connais Symbiflow ?

    Posté par  (site web personnel) . En réponse à la dépêche k1g1 : le premier FPGA Libre…. Évalué à 4.

    Tu connais Symbiflow ?

    Oui, on en a un peu parlé dans les commentaires du journal

  • [^] # Re: Archipelago

    Posté par  (site web personnel) . En réponse au journal k1g1 : le premier FPGA Libre…. Évalué à 4.

    Pour ma défense, j'ai plus cherché sur github que dans les papiers de recherche '

  • [^] # Re: pourquoi pas SymbiFlow ?

    Posté par  (site web personnel) . En réponse au journal k1g1 : le premier FPGA Libre…. Évalué à 7.

    Tu t'es déjà auto-répondu, mais je vais faire un complément de réponse.

    Tu n'avais pas tout à fait tord, OFP ne sert pas qu'à créer les FPGA (-> génerer le RTL). C'est la trousse à outil multi-fonction qui fera tout. Il s'occupera aussi de générer et exécuter les flots d'implémentations et surtout de la programmation (synthèse, P&R, bitstream) des FPGAs. Mais je ne comptais pas réinventer la roue et dans l'idée OFP générera les bibliothèques technos spécifiques à l'architecture cible (ce genre de fichiers quoi) et appellera en sous main les outils dédiés.

    Après, j'ai pas forcément fait une recherche ultra-détaillée sur l'existant (shame on me). Je connaissais déjà yosys et j'avais entendu parler de arachne-pnr (et son successeur nextpnr) via le projet IceStorm.
    Mais comme avant d'envisager la programmation des FPGA il me fallait déjà des cœurs plus ou moins fonctionnels (qui ont au moins un RTL valide :p), j'avais pas creusé le sujet plus que ça.
    Maintenant que je connais son existence, je tenterai de m'intégrer dessus pour gérer la programmation :)

    Concernant ton blog, je sais, je t'avais envoyé un petit mail il y a quelques mois pour apporter une petite correction sur la toolchain de mon ancien employeur et pour vaguement mentionner ce projet :)

    kFPGA
    Un embryons de projet «fabless» de FPGA libre. À suivre !
    Le premier modèle est bientôt sortie et se nomme k1g1

    Je ne suis pas sûr de la pertinence de me mentionner parmi les vendeurs tant que je n'aurais pas au moins le K1G1k (1k logic elements !!!!!), mais c'est gentil :)

  • [^] # Re: chip de test

    Posté par  (site web personnel) . En réponse au journal k1g1 : le premier FPGA Libre…. Évalué à 2.

    Il y a plein d'instructions spécialisées comme des CRC, des hash, toutes ne peuvent pas être dans un jeu d'instruction.

    Concernant le CRC, il y a une instruction prévu pour dans le jeu d'instruction Intel (voir page 334), le compilateur peut donc émettre l'opcode lançant le calcul d'un CRC. Même principe pour les instructions accélérant le support du chiffrement/déchiffrement AES et autres.

    Si j'ai bien compris le principe de tensorflow de google, ils ont simplement ajouter à un jeu d'instruction vectoriel, un jeu d'instruction matriciel (le vecteur de 4 peut aussi être une matrice 2*2)

    De ce que je vois, ils n'ont pas rajouté d'instructions mais ont tout simplement utilisés les instructions vectoriels de calcul pour faire des maths sur des matrices. Il y a d'ailleurs un article d'Intel là dessus. Ne pas oublier que dans ce contexte, vectoriel n'a pas la définition mathématique de "matrice dont l'une des dimensions est de cardinal 1" (ou quelque soit la bonne manière de le formuler) mais "instruction agissant sur plusieurs données à la fois".

  • [^] # Re: chip de test

    Posté par  (site web personnel) . En réponse au journal k1g1 : le premier FPGA Libre…. Évalué à 4.

    Je n'étais pas sûr d'avoir compris le sens de ta demande et je suis parti du mauvais côté de l'interprétation :D

    Non, à ma connaissance il n'y a pas de processeur intégrant des FPGA.
    Xilinx propose les Zynq qui dans le même SoC embarque un FPGA et un processeur ARM, mais le processeur accède au FPGA via un un bus classique comme il accéderait à un autre type de contrôleur.

    À mon avis, pour voir arriver ce genre de solution, il faudrait que les créateurs de processeurs aient accès à des cœurs de FPGA pour pouvoir les intégrer. Hors, jusque là, les designs de processeurs était courant mais pas ceux de FPGA ;) Mais depuis qu'Intel a racheté Altera et possède donc le savoir faire sur les deux domaines, on peut envisager qu'ils se penchent sur l'idée.

  • [^] # Re: projet qui déchire ?

    Posté par  (site web personnel) . En réponse au journal k1g1 : le premier FPGA Libre…. Évalué à 5.

    J'ai pas relu dans le détail mon contrat, mais je pense que malgré mon départ je reste soumis à une clause de confidentialité ou truc du genre. Donc je vais me contenter de commenter ce qui a été rendu public

    Et «off the record», on a eu de nombreux de prospects qui ont évalués notre technologie et celle de la concurrence. D'après les retours qu'on a eu (les commerciaux sont un peu radins en retours vers les ingénieurs), il semblerait que notre solution était globalement la favorite (notamment grâce à l’extrême simplicité d'utilisation d'Origami Programmer) mais au final personne ne signait jamais.
    Donc jusqu'à mon départ en 2018, elle tournait surtout grâce à l'argent injecté par les investisseurs.

  • [^] # Re: chip de test

    Posté par  (site web personnel) . En réponse au journal k1g1 : le premier FPGA Libre…. Évalué à 2.

    C'est vrai aussi que ton IP peut se tester dans un autre FPGA :)

    Ça a été un de mes premiers mind-blowing quand j'ai bossé pour la start-up qui concevait des eFPGA : « Attends, tu me dis que les FPGA se programment en verilog et qu'on écrit nos FPGA en verilog ? Et-ce que ça veut dire qu'on peut faire tourner un de nos cœur sur un autre ? Voir créer une FPGAception ?"
    Titre de l'image

    D'ailleurs, je me demande si quelqu'un à déjà penser à faire un bloc de calcul de cpu à base de FPGA ou si c'est trop lent (avantage: pas d'IO dédié, pas de drivers d'OS dédié, partage de ressource utilisant les registres CPU déjà gérés)

    Oui, il y a des IP de CPU dans le catalogue de Xilinx, cf https://www.xilinx.com/products/design-tools/microblaze.html
    Autre avantage non négligeable, c'est quand tu as déjà le programme qui fait la fonctionnalité demandé mais que ta cible ne comporte pas de CPU. Tu perds peut-être en performance, mais qu'est-ce que tu gagnes en temps de développement.

  • [^] # Re: chip de test

    Posté par  (site web personnel) . En réponse au journal k1g1 : le premier FPGA Libre…. Évalué à 6. Dernière modification le 04 novembre 2019 à 10:29.

    Il existe des programmes universitaires qui peuvent avoir accès à des fabrications de chip groupé. cf https://mycmp.fr/ L'idéal serait de bosser avec un labo pour faire un chip de démonstration (couplé avec un openrisc ?).

    J'y ai pensé et je comptais me tourner vers le LIRMM (Laboratoire d'Informatique, de Robotique et de Microélectronique de Montpellier) vu que j'habite cette ville. Mais comme pour l'instant j'avais rien à montrer…

    Au niveau de la cellule de FPGA, pourquoi ne pas avoir ajouter une "alu" c'est une des premières optimisations qui est ajouté, pour augmenter la vitesse des fonctions mathématiques.

    Parce qu'il faut tout que je développe tout en parallèle : l'architecture FPGA, le générateur de RTL, la chaîne d'outils pour la programmation, … Du coup, je préfère faire aussi simple que possible et améliorer par petites itérations successives histoire de ne pas me noyer sous la complexité. Et il n'y a pas plus simple que juste des LUT et des flip-flops. Mais ça me demande quand même déjà pas mal de travail pour valider que l'architecture n'est pas bancale. Vu que je n'ai encore rien pour faire le placement routage (j'ai bricolé un truc avec yosys pour me faire la synthèse logique et le mapping vers de LUT), je suis obligé de générer le bitstream à la main.

    Voila le bitstream que je viens de finaliser pour tester un cœur constitué d'une seule tuile de 4 logique éléments composé de LUT2 :

        bitstream = (
            ( # Switchbox
                ( # To LE[3].data[1]
                    0b110 # from south[0]
                ) << 33
                | 
                ( # To LE[3].data[0]
                    0b111 # from west[0]
                ) << 30
                | 
                ( # To LE[2].data[1]
                    0b110 # from south[0]
                ) << 27
                | 
                ( # To LE[2].data[0]
                    0b111 # from west[0]
                ) << 24
                | 
                ( # To LE[1].data[1]
                    0b110 # from south[0]
                ) << 21
                | 
                ( # To LE[1].data[0]
                    0b111 # from west[0]
                ) << 18
                | 
                ( # To LE[0].data[1]
                    0b110 # from south[0]
                ) << 15
                | 
                ( # To LE[0].data[0]
                    0b111 # from west[0]
                ) << 12
                | 
                ( # To west[0]
                    0b11 # from le[3]
                ) << 9
                | 
                ( # To south[0]
                    0b101 # from le[2]
                ) << 6
                | 
                ( # To east[0]
                    0b100 # from le[1]
                ) << 3
                | 
                ( # To north[0]
                    0b011 # from le[0]
                )
            ) << 20
            |
            ( # Logic block
                ( # Logic element 3
                    0b1 << 4 # Enable LE DFF
                    | 
                    0b0111 # !(B & A)
                ) << 15
                |
                ( # Logic element 2
                    0b1 << 4 # Enable LE DFF
                    | 
                    0b0110 # B ^ A
                ) << 10
                |
                ( # Logic element 1
                    0b1 << 4 # Enable LE DFF
                    | 
                    0b1000 # B & A
                ) << 5
                |
                ( # Logic element 0
                    0b1 << 4 # Enable LE DFF
                    | 
                    0b1110 # B | A
                )
            )
        )
    

    Oui, c'est moche et error-prone… et la prochaine étape : le test d'un cœur multi-tuile pour faire un adder 4 bits o/

    Donc les éléments logiques avec un peu plus d'intelligence (notamment inclusion d'un full-adder et la propagation des carry par du routage dédié) c'est prévu pour la deuxième génération de l'architecture.

  • [^] # Re: projet qui déchire ?

    Posté par  (site web personnel) . En réponse au journal k1g1 : le premier FPGA Libre…. Évalué à 10.

    Le succès est à saisir dans les deux ans ou jamais. Comme j'ai bossé dedans, je sais que la demande de FPGA sur-mesure et embarquable dans des SoC est extrêmement forte auprès de certaines branches de l'industrie mais qu'aucune des start-up proposant ce genre de produits (Achronic, Flex Logic, Menta, NanoXplore, …) n'a encore signé de gros contrats. Et c'est une situation du type "Winner takes all" car aucun industriel ne veut être le premier à signer un gros chèque de peur d'avoir misé sur la mauvaise entreprise qui coulera dans 2 ans alors qu'ils ont besoin d'un support décennal des produits. Du coup, la première à signer un gros contrat et sécuriser sa situation financière risque fortement de récupérer les autres contrats.

    L'avantage d'avoir un modèle basé sur le libre, c'est qu'au pire si je coule, ils pourront toujours reprendre le bazar en interne ou passer par un autre presta, ce qui devrait pas mal les rassurer :)

    Mais sinon ouais, tant que je n'ai pas un cœur prêt à partir en fonderie et la chaîne d'outils pour le programmer, je ne compte pas me professionnaliser. En vrai, j'ai pas tellement envie de créer une boîte. Je suis un gens de la technique, pas un gestionnaire. je préfère taper du code que me taper de la compta :) Donc si j'arrive à trouver d'autres solutions pour me permettre de m'amuser sur le projet tout en m'assurant un revenue, why not?

  • [^] # Re: Eclipse

    Posté par  (site web personnel) . En réponse au journal Atom / VSCode. Évalué à 7.

    1. c'est celui qui dit qui est
    2. je mens pas, y'a aussi du JS. La preuve https://github.com/microsoft/vscode/blob/1.39.2/src/main.js
    3. depuis quand il est nécessaire d'être objectif et exact pour troller ?
  • [^] # Re: Gros fichiers ?

    Posté par  (site web personnel) . En réponse au journal Atom / VSCode. Évalué à 2.

    Les gros fichiers «bruts», il gère très bien.
    Ça peut mouliner un peu si il faut appliquer de la coloration syntaxique sur un fichier de 100k lignes de codes…

  • [^] # Re: Pour quel langage ?

    Posté par  (site web personnel) . En réponse au journal Atom / VSCode. Évalué à 6.

    Il dispose d'un système de plugins pour ajouter facilement des langages qui ne seraient pas supportés par défaut.

    Je l'utilise pour tout ce qui n'est pas C++ (car dans ce cas j'ai une préférence pour Qt Creator), c'est à dire principalement python, bash, tcl, rust, verilog, plain text.

  • [^] # Re: Masculinisation des noms de métiers, y'a encore du boulot

    Posté par  (site web personnel) . En réponse au journal Féminisation des diplômes, y'a encore du boulot. Évalué à 0.

    C'est une question rhétorique ou tu fais une supposition ?

  • [^] # Re: je t'ai pertinenté

    Posté par  (site web personnel) . En réponse au journal Féminisation des diplômes, y'a encore du boulot. Évalué à 2.

    J'utilise les flux RSS pour recevoir les news/journaux/liens, et à la vue de la taille du contenu, j'avais cru que c'était un lien et non un journal '

  • [^] # Re: Violence

    Posté par  (site web personnel) . En réponse au journal recherche jeu et chat pour préados. Évalué à 2. Dernière modification le 16 octobre 2019 à 13:00.

    Mon point était que ça n'avait de sens de proposer des jeux trop complexe à des personnes dont le développement cérébral n'est pas encore suffisamment avancé pour les gérer.

    Je vais prendre un exemple personnel avec le jeu de société Res Arcana. Sur la boite, il est recommandé pour à partir de 12 ans. Les adultes avec qui j'y ai joué n'ont pas eu trop de difficultés à saisir les mécaniques de jeu, même ceux n'étant pas spécifiquement ludistes ou adepte des jeux de stratégie. Par contre, avec une gamine de 10, à priori pas plus bête qu'un autre, ce fut la catastrophe. Il lui manquait notamment la concentration nécessaire pour garder en tête les règles et les capacités de projection pour mettre en place des stratégies. Au final, pour limiter sa frustration et garder un bon rythme de jeu, on s'est retrouver devoir à lui énumérer les différentes actions qu'elle pouvait faire avec leurs pros/cons à chaque fois que c'était son tour et elle en choisissait une plus ou moins au hasard.

    Elle n'a pas gardé un trop mauvais souvenir de sa partie, mais je pense que c'est plus pour avoir jouer avec son grand frère, sa grande sœur et sa pièce rapporté de beau-frère que je suis que réellement parce qu'elle a apprécié le jeu. Et je suis certain qu'elle aurait passé un meilleur moment avec un jeu plus adapté à son âge.

    Malheureusement pour elle, ma ludothèque est plutôt orientée stratégie velue. Je fais parti de ses gens pour qui plus un jeu est complexe (-> offre une grande variété de mécaniques de jeu), plus il est plaisant.

    Un aperçu de ma ludothèque :
    Un aperçu de ma ludothèque

    Une partie de Civilization à 3. Prévoir au moins 2h + 1h par joueur. Je n'ai jamais réussi à réunir suffisamment de gens motuvés pour faire une partie à 5 :'(
    Une partie de Civilization à 3

  • # je t'ai pertinenté

    Posté par  (site web personnel) . En réponse au journal Féminisation des diplômes, y'a encore du boulot. Évalué à -9.

    Parce que je ne comprends pas pourquoi tu t'es fait moinssé à ce point là (-10 au moment de l'écriture de ce commentaire) alors que tu te contentes de rapporter de manière plutôt neutre un fait montrant une fois de plus qu'il y a un problème systémique dans notre société.

  • [^] # Re: Violence

    Posté par  (site web personnel) . En réponse au journal recherche jeu et chat pour préados. Évalué à 2.

    Je pense que 0AD est trop complexe pour être pris en main avant 12~14 ans.
    Il ne faut pas oublié que les enfants sont techniquement des adultes pas finis :)

  • [^] # Re: Contradictions

    Posté par  (site web personnel) . En réponse au journal Au revoir, LinuxFR. Évalué à 2.

    Calculatrice autorisée ?

  • [^] # Re: c'est si problématique que ça ?

    Posté par  (site web personnel) . En réponse au journal J'aime le Télétype. Évalué à 6.

    Sans aller jusqu'à dire que c'est illisible, mon confort de lecture en a quand même pris un sacré coup.

  • [^] # Re: Comme dirait Dave Jones...

    Posté par  (site web personnel) . En réponse à la dépêche Un ASIC conçu intégralement avec des logiciels libres. Évalué à 9.

    Titre de l'image

    Il faut compter au moins 20k€ pour 50 testchips. Mais ça inclut la création le masque lithographique (en quelque sorte le négatif de la puce) (c'est le truc le plus cher dans le process de fabrication) que tu peux réutiliser par la suite.

  • [^] # Re: Réunion des développeurs C++ anonymes ;)

    Posté par  (site web personnel) . En réponse au journal Moi, expert C++, j'abandonne le C++. Évalué à 3.

    C'est moins vrai.
    Par exemple, pas mal de jeux utilisent le moteur Unity qui se code en C#.

  • [^] # Re: Débutant en java

    Posté par  (site web personnel) . En réponse au journal Toileharicot 11 est dehors. Évalué à 3. Dernière modification le 09 avril 2019 à 14:33.

    Te faire changer d'avis non. Le mieux est de tester et de te faire ton avis. Mais je peux te faire un compte rendu de mon expérience.
    Eclipse a l'avantage de pouvoir supporté facilement d'autres technologies via son système de plug-ins, mais je trouve que c'est un vrai gouffre à ressources. Il m'a fallut attendre d'avoir un Intel octo-core i7 et 16Go de RAM pour commencer à le trouver réactif (sur mon ancien quad-core i5 avec 4Go, c'était leeeeent).
    Je n'ai pas testé IntelliJ, mais j'ai beaucoup apprecié PyCharm, l'IDE python qui utilise la même base. Je l'ai trouvé beaucoup plus ergonomique et réactif que eclipse avec les plug-ins python.
    Quand à Netbean, je ne l'ai pas testé depuis la fac, du coup, rien à dire.

  • # Par curiosité,

    Posté par  (site web personnel) . En réponse au journal Déterminer un code à 3 chiffres en 9 questions ou moins. Évalué à 1.

    C'était une escape cave de David du GSI ?

  • [^] # Re: Ce n'est pas une arnaque mais un service

    Posté par  (site web personnel) . En réponse au lien HP bousille vos cartouches. Évalué à 2.

    Franchement le titre n'est pas adapté "service cher de HP" pourquoi pas.

    Et encore.
    La cartouche HP 920 noire se trouve à 20.65€ à la FNAC. D'après HP, on peut imprimer 420 pages avec. Ce qui fait un coût à la page de 0.0476€.

    Prix à la page des différents forfaits :
    - 50 pages (2.99€) : 0.0598€/page
    - 100 pages (4.99) : 0.0499€/page
    - 300 pages (9.99€) : 0.0333€/page

    Selon la quantité de texte que tu imprimes, ça peut être rentable. Et le fait de ne pas avoir à aller au magasin quand tu tombes en rade d'encre, ça n'a pas de prix ! (source : ma flemme)

    Pis pour les 20 pages que j'imprime par an, je dois avouer que le forfait gratuit me fait de l'œil. Dommage que je n'ai pas d'imprimante HP.

  • [^] # Re: Et ?

    Posté par  (site web personnel) . En réponse au lien HP bousille vos cartouches. Évalué à 1.

    Le début de l'arnaque commence à la première ligne de code qui t'empêche (ou qui essaye en tout cas) d'utiliser des cartouches concurrentes.

    Je n'ai pas lu ça dans l'article. Peux-tu m'indiquer où c'est dit ?

    Tu as parlé de "bousiller vos cartes SIM". En Belgique, et je suppose aussi chez les français, quand tu résilies ton abonnement alors ta SIM passe sur le mode carte pré-payé.

    Pour être honnête, aucune idée en qui concerne cette histoire de pré-payé. Je n'ai jamais eu de pré-payé, j'ai toujours eu des abonnements. Et chaque fois que j'ai résilié un abonnement, c'était pour en prendre un autre chez la concurrence avec l'option portage du numéro. Et après que la portabilité du numéro ai été effectuée, la vielle carte SIM devient inopérante pour se connecter au réseau. Mais c'est peut-être une spécificité de la portabilité du numéro.

    Mais dans tous les cas, une fois l'abonnement résilié, tu ne peux plus utiliser la carte SIM pour profiter de tes X minutes de communications mensuelles. Ben là c'est pareil. une fois la souscription à l’abonnement terminée, tu ne peux plus utiliser la cartouche d'encre que HP met à ta disposition pour imprimer tes X pages mensuelles. Si tu veux continuer à imprimer, met simplement une nouvelle cartouche dans ton imprimante.