CONCEPT SOLUTIONS LLC
SiFive
Engenheiro Principal de Verificação de Design – CPU Core LSU
SOBRE A SIFIVE
Como pioneira que introduziu o RISC-V ao mundo, a SiFive está transformando o futuro da computação ao trazer o potencial ilimitado do RISC-V para as aplicações de mais alto desempenho e mais intensivas em dados do mundo. As plataformas de computação incomparáveis da SiFive continuam a permitir que empresas líderes de tecnologia em todo o mundo inovem, otimizem e entreguem as soluções mais avançadas de amanhã em todos os segmentos de mercado de design de chips, incluindo inteligência artificial, machine learning, automotivo, data center, mobile e consumo. Com a SiFive, o futuro do RISC-V não tem limites.
Na SiFive, estamos sempre animados para nos conectar com indivíduos talentosos, que são tão apaixonados por impulsionar a inovação e mudar o mundo quanto nós. Nossa inovação constante e sucesso contínuo se devem às nossas incríveis equipes de pessoas incrivelmente talentosas, que colaboram e se apoiam para criar ideias e soluções verdadeiramente inovadoras. Soluções que terão um enorme impacto na vida das pessoas; tornando o mundo um lugar melhor, um processador de cada vez.
Você está pronto?
Para saber mais sobre o sucesso fenomenal da SiFive e ver por que ganhamos o prestigioso prêmio de Empresa Mais Respeitada do Ano da GSA (pela quarta vez!), confira nosso site sifive.com/ e nossas páginas no Glassdoor glassdoor.com/Overview/Working-at-SiFive-EI_IE1922671.11,17.htm.
Descrição da Vaga
SOBRE A POSIÇÃO
A SiFive está procurando um Engenheiro Principal de Verificação de Design para liderar a estratégia e execução de verificação para a Unidade de Carga-Armazenamento (LSU) do Núcleo da CPU em um núcleo out-of-order de alto desempenho.
Esta é uma posição de liderança técnica principal para um engenheiro que pode definir a estratégia de verificação ciente da arquitetura, identificar os problemas microarquiteturais de maior risco precocemente e resolver os problemas de verificação de LSU mais difíceis, abrangendo ordenação de carga/armazenamento, tratamento de hazards, coerência de cache e consistência de memória.
A função exige parceria próxima com as equipes de arquitetura, RTL, formal, desempenho e verificação para garantir que a intenção do design seja capturada corretamente, a depurabilidade seja considerada precocemente e a qualidade de signoff seja alcançada com metodologia escalável e forte julgamento técnico.
RESPONSABILIDADES
- Liderar a estratégia de verificação para a LSU do Núcleo da CPU, incluindo planejamento, execução, depuração, análise de cobertura e fechamento em nível de bloco e de núcleo.
- Definir estratégias de verificação para comportamentos complexos de LSU, incluindo ordenação de carga/armazenamento, tratamento de dependência, detecção de hazards, comportamento de barreiras e fences, consistência de memória, operações atômicas e interação com regras de ordenação de memória fraca.
- Impulsionar a verificação do comportamento de LSU voltado para o cache, incluindo tratamento de acertos e falhas de cache, snoops, evicções, interações de estado de coerência e correção de dados em L1 e interações com a hierarquia de memória downstream.
- Ser responsável pela verificação de casos de canto envolvendo acessos sobrepostos, false sharing, cargas e armazenamentos pendentes na mesma linha de cache, encaminhamento de dados, reparo de execução especulativa e tratamento de resposta out-of-order.
- Desenvolver verificadores de alto valor, scoreboards, asserções, estratégias de estímulo e modelos de cobertura que exponham casos de canto e melhorem a eficiência de detecção de bugs para cenários de coerência e consistência.
- Aplicar o método de verificação correto para o problema, incluindo simulação, técnicas formais e emulação, para melhorar a qualidade, acelerar o tempo de resposta e fortalecer a eficiência de depuração em cargas de trabalho de verificação de CPU de grande porte.
- Colaborar com arquitetos e designers desde os estágios iniciais de definição de recursos para revisar especificações, identificar ambiguidades e melhorar a depurabilidade do design e a qualidade da verificação antes que a implementação se solidifique.
- Impulsionar a análise eficiente de causa raiz entre especificação, RTL, conteúdo de teste, asserções e infraestrutura de verificação, especialmente para falhas difíceis de coerência e ordenação de memória.
- Orientar engenheiros em toda a organização, influenciar a metodologia e moldar abordagens de verificação reutilizáveis que beneficiem futuras gerações de núcleos de CPU e subsistemas de memória.
QUALIFICAÇÕES MÍNIMAS
- Bacharelado, Mestrado ou Doutorado em Engenharia Elétrica, Engenharia da Computação, Ciência da Computação ou área relacionada.
- 12+ anos de experiência relevante em verificação funcional de CPU/núcleo ou SoC, com profundidade apropriada para uma função Principal / T6.
- Experiência direta com verificação de núcleo out-of-order e forte compreensão de microarquitetura de CPU.
- Profundo conhecimento em verificação de Unidade de Carga-Armazenamento, ordenação e consistência de memória, ou áreas de microarquitetura de núcleo de CPU intimamente relacionadas.
- Forte compreensão de sistemas com coerência de cache, comportamento da hierarquia de memória e verificação de semânticas de ordenação, snooping e controle de fluxo em todo o subsistema de memória.
- Forte conhecimento de metodologia de verificação, incluindo planejamento de testes, geração de estímulos, análise de falhas, análise de cobertura e fechamento de cobertura.
- Fortes habilidades de depuração e a capacidade de traduzir a intenção arquitetural em estratégia e execução de verificação eficazes.
- Fortes habilidades de desenvolvimento de software, scripting e automação para construir infraestrutura e fluxos de trabalho de verificação escaláveis.
Bacharelado/Mestrado/Doutorado em EE, CE ou CS
12+ anos de experiência relevante com verificação funcional de Núcleo/CPU
8+ anos de experiência direta em verificação de gerenciamento de memória
Profundo entendimento de arquitetura de computadores
Desenvolvedor experiente usando princípios de programação orientada a objetos
QUALIFICAÇÕES DESEJÁVEIS
- Experiência direta na verificação de coerência de cache, ordenação de memória fraca e desafios de consistência de memória multicore.
- Experiência com verificação formal de propriedades de LSU ou subsistema de memória, como correção de dados de carga, ordenação de armazenamento, sincronização de barreiras, tratamento de dependência, liveness e progresso.
- Experiência na verificação de interações entre LSU, hierarquia de cache, interconexão coerente e limites do subsistema de memória em SoCs grandes.
- Experiência com abordagens de verificação estilo litmus ou orientadas a modelo de memória para expor bugs profundos de coerência e consistência.
- Experiência em colaborar efetivamente com equipes de desempenho, compiladores, software, formal e verificação de sistemas para fechar lacunas de verificação de múltiplas perspectivas.
- Liderança técnica demonstrada através da orientação de engenheiros, influência na metodologia e condução da execução entre equipes em esforços complexos de verificação.
O QUE O SUCESSO REPRESENTA
- Planos de verificação capturam os riscos reais de arquitetura e microarquitetura de LSU precocemente e completamente.
- Bugs difíceis de LSU envolvendo coerência, ordenação, consistência e casos de canto de permissão de cache são encontrados precocemente, depurados eficientemente e fechados com correções duradouras.
- A qualidade da verificação melhora em toda a organização de DV de CPU mais ampla através de metodologia mais forte, melhor orientação técnica e infraestrutura reutilizável.
- As equipes de arquitetura, design e DV confiam neste engenheiro como líder técnico para os desafios mais complexos de verificação de LSU e subsistema de memória no desenvolvimento de CPU de alto desempenho.
Trabalhar na solução de desafios de verificação de unidades de gerenciamento de memória que estão sendo reutilizadas em várias gerações diferentes dos Núcleos, bem como na unidade de gerenciamento de memória de IO. Isso inclui hypervisor, virtualização e virtualização de convidado.
Informações Adicionais
Esta posição requer verificações de antecedentes e referências bem-sucedidas e prova satisfatória do seu direito de trabalhar nos Estados Unidos da América.
Qualquer oferta de emprego para esta posição também está condicionada à verificação pela Empresa de que você está autorizado para acesso a tecnologia controlada para exportação sob as leis de controle de exportação aplicáveis ou, se você ainda não estiver autorizado, nossa capacidade de obter com sucesso quaisquer licenças de exportação ou outras aprovações necessárias.
A SiFive é uma empregadora de igualdade de oportunidades. Celebramos a diversidade e estamos comprometidos em criar um ambiente inclusivo para todos os funcionários.
Como empregadora E-Verify, usamos este sistema para confirmar a elegibilidade de emprego de todos os novos contratados de acordo com a lei federal. Todos os candidatos serão obrigados a preencher um Formulário I-9, Verificação de Elegibilidade de Emprego, após a contratação. Não usamos o E-Verify para pré-selecionar candidatos e cumpriremos todos os regulamentos do E-Verify.
Além do salário base, esta função pode ser elegível para remuneração variável/incentivo e/ou ações. Além disso, esta função é elegível para um pacote abrangente e competitivo de benefícios, que pode incluir planos de saúde e aposentadoria, tempo de folga remunerado e muito mais!
