D iscover p yra t ec s tombexplorer 2 0
This presentation is the property of its rightful owner.
Sponsored Links
1 / 28

D iscover P yra t ec’s TombExplorer 2.0 PowerPoint PPT Presentation


  • 50 Views
  • Uploaded on
  • Presentation posted in: General

D iscover P yra t ec’s TombExplorer 2.0. Présentation par: Burri Samuel, CEO Kader Abdoul-Keita, Chief Marketing Ferreira Olivier, Lead Software Designer Moumbe Arno-Patrice, Lead Hardware Designer. Contenu. Introduction Description générale du système

Download Presentation

D iscover P yra t ec’s TombExplorer 2.0

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Discover Pyratec’sTombExplorer 2.0

Présentation par:

Burri Samuel, CEO

Kader Abdoul-Keita, Chief Marketing

Ferreira Olivier, Lead Software Designer

Moumbe Arno-Patrice, Lead Hardware Designer


Contenu

  • Introduction

  • Description générale du système

  • Tour des différente modules

    • CPU0 – Processeur principale

    • CPU1 – Processeur graphique

    • CPU2 – Processeur communication

  • Robustesse et vérification

  • Développements futurs (Version 3.0)

  • Conclusion/Questions

Contenu


Introduction

  • PyraTec

    • Fondé en 2008

    • Basé à Montréal avec locaux en Egypte

    • 430 employés

    • Système le plus répandu pour l’exploration des pyramides

  • Présentation de la nouvelle version (2.0) du système TombExplorer

Introduction


Description générale du système

  • 3 CPUs – Nios II/f

    • 4kB cache d’instructions

    • 2kB cache de données

    • Hardware multiplier/divider

    • Instructions et données locales dans la SDRAM

    • Instruction de débogage décale des DELs

    • Compteur des milliseconds (ajustable)

  • Modules matériels pour accélérer l’affichage

Description générale du système


Schéma bloc du système

Description générale du système


Tour des différentes modules

  • CPU0 – Processeur principale

    • Interconnexions avec les autres processeurs

    • Modules logiciels (Représentation du labyrinthe, Algorithmes)

  • CPU1 – Processeur graphique

    • Contrôleur VGA optimisé

    • Instruction spécialisé pour le calcul d’intensité des ellipses et les transformations 3D-2D (divisions)

    • Modules matériels pour le traçage des lignes et des quadrilatères

  • CPU2 – Processeur communication

    • Communication avec les modules Ethernet et PS2

    • Pile des protocoles réseaux

    • Assistance logiciel pour la navigation

Tour des différentes modules


CPU0 – Processeur principale

  • 4 Fifos pour la communication avec les autres processeurs (2 x In/Out)

  • Tâches logiciels

    • Interprétations (2D) des paquets du serveur et maintenance de l’état du labyrinthe

    • Passer les paquets au CPU1 pour l’affichage 3D

    • Passer des message de CPU2 au CPU1

    • Génération et interprétation des paquets intra-équipe (état du labyrinthe)

    • Calcul du chemin vers le trésor

Tour des différentes modules


Maintenance de l’état du labyrinthe

Tour des différentes modules


Calcul du chemin vers le trésor

  • Algorithme itérative à 10 itérations par seconde

4

3

2

3

4

5

2

1

4

5

2

1

0

1

2

9

8

7

4

3

8

7

6

5

4

Tour des différentes modules


CPU1 – Processeur graphique

  • Interprétation des paquets pour l’affichage 3D

  • Reçoit les commandes d’affichage (2D) du CPU0

  • Accès directe au contrôleur VGA

  • Instruction spécialisée pour le calcul de l’intensité des ellipses et les transformations 2D-3D (divisions)

  • Module matériel pour le traçage des lignes

  • Module matériel pour le traçage des quadrilatères

Tour des différentes modules


CPU1 – Schéma local

Tour des différentes modules


Contrôleur VGA

  • Basé sur le contrôleur VGA du laboratoire #4

  • Double buffering sur la partie gauche de l’écran (configurable)

  • Coordonnées X et Y en 12 bits

  • Clipping sur un rectangle spécifié

  • Palette des couleurs configurable en logiciel

  • Bande passante doublé pour les accès sequentiel (env. 1 pixel par coup d’horloge -> 132 écrans complets par seconde)

  • Writeonly (excepté un mot de status)

Tour des différentes modules


Schéma bloc du contrôleur VGA

Tour des différentes modules


Illustration du double buffering

Tour des différentes modules


Instruction spécialisée

  • Contient deux unité de division (lpm_divide)

  • Utilise une unité de carré (lpm_square)

  • Machine d’états pour calculer la racine carré

  • Calcul de l’intensité des ellipses

    • Intensité de 4 pixels en 18 cycles

    • Résultat entre 0 et 63 (6 bits)

  • Deux divisions en parallèle en 11 cycles (résultats sur 16 bits)

Tour des différentes modules


Schéma bloc de l’instruction spécialisée

Tour des différentes modules


Module de traçage des lignes

  • Interface master pour le contrôleur VGA

  • Unité de Bresenham pour le traçage des lignes

  • Fifo pour les commandes du processeur

Tour des différentes modules


Unité de Bresenham

  • Traçage des lignes à 1 pixel par coup d’horloge

Tour des différentes modules


Module de traçage des quadrilatères

  • Interface master pour le contrôleur VGA

  • 2 Unité de Bresenham pour tracer les extrémités gauches et droites

  • Machine à état pour remplir des quadrilatères spécifié par le processeur (sens de l’aguille du montre)

  • Vitesse: 20 coups d’horloge pour le setup + 1 coup par pixel

  • Fifo pour les commandes du processeur

Tour des différentes modules


Schéma bloc / Machine à états

Tour des différentes modules


CPU2 – Processeur communication

  • Interagit avec CPU0

  • Accède au contrôleur réseau et PS2

  • Vérifie les paquets entrant du réseau

  • Génère les paquets vers le serveur et les coéquipiers

  • Réagit sur les messages du clavier

  • Assiste l’utilisateur dans la navigation du labyrinth

Tour des différentes modules


Pile des protocoles

Tour des différentes modules


Modes de navigation

Tour des différentes modules


Robustesse et vérification

  • La base matériel est stable depuis plusieurs semaines (Version 1.0 sur un processeur)

  • Les modules logiciels ont été testés individuellement

  • Les modules matériels ont été testés par des programmes de test et de vérification

Robustesse et vérification


Points critiques

  • Cohérence des données entre plusieurs processeurs (caches)

  • Utilisation des pointeurs (aucune protection de mémoire)

  • Au cas des interruptions les structures partagé doivent supporter la concurrence ou désactiver les interruptions

Robustesse et vérification


Développements futurs (Version 3.0)

  • Ajout de son

  • Ajout de la vrai 3D (ev. avec textures)

  • Interfaçage avec un manette de jeu

Développements futurs (Version 3.0)


Conclusion

  • Points forts

    • Plusieurs modes de navigation

    • Intelligence artificiel

    • Module VGA efficace (double buffering, clipping, palette logiciel, double bande passante)

    • Modules matériels pour l’affichage des primitives

    • Pile des protocoles complet et efficace

    • Déploiement rapide (code exécutable dans la flash, script de programmation)

  • Faiblesses:

    • Qualité du code (Nombres magiques, commentaires)

    • Prix: 2230$, 1230$ pour les étudiants (support et code source compris)

Conclusion


Questions…?

Pyratec’sTombExplorer 2.0

Questions


  • Login