Layout versus fluxo esquemático (LVS) e sua depuração na verificação física ASIC

Nó Fonte: 805035

O que é LVS?

Na implementação física ASIC, uma vez que o layout é gerado, ele deve seguir todas as regras de design para uma fabricação bem-sucedida e deve corresponder ao esquema do design necessário. Para garantir isso na verificação física, a Verificação de Regras de Projeto (DRC) é realizada para verificar se o layout segue as regras para fabricação sem falhas ou não. Essas verificações DRC fornecem bom rendimento de fabricação e evitam falhas durante a fabricação, porém não garantem a exatidão do layout. É necessário garantir que a implementação física do projeto seja a mesma que os esquemas do projeto. Para isso, o circuito elétrico da netlist de layout é comparado com a netlist esquemática, que é conhecida como Layout versus Schematic (LVS).

Aqui, as ferramentas IC Validator e IC Compiler-II (SYNOPSYS) são usadas para execuções LVS e PnR.

Figura 1: LVS
Figura 1: LVS

Conforme mostrado na figura acima, LVS é uma comparação entre layout, que é representado por GDS e esquemático que é gerado pela ferramenta usando verilog netlist.

Os arquivos de entrada para LVS na ferramenta ICV estão listados abaixo:

  • GDS (arquivo de fluxo de layout): É usado pela ferramenta LVS para gerar netlist de layout por extração, que é usada para comparação LVS.
  • Netlist esquemática: É usada como uma netlist de origem para comparação LVS.
  • Arquivo de deck de regras: o arquivo de deck de regras consiste em instruções e arquivos necessários para orientar a ferramenta para realizar o LVS. Este arquivo de deck de regras também contém uma definição de camada, que é útil para extração.
  • Arquivo de equivalência: É utilizado pela ferramenta para comparação ICV LVS e consiste em pares de células, que são compostos por um da netlist de layout e outro da netlist esquemática.

Fluxo LVS

O fluxo LVS consiste principalmente na extração e comparação da netlist do layout e da netlist esquemática. O fluxo LVS é representado na figura-2. ICV tem utilitário nettran para tradução de netlist verilog de entrada para netlist esquemática ICV, que é mais útil para fins de comparação. Todos os dispositivos e conexões entre eles são extraídos do GDS na etapa de extração de layout. A ferramenta também gera um arquivo de pontos de equivalência após a extração para comparação de layout e esquemático. Este arquivo de equivalência é útil para comparação. Na etapa de comparação, a netlist extraída é comparada com a netlist esquemática e a ferramenta dá um resultado limpo, se ambas as netlists coincidem completamente, caso contrário, a ferramenta gera relatórios de erro. Na etapa de comparação, a ferramenta faz a comparação da seguinte maneira: A ferramenta compara o número de dispositivos no esquema e no layout, o número de redes no esquema e no layout, tipos de dispositivos no esquema e no layout e, em seguida, gera os relatórios de resultados . O relatório de erros contém uma lista de dispositivos incorretos, redes incorretas, o que é útil para depurar o problema de LVS.

Figura 2: Fluxo LVS
Figura 2: Fluxo LVS

Obtenha soluções de fita de silicone em nós de tecnologia inferior de 180 nm a 16 nm, 7 nm, 5 nm e abaixo

Clique aqui

Problemas comuns de LVS e sua depuração

  • Abra
  • Shorts
  • Componentes ausentes
  • Falta conexão de rede global

Abra: As formas das redes com o mesmo texto de layout não estão se cruzando ou tocando as causas das aberturas no design. Aberturas no projeto são responsáveis ​​por conexões flutuantes no projeto. Esta conexão flutuante causará grandes defeitos no chips (ASIC / FPGA). Portanto, é muito importante encontrar aberturas no design. Executar o utilitário de localização aberta da ferramenta PnR antes de executar o LVS é útil na fase inicial de projeto.

O exemplo abaixo mostra a detecção da abertura no projeto pela ferramenta LVS. Os relatórios gerados pela ferramenta descrevem a abertura no design, conforme mostrado no fragmento a seguir do relatório da ferramenta.

trecho do relatório da ferramenta

Resumo de erros mostra o resumo dos erros detectados com suas contagens. Para aberto, o extrator extrai a rede aberta como duas redes diferentes, de forma que o número de redes no layout seja maior do que o número de redes no esquema, conforme mostrado no relatório. O relatório mostra o número de redes no layout com o esquema correspondente. A rede esquemática BUF_net_152645, que é representada por duas redes N_11965140 e N_11989743 em layout (por causa da aberta), conforme mencionado no relatório.

Esse tipo de problema pode ser resolvido conectando formatos de layout de rede única que é deixada aberta.

Figura 3: aberto
Figura 3: aberto

DOWNLOAD DO ESTUDO DE CASO

Verificação e Projeto Físico de Ethernet Ótica ASIC

Faça o download

Baixo: Se as camadas no layout com texto de layout diferente estiverem se sobrepondo ou se cruzando, isso resultará em curto no design. A presença do curto no projeto causará falha do chip. É importante encontrar shorts presentes no design executando shorts PnR localizando utilidade ou executando LVS. O exemplo a seguir mostra como o curto é relatado pela ferramenta após a execução do LVS.

ferramenta depois de executar o LVS

Procurando assistência de verificação física? Estamos aqui para ajudar!

Contacte-nos agora

