Discussão: o projeto OpenROAD pretende solucionar o desafio da automação no design de processadores

Discussão: o projeto OpenROAD pretende solucionar o desafio da automação no design de processadores
Foto — Pexels — CC BY

De acordo com dados A PWC, o mercado de tecnologias semicondutoras está crescendo — no ano passado, alcançou 481 bilhões de dólares. No entanto, as taxas de crescimento têm diminuído recentemente. diminuíram. Entre as razões para a queda estão a complexidade dos processos de design de dispositivos e a falta de automação.

Há alguns anos, engenheiros da Intel reportou, afirmaram que na criação de um microprocessador de alto desempenho é necessário usar de 100 a 150 ferramentas de software diferentes (EDA). A situação pode se agravar no caso de dispositivos heterogêneos, cuja arquitetura inclui vários tipos diferentes de chips — ASIC, FPGA, CPU ou GPU. Como resultado, ocorrem erros no design, que atrasam o lançamento de produtos.

Apesar do grande número de ferramentas auxiliares, parte do trabalho os engenheiros ainda são obrigados a realizar manualmente. Os autores do livro “Advanced Logic Synthesis” afirmam que, por vezes, os projetistas precisam escrever scripts em Skill ou Python a partir de dois milhões de linhas para formar bibliotecas com células.

. Scripts também são escritos para analisar relatórios gerados por sistemas EDA. Ao desenvolver um chip utilizando o processo tecnologico de 22 nm, esses relatórios podem chegar a ocupar até 30 terabytes.

Para corrigir a situação e tentar padronizar os processos de design, a DARPA decidiu intervir. A agência também acreditam, afirma que os métodos existentes de criação de chips estão ultrapassados. A organização lançou iniciou um programa de cinco anos OpenROAD, cujo objetivo é desenvolver novas ferramentas para automatizar os processos de design de chips.

O que é o programa

No programa, participam vários projetos que utilizam aprendizado de máquina e tecnologias em nuvem para automatizar etapas individuais da criação de chips. Dentro da iniciativa são desenvolvidos (diagrama 1) mais de uma dezena de ferramentas. A seguir, falaremos mais detalhadamente sobre algumas delas: Flow Runner, RePlAce, TritonCTS, OpenSTA.

Flow Runner — é uma ferramenta para gerenciamento de bibliotecas RTL e GDSII. Os últimos representam arquivos de banco de dados que são o padrão da indústria para troca de informações sobre circuitos integrados e suas topologias. A solução é baseada na tecnologia de contêineres Docker. O Flow Runner pode ser executado tanto em ambiente de nuvem quanto localmente. O guia de instalação está no repositório oficial no GitHub.

RePlAce — solução em nuvem baseada em aprendizado de máquina, responsável pela colocação de componentes em um chip e automação de roteamento. Por alguns dados, algoritmos inteligentes aumentam a eficiência da ferramenta em 2–10% em comparação com sistemas clássicos. Além disso, a implementação em nuvem facilita a escalabilidade. Um guia para instalação e configuração também está no repositório.

TritonCTS — utilitário para otimizar os pulsos de clock enviados ao chip. Ajuda a roteirizar sinais de sincronização em todas as partes do dispositivo com atrasos iguais. O princípio de funcionamento é baseado em árvores H. Essa abordagem aumenta a eficiência da distribuição de sinais em 30%, em comparação com métodos tradicionais. Os desenvolvedores afirmam que, no futuro, esse índice pode ser aumentado para 56%. O código-fonte e os scripts do TritonCTS estão no GitHub.

OpenSTA — motor para análise de temporização estática. Ele permite que o desenvolvedor verifique a funcionalidade do chip antes de sua montagem real. Um exemplo de código no OpenSTA aparece é assim.

@@ -6,7 +6,7 @@ read_liberty -corner ff example1_fast.lib
read_verilog example1.v
link_design top
set_timing_derate -early 0.9
set_timing_derate -early 1.1
set_timing_derate -late 1.1
create_clock -name clk -period 10 {clk1 clk2 clk3}
set_input_delay -clock clk 0 {in1 in2}
# report all corners

O utilitário suporta descrições de netlist de código em Verilog, bibliotecas no formato Liberty, arquivos SDC, entre outros.

Vantagens e desvantagens

Especialistas da IBM e da IEEE observam, que tecnologias de nuvem e aprendizado de máquina já deveriam ser utilizadas na fabricação de chips. Na opinião deles, o projeto DARPA pode servir como um bom exemplo de implementação dessa ideia e inaugurará mudanças na indústria.

Também se espera que a natureza aberta do OpenROAD permita a formação de uma comunidade forte ao redor das ferramentas e atraia novas startups.

Discussão: o projeto OpenROAD pretende solucionar o desafio da automação no design de processadores
Foto — Pexels — CC BY

Já existem participantes — um laboratório, que está desenvolvendo chips na Universidade de Michigan, será o primeiro, a testar as ferramentas abertas do OpenROAD. Mas ainda é incerto se as novas soluções terão um efeito significativo no custo dos produtos finais.

Em geral, espera-se que as ferramentas desenvolvidas sob a liderança do DARPA tenham um impacto positivo na indústria de processadores, e cada vez mais novos projetos começarão a aparecer nesse campo. Um exemplo pode ser a ferramenta gEDA — ele permite projetar chips com um número ilimitado de componentes. gEDA inclui ferramentas para edição e modelagem de circuitos integrados e traçado de placas. A solução foi desenvolvida para plataformas UNIX, mas vários de seus componentes também funcionam no Windows. O manual de uso pode ser encontrado na documentação do site do projeto.

Ferramentas de código aberto oferecem a organizações independentes e startups mais possibilidades. Existe a probabilidade de que, ao longo do tempo, novas abordagens do OpenROAD para o desenvolvimento de ferramentas EDA e a criação de circuitos integrados possam se tornar o padrão da indústria.

Sobre o que escrevemos em nosso blog corporativo:

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster