B&A
Efficient Computer
Ingénieur principal en conception RTL
À propos du poste
Efficient Computer repense l'informatique depuis ses fondements pour résoudre l'un des plus grands défis de l'IA : l'énergie. Notre architecture Fabric offre une amélioration de 10 à 100 fois de l'efficacité énergétique pour le calcul à usage général, y compris l'IA, tout en prenant en charge les langages de programmation et les frameworks logiciels familiers, ouvrant ainsi de nouvelles possibilités pour les machines autonomes, l'infrastructure intelligente, les objets connectés et les systèmes spatiaux. Avec notre premier processeur, Electron E1, désormais livré en volume et plus de 97 millions de dollars de financement de série B récemment annoncés, nous accélérons les déploiements chez nos clients et adaptons notre architecture aux performances des centres de données. Rejoignez-nous pour construire le matériel et les logiciels qui apportent l'intelligence là où elle est nécessaire et aidez à façonner la prochaine génération d'informatique.
Nous recherchons un ingénieur principal en conception RTL pour prendre en charge la définition de la microarchitecture et la mise en œuvre RTL sur l'ensemble de la structure d'exécution des flux de données, le sous-système mémoire, l'interconnexion sur puce/NoC, la logique basse consommation et l'intégration d'IP périphériques standard (RiscV, NVM, I2S, I2C). Vous travaillerez depuis les spécifications architecturales jusqu'au RTL prêt pour la synthèse, en collaborant avec les architectes, les microarchitectes, les responsables DV, la conception physique et les équipes de firmware pour réaliser le tape-out d'un SoC économe en énergie à la pointe de l'industrie.
Il s'agit d'une opportunité unique de faire partie d'une organisation d'ingénierie matérielle nouvellement formée et d'avoir une influence sur nos produits et processus alors que nous passons des étapes initiales du développement de produits à la mise sur le marché et à la production en volume à grande échelle. Rejoignez notre équipe et aidez-nous à façonner l'avenir de l'informatique à la périphérie et au-delà !
Pourquoi rejoindre Efficient ?
Construisez ce qui vient ensuite. Chez Efficient, vous relèverez de grands défis avec la possibilité de prendre des responsabilités et d'avoir un impact. Nous vous soutenons avec une rémunération compétitive, des capitaux propres, un abondement 401(k), des avantages payés par l'entreprise, un congé parental payé et de la flexibilité, ainsi que des opportunités de développer vos compétences et votre carrière à mesure que nous grandissons.
Responsabilités clés
- Définition de la microarchitecture (objectif principal) : Assurer la conception et la définition de la microarchitecture du processeur et de l'unité de calcul, y compris les pipelines de flux de données, les unités d'exécution et les interfaces. Fixer les objectifs de performance, de puissance et de surface, et guider l'équipe pour les atteindre.
- Interconnexions sur puce et intégration système : Définir et piloter la conception des réseaux sur puce et le transfert de données à travers la structure, en équilibrant les performances, l'évolutivité et les contraintes de mise en œuvre en collaboration avec la conception physique.
- Sous-système mémoire et architecture système : Définir l'interface avec le sous-système mémoire, y compris le transfert de données, l'ordonnancement et le comportement de synchronisation, en garantissant un modèle propre et évolutif pour les logiciels et l'expansion future du système.
- Reconfiguration et modèle d'exécution : Diriger l'architecture de configuration, de planification et d'exécution des charges de travail sur la structure, y compris la prise en charge multi-noyaux et l'interaction avec les systèmes hôtes.
- Gestion de l'alimentation et conception basse consommation : Piloter l'architecture de puissance sur l'ensemble de la conception, y compris l'horloge, la réinitialisation, les domaines de puissance et les stratégies basse consommation pour atteindre des objectifs ambitieux en matière d'énergie et d'efficacité.
- Co-conception matériel/logiciel : Collaborer étroitement avec les équipes de compilation et de logiciels pour définir le modèle d'exécution matériel, garantissant une cartographie efficace des charges de travail sur l'architecture.
Spécifications, documentations et revues : Rédiger et prendre en charge les documents de spécification uArch pour les blocs assignés ; piloter les revues de conception avec les parties prenantes de l'architecture, du compilateur, de la DV et de la conception physique.
- Mentorat et amélioration des processus : Encadrer les ingénieurs RTL seniors et juniors ; examiner le RTL, signaler les risques liés à la microarchitecture et faire respecter les normes de style de codage et de nettoyage lint au sein de l'équipe.
- Pilotage des métriques PPA : Participer aux boucles d'analyse PPA : synthétiser régulièrement les blocs, examiner les rapports de surface/timing/puissance et effectuer des compromis basés sur les données par rapport aux exigences de performance et de fonctionnalités.
- Collaboration DV : Collaborer avec les responsables DV pour définir/examiner les plans de vérification ; fournir des scénarios de test dirigés pour les cas limites d'exécution de graphes, les conditions de contre-pression et les transitions d'état de puissance.
- Mise en service du silicium : Soutenir la mise en service du silicium : contribuer aux directives de scan/ATPG, examiner l'insertion DFT et fournir une assistance au débogage au niveau RTL pendant la validation en laboratoire.
Qualifications et expérience requises
- 8+ années d'expérience en conception RTL avec maîtrise du tape-out de conception basée sur les flux de données, réseaux sur puce, sous-systèmes mémoire ou intégration de périphériques sur un processeur ou un SoC accélérateur.
- Maîtrise approfondie de SystemVerilog pour le RTL — propre pour la synthèse, propre pour le lint, conscient du timing ; capable de concevoir des machines à états complexes, des arbitres, des contrôleurs de flux de jetons et une logique de chemin de données à partir de zéro.
- Solide compréhension des modèles d'exécution parallèle : architectures de flux de données, SIMD ou réseaux systoliques ; familiarité avec les défis matériels de l'évaluation des règles de déclenchement basées sur les jetons et de la synchronisation producteur-consommateur.
- Expérience pratique de la conception de mémoire sur puce : wrappers SRAM, scratchpad/TCM, banking et interfaces de registres mappés en mémoire.
- Expérience des techniques RTL basse consommation : flux pilotés par UPF, gestion d'horloge (clock gating), domaines de puissance, registres de rétention et logique de réveil AON.
- Familiarité avec au moins un protocole de bus standard sur puce (AXI, AHB, APB, TileLink ou équivalent NoC) au niveau de la mise en œuvre RTL.
- Expérience de la conduite du RTL à travers la synthèse et la clôture temporelle ; capacité à lire et à agir sur les contraintes SDC, les rapports STA et les résumés QoR de synthèse.
- Solides compétences en communication écrite ; capable de produire des spécifications uArch et du matériel de revue de conception de manière indépendante.
- Expérience avec les chaînes d'outils de compilation de mémoire
Qualifications et expérience souhaitées
- Expérience préalable en propriété RTL d'un moteur de flux de données, d'une unité de traitement neuronal (NPU) ou d'une architecture DSP de streaming avec gestion explicite des jetons producteur-consommateur.
- Expérience de collaboration avec des équipes de compilation ou d'optimisation de graphes pour co-concevoir des modèles d'exécution matériels et des représentations IR de graphes.
- Familiarité avec le RTL de contrôleur NVM (MRAM, RRAM) y compris ECC, séquençage de programmation/effacement et cas d'utilisation de stockage de poids de modèle.
- Expérience avec les budgets de puissance de classe IoT (inférieur à 10 mW en actif, inférieur à 100 µW en veille) et les choix de conception RTL qu'ils nécessitent.
- Familiarité avec les normes de sécurité fonctionnelle (ISO 26262, IEC 61508) appliquées à la détection d'erreurs de la structure d'exécution et à l'isolation des domaines de puissance.
- Exposition aux formats de graphes de frameworks IA (ONNX, TFLite) et compréhension de la façon dont la compilation de graphes s'articule avec les primitives d'exécution matérielles.
- Crédits de tape-out sur un SoC d'IA en périphérie, IoT ou portable à 12nm ou moins.
- Expérience de la vérification formelle de la logique de contrôle de flux, de l'absence d'interblocage ou de la conformité aux protocoles de bus.
Nous offrons un salaire de base compétitif pour ce poste, allant généralement de 200,000 $ à 275,000 $, plus un bonus annuel de 10%, des capitaux propres significatifs et des avantages sociaux complets. La rémunération finale dépendra de l'expérience, du niveau et du lieu, avec une flexibilité pour le bon candidat.