Quando o curto ocorrer no projeto, o extrator irá extrair as redes em curto como uma única rede, de forma que há apenas um layout de rede correspondente para duas redes no esquema, conforme mencionado no relatório. N738 e BUF_net_189972 são redes em curto.

O curto pode ser resolvido reencaminhando corretamente a rede.

Figura 4: Curto
Figura 4: Curto

Shorts internos com macros: Em um design físico, devido à complexidade do projeto ou devido a configurações incorretas, pode acontecer que a ferramenta PnR roteie as malhas de uma forma que crie um curto com as geometrias internas das macros. Também pode acontecer se o bloqueio de roteamento estiver ausente no LEF da macro. Às vezes, ao fazer o roteamento personalizado manual, um curto é criado entre a rota personalizada e o roteamento interno da macro. Este curto não é facilmente relatado no ambiente da ferramenta PnR. Quando mesclamos o GDS da macro física com o bloco de nível superior, o curto é visível no GDS. Este curto pode ser depurado usando o utilitário VUE do ICV. Abaixo está um trecho que mostra como uma rede de sinal é roteada incorretamente pela macro física. A camada é bloqueada sobre a macro, pois as geometrias internas da macro rígida estão presentes. Esta rede causará um curto com as geometrias internas da macro.

Figura 5: Curto com geometria interna da macro (visualização da ferramenta PnR)
Figura 5: Curto com geometria interna da macro (visualização da ferramenta PnR)

Abaixo está o trecho do GDS mesclado, que mostra claramente o curto.

Figura 6: curto com geometria interna da macro (visualização GDS)
Figura 6: curto com geometria interna da macro (visualização GDS)

O relatório gerado é semelhante ao mostrado para o relatório curto. O fragmento deste exemplo é o seguinte.

O relatório gerado é semelhante

PG curto com rede de sinal: Quando há um curto PG no design, é muito difícil identificá-lo. O curto PG pode ser um curto entre uma rede de energia e uma rede de aterramento ou pode ser um curto entre uma rede de energia / terra e uma rede de sinal. Quando uma rede PG está em curto com uma rede de sinal razoavelmente longa e uma vez que a rede PG está conectada a tantos dispositivos, é muito difícil apontar um local curto. Para depurar esse problema, existe uma maneira no ICV de adicionar um texto na rede de sinal que está em curto com a rede PG.

A seguir está um exemplo de adição de um texto na rede de sinal. Este nome de rede pode ser facilmente descoberto no relatório de erros LVS. Pegue qualquer local onde exista a rede de sinal de curto (pegue qualquer camada) e coloque um texto de qualquer nome de tag sobre ele, em um local definido pelo valor de origem no comando abaixo.

create_shape -shape_type text -layer -origin <{llx lly}> -height 1 -orientation R0 -justification LB -text “ ”

Abaixo está um exemplo de como depurar PG short com qualquer rede de sinal usando adição de texto.

Devido ao preenchimento de metal incorreto e alterações de roteamento manual, um curto foi criado entre a rede VSS e uma da rede de sinal, conforme mostrado na figura abaixo.

Figura 6-: PG curto com rede de sinal devido a preenchimento de metal incorreto
Figura 6-: PG curto com rede de sinal devido a preenchimento de metal incorreto

Foi muito difícil descobrir a localização curta, pois a própria rede de sinal era muito longa. Na rede de sinal, uma camada de texto foi criada usando o comando mostrado acima e LVS foi executado novamente. Agora, o curto entre o VSS e o texto era facilmente visível no localizador de abreviações LVS, e o instantâneo acima mostra o erro destacado usando o banco de dados VUE do ICV.

Componentes ausentes

Se algum arquivo Spice ou GDS estiver faltando durante a fusão do banco de dados, ele mostrará o erro de componentes faltantes. Por exemplo: se você tiver a célula ABC usada no design, mas não definida na lista GDS ou na lista de especiarias a ser usada para o fluxo LVS, isso pode causar erros de componentes ausentes. A lista precisa ser modificada ou a célula ABC precisa ser excluída da comparação LVS (isso depende da funcionalidade da célula, apenas células físicas podem ser excluídas da comparação).

Falta conexão de rede global

Se os pinos PG das células não estiverem conectados a nenhuma rede de energia / aterramento usando os comandos connect_pg_net, isso causará incompatibilidades de dispositivos e erros de LVS na maior parte do design. Por exemplo, mesmo se o nome do pino PG da célula padrão for VDD, a ferramenta não o conecta à rede VDD de design. Precisamos usar o comando abaixo para conectar esses pinos.

connect_pg_net -net VDD [get_pins -hierarchical * / VDD]

Conclusão

LVS é uma técnica útil para verificar a exatidão da implementação física da netlist. aberto, curtos, componentes ausentes e conexão de rede global ausente são problemas potenciais que podem afetar a funcionalidade do projeto e podem não ser detectados no estágio inicial de implementação, portanto, o LVS é útil para relatar esses problemas no projeto. Depois que esses problemas são relatados pela ferramenta de verificação física, eles podem ser resolvidos por várias técnicas, conforme discutido neste artigo.

Chirag Rajput, Nilay MehtaChirag Maniya

Cortesia de: Design & Reuse.com

Fonte: https://www.einfochips.com/blog/layout-versus-schematic-lvs-flow-and-their-debug-in-asic-physical-verification/

Carimbo de hora:

Mais de Fichas Einfo