Communitygithub.com

CATEular/skill - Layout Virtuoso

Crie ou edite layouts Virtuoso com tecnologia verificada, PCells, geometria de pinos, camadas, vias, restrições de casamento e roteamento; exporte GDS e execute ou interprete verificações DRC, LVS e PEX. Use para design físico e verificação de layout; problemas de conexão e criação de bancada de teste esquemática usam os skills irmãos correspondentes.

O que é skill - Layout Virtuoso?

Este skill permite a criação e edição de layouts Virtuoso para design físico de circuitos integrados, com suporte a PCells, vias, pinos e restrições de casamento e roteamento. Ele é útil para engenheiros de layout que precisam automatizar a geração de geometrias, verificar regras de design (DRC), comparar netlists (LVS) e extrair parasitários (PEX) diretamente no fluxo de trabalho. O skill opera nos agentes Claude Code e Cursor, integrando-se com o ecossistema Virtuoso via APIs Python e SKILL. O processo começa com a leitura de configurações compartilhadas e verificação da tecnologia alvo, seguido pela edição passo a passo do layout usando PCells verificados e regras do PDK definido. Após a edição, o layout é salvo, verificado geometricamente e submetido a DRC/LVS/PEX, gerando relatórios claros e exportando GDS. Importante: o skill depende de skills irmãos para criação de bancada de teste (virtuoso-testbench) e ajuste de parâmetros (virtuoso-params), e não deve inferir conexões de capturas de tela nem reutilizar resultados de verificação antigos.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/CATEular/skill/tree/HEAD/skills/virtuoso-workflow/virtuoso-layout

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Layout Virtuoso

Responsável pela leitura do layout, posicionamento de dispositivos, casamento e roteamento, pins/vias, GDS e DRC/LVS/PEX. Após a verificação física, a medição pós-simulação é delegada ao virtuoso-testbench, e o ajuste de parâmetros ao virtuoso-params.

Verificação Prévia

Leia as convenções da plataforma e o protocolo de configuração de ambiente, carregue a configuração local compartilhada e conecte-se conforme necessário. Especifique claramente lib/cell/view, PDK, ligação de processo, versão do esquemático, área alvo, requisitos de casamento/corrente/parasitários. A ligação tecnológica é consultada no banco de dados, sem confiar no estado do histórico.

Leia o layout-python-api.md, layout-skill-api.md e verifique as assinaturas reais da instalação. A interface de ligação tecnológica está em library-python-api.md.

Fluxo de Edição

  1. Leia a hierarquia, dispositivos reais e geometria dos terminais, camadas/purpose legais, grade de fabricação, viaDefs e o layout existente. Não adivinhe coordenadas de conexão por capturas de tela.
  2. Elabore uma estratégia de posicionamento e roteamento, detalhando as restrições necessárias de simetria, casamento, concentricidade, anel de guarda, sinais de alimentação e sensíveis. As regras vêm do PDK real selecionado na configuração; não escreva valores fixos de outros processos.
  3. Use modify() por padrão; use create() apenas para novas views; verifique antes se haverá sobrescrita. Gere dispositivos usando PCells e parâmetros confirmados, evite desenhar manualmente dispositivos complexos do processo.
  4. Coordenadas Python usam tuple/list; coordenadas SKILL são geradas pelo construtor da API. A capacidade de criar label/via/PCell por script é validada pelas funções reais e versão atual, não herde conclusões de cookbooks antigos como "deve ser GUI".
  5. Use direções de roteamento e grade compatíveis com as regras do processo; roteamento ortogonal é um ponto de partida comum, mas a direção e o ângulo são determinados pelo PDK. Coloque labels de pin na camada/formato corretos; um label não equivale automaticamente a um pin com terminal elétrico completo.
  6. Salve, leia de volta a geometria e os pinos, e faça captura de tela para verificação; se o zoom ocultar formas pequenas, primeiro leia a quantidade de shapes e o bbox, sem recriar.

Verificação e Entrega

Siga verification.md para preparar o stream map / deck / top cell, exporte o novo GDS desta execução e verifique o log da execução atual. Relate separadamente DRC, LVS e PEX; a aprovação de um item não implica aprovação dos outros. Quando não houver ferramenta, licença ou deck, entregue o layout e o plano de verificação, com status explicitamente como "não executado".

Após alterações no layout, regere os resultados de verificação relacionados; é proibido usar PEX antigo como resultado do layout atual. A entrega inclui localização do layout, GDS, logs de verificação atuais, itens não resolvidos e o status pós-simulação solicitado pelo usuário.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Habilidades Relacionadas