PIStorm sur autre chose qu’un Rasberry

Forum Amiga Hardware PIStorm sur autre chose qu’un Rasberry

  • Ce sujet contient 2 réponses, 3 participants et a été mis à jour pour la dernière fois par flaco, le il y a 2 années et 9 mois.
  • Créateur
    Sujet
  • #150232
    destroyedlolo
      • Level 3
      • Messages : 61

      Bonjour,

      J’ai eu quelques échanges avec Claude Schwarz sur la possibilité de faire tourner PIstorm avec autre chose qu’un RasberryPI 4 dont les prix ont explosé et les dispo « difficiles ».

      • L’ému68 dépends d’un procs 64bits.
      • le gros point noir est qu’il faut un générateur de 200Mhz (je ne sais pas pour quoi faire), sur le GPIO4. Sur tous « clone » de PI, c’est généralement un signal PWM qui plafonne sur ce que j’ai vu a 24 Mhz. De toute façon, je doute qu’ils montent aussi haut en PWM … et il ne m’a pas répondu sur le fait de fournir un tel signal par électronique (je ne sais pas a quoi il sert).
      • Le code attaque les GPIOs en bas niveau (par mmap()) du coup, il demande une adaptation pour chaque CPU. Mais … beaucoup de SBC chinois partage les mêmes CPU donc l’effort sur 1 devrait passer sur les autres.

      Alors, clairement, il ne va pas bosser dessus car ça demande beaucoup d’efforts pour adapter le code … mais un SBC tel que l’OrangePI-Zero2 pourrait être un bon candidat … pour peu que le problème gpclk soit résolu.

      A+

    Affichage de 2 réponses de 1 à 2 (sur un total de 2)

    Partager sur vos réseaux sociaux préférés :
    Facebooktwitterredditpinterestlinkedintumblrmail

    • Auteur
      Réponses
    • #150241
      stephbb75
        • Level 12
        • Messages : 1544

        Salut,

        Oui les prix on explosé.
        Il faut se tourner vers l’occasion…
        Et sur les site UK, ils ont malheureusement besoin d’argent, donc tu en trouve et pas trop cher (en plus avec la Livre qui s’écroule….) :-(

        Pour prendre autre choses que le Pi c’est pas si simple, il n’y a pas que cela qui rentre en jeu. Sur le PI c’est pas un simple CPU, c’est un SOCK, pour faire simple un composant avec plusieurs composants dedans (CPU,GPU, ….) donc il faut trouver plus ou moins le même type et les mêmes fonctions.

        Pour Mushashi qui passe pas un OS cela peut être plus simple à adapter.
        Pour Emu68 c’est bien plus complexe.

        Mais le plus gros problème c’est ne nombre de personne qui développe, ils ne sont pas si nombreux que cela et beaucoup (trop) de demande.

        https://youtube.com/@stephbb75



        #150264
        flaco
          • Level 5
          • Messages : 221

          le gros point noir est qu’il faut un générateur de 200Mhz (je ne sais pas pour quoi faire)

          Bonjour,

          Ce que l’on peut voir dans les équations logiques du code vérilog original, c’est que la carte Pistorm qui interface le Pi ave le bus et les horloges du 68000 utilise cette horloge 200MHz pour « sampler » et filtrer ses entrées.

          J’ai pu essayer que sans ce filtre, l’acquisition contient des erreurs, qui sont sans doute dues à un changement d’état du signal 68000 trop lent pour les buffers qui n’ont pas d’hystérésis sur leurs entrées.

          Dans la logique du Pistorm, cette horloge de 200MHz n’a aucun autre usage car la communication entre les GPIO du Pi et le bus est complètement synchrone et pilotée par le Pi (c’est lui qui lance les commandes de lecture/écriture et attend le résultat).

          La plupart des extensions Amiga actuelles utilisent une famille différente de CPLD, moins rapide, compatible avec les signaux 5V, et qui permettent de ne pas avoir à utiliser ces buffers. Les XC95xx de Xilinx. En mettant au point le PistormX j’ai basiquement porté la logique de la carte originale sur un XC95144, et, comme pour toutes les autres extensions Amiga (notamment toutes celles que j’ai conçues moi même), ai pu débarrasser le code de ces « filtres » tout en conservant des entrées/sorties complètement fiables.

          Au passage je me suis même permis deux améliorations supplémentaires qui rendent le PistormX plus rapide que l’original : réaliser les lectures/écritures en 4 cycles d’horloge 68000 (au lieu de 8 cycles sur le 68000 et 6 sur la carte Pistorm original), et ajouter un buffer d’écriture vers le bus qui permet de rendre la main au Pi plus tôt. Chez moi cela fait 6 mois qu’il tourne comme cela avec Emu68, caffeineOs, toutes mes extensions, et le comportement que j’ai pu constater est le même que l’original (quand on a une machine accélérée, tout ne marche pas comme sur une machine stock, et en plus comme le dit stephbb75 par ailleurs c’est toujours en développement).

          J’ai essayé de faire tourner la même logique sur la carte Pistorm originale mais malheureusement sans les filtres, ça coince, donc la carte Pistorm originale a besoin de cette horloge 200MHz. Néanmoins elle pourrait venir d’un oscillateur distinct plutôt que du Pi. Mais en fait quand on y regarde de plus près, je trouve surtout dommage que le Pistorm32 ait continué avec le même type de conception (multiples buffers qui compliquent le code et l’assemblage de la carte plutôt qu’un XC95xx). Je me suis même dit que le Pistorm32 aurait pu fonctionner avec un Pi3/zéro2 comme l’original avec une conception aussi simple que le PistormX (à ce sujet, est-ce qu’un bidouilleur saurait confirmer ce que Gayle ou XU1 fait avec FC0 et FC1 ?)

          Pour en revenir à faire fonctionner le principe du Pistorm avec une alternative au Pi, comme dit stephbb75 : pour la partie cpu de Musashi alors le code gérant les GPIO devrait sans doute être adapté et il n’est même pas compliqué (fichier ps_protocol.c). Par contre beaucoup d’autres fonctions comme le RTG, et tout Emu68, devraient être revus. Et effectivement un intérêt du truc est de ne pas être qu’un simple CPU.

        Partager sur vos réseaux sociaux préférés :
        Facebooktwitterredditpinterestlinkedintumblrmail
        Affichage de 2 réponses de 1 à 2 (sur un total de 2)
        • Vous devez être connecté pour répondre à ce sujet.