CADathlon Brasil - III Maratona Brasileira de Programação para Projeto Automatizado de Circuitos Integrados

Destaques do CADAthlon Brasil 2023

O CADAthlon Brasil 2023 – III Maratona Brasileira de Programação para Projeto Automatizado de Circuitos Integrados (https://csbc.sbc.org.br/2023/cadathlon-brasil/) ocorreu no dia 8 de agosto, em João Pessoa, estado da Paraíba, Brasil, como um evento satélite (co-localizado) com o 43˚ Congresso da SBC (Sociedade Brasileira de Computação). O evento foi organizado pela Universidade Federal de Pelotas (UFPel), Instituto Federal Sul-rio-grandense (IFSul), Instituto Federal da Paraíba (IFPB), Universidade Federal de Santa Catarina (UFSC) e Universidade Federal da Paraíba (UFPB), com o apoio do ACM/SIGDA, IEEE CEDA (Council on Electronic Design Automation), SBC/CECCI (Comissão Especial de Concepção de Circuitos e Sistemas Integrados) e SBMicro (Sociedade Brasileira de Microeletrônica). O CADAthlon Brasil 2023 foi patrocinado pela Synopsys, Chipus Microeletrônica, EnSilica, HCLTech, ACM/SIGDA, IEEE CEDA, IEEE Circuits and Systems Society (CASS) e SBC/CECCI (Comissão Especial de Concepção de Circuitos e Sistemas Integrados).

Assim como nas edições passadas, o CADAthlon Brasil 2023 seguiu o mesmo formato do ACM/SIGDA
CADAthlon, competição que acontece anualmente junto ao ICCAD (
International Conference on Computer-Aided Design). Durante todo o dia, 10 equipes formadas por duplas de estudantes de graduação e/ou de pós-graduação vindos de diferentes regiões do Brasil trabalharam para resolver 6 problemas práticos sobre tópicos clássicos de EDA, tais como projeto e análise de circuitos, projeto físico, síntese lógica, síntese de alto
nível, verificação de circuitos e aplicação de IA para automação de projetos. Os problemas foram preparados por uma equipe de pesquisadores da indústria e da academia.

Este ano o primeiro lugar foi conquistado pela equipe “Flamengo”, da Universidade de Brasília (UnB), formada por Enzo Yoshio Niho e Eduardo Quirino de Oliveira, e o segundo lugar foi conquistado pela equipe “Rabisco”, da Universidade Federal de Santa Catarina (UFSC), formada por Arthur João Lourenço e Bernardo Borges Sandoval. As 2 melhores equipes foram convidadas a participar do CADAthlon@ICCAD – SIGDA,
competição que ocorre junto ao ICCAD (International Conference on Computer-Aided Design) e que será realizada em São Francisco/CA (EUA), nos dias 29/Outubro a 2/Novembro de 2023.

COLOCAÇÃO EQUIPE INSTITUIÇÃO MEMBRO 1 MEMBRO 2 PONTUAÇÃO
1 Flamengo Universidade de Brasília (UnB) Enzo Yoshio Niho Eduardo Quirino de Oliveira 51
2 Rabisco-UFSC Universidade Federal de Santa Catarina (UFSC) Bernardo Borges Sandoval Arthur João Lourenço 48,25
3 Amigos do André Universidade Federal de Santa Catarina (UFSC) Lucas Yuki Imamura João Mai 45
4 [UnB] Sorvetinho Eletrônico Universidade de Brasília (UnB) Tiago de Souza Fernandes Alberto Tavares Duarte Neto 38
5 Grande Rio Universidade Federal do Rio Grande (FURG) Amanda Macedo Borges Mateus Estrêla Pietro 30

A Comissão Organizadora do CADAthlon Brasil 2023 agradece imensamente aos organizadores do Congresso da SBC pelo apoio logístico, à equipe de preparação de problemas e aos apoios das sociedades e parceiros corporativos. Em especial, agradecemos aos patrocinadores Synopsys, Chipus Microeletrônica, HCLTech, ACM/SIGDA, IEEE Circuits and Systems Society (CASS), SBC/CECCI (Comissão Especial de Concepção de Circuitos e Sistemas Integrados) e IEEE CEDA (através do seu Capítulo Brasileiro), cujo suporte financeiro viabilizou a cobertura das despesas de viagem dos competidores, tornando o evento um grande sucesso!

A próxima edição do CADAthlon Brasil está prevista para ocorrer como evento satélite do 44º Congresso da SBC, em julho de 2024, em Brasília/DF, capital do Brasil.

Fotos e legendas:

Equipe “Flamengo”, primeira colocada do CADAthlon Brasil 2023


Equipe “Rabisco”, segunda colocada do CADAthlon Brasil 2023

Laboratório de computação do IFPB onde ocorreu o CADAthlon Brasil 2023

Competidores e organizadores do CADAthlon 2023

CADAthlon Brasil 2023: organizadores do CADAthlon e representante da HCLTech.

CADAthlon Brasil 2023: banner e entrada do laboratório

CADAthlon Brasil 2023: Coffee break

Sobre o Evento

A III Maratona Brasileira de Programação para Projeto Automatizado de Circuitos Integrados (CADathlon Brasil 2023) é uma competição de programação com foco na temática de técnicas e ferramentas para a automatização do projeto de circuitos integrados VLSI, normalmente referenciada por EDA (Electronic Design Automation), e que está inspirada no CADathlon, evento organizado pela ACM/SIGDA. A exemplo da primeira edição, que ocorreu como evento satélite do Congresso da SBC em 2010, nesta edição, as equipes serão compostas por duplas de estudantes de graduação e/ou de pós-graduação, as quais terão como desafio, resolver problemas de programação em temas relacionados aos tópicos de interesse listados a seguir. Os problemas serão apresentados somente no dia do evento, porém, as equipes inscritas irão receber com alguns dias de antecedência, informações preliminares a respeito do tema das questões, incluindo literatura associada a cada temática, para que possam assim, melhor se prepararem para a competição. A resolução dos problemas é realizada usando as linguagens de programação C/C++ e, possivelmente, alguma outra linguagem definida previamente nas informações preliminares. 

O CADathlon Brasil 2023 ocorrerá presencialmente, como um dos eventos satélite do 43˚ Congresso da SBC, no Instituto Federal da Paraíba (IFPB), em João Pessoa, Paraíba.

Todos os tópicos estão relacionados ao desenvolvimento de algoritmos e otimizações propostas para problemas da  área de EDA, incluindo por exemplo:

  • Circuit Design & Analysis
  • Physical Design & Design for Manufacturability
  • Logic & High-Level Synthesis
  • System Design & Analysis
  • Functional Verification & Testing
  • Future technologies (Bio-EDA, Security, AI, etc.)

Local: Laboratório de Informática do Instituto Federal da Paraíba (IFPB), em João Pessoa, PB.

Local e Horário:
O CADathlon Brasil 2023 ocorrerá no Laboratório de Informática (LAB-2), Bloco de Informática, primeiro
andar, Campus João Pessoa, na Avenida Primeiro de Maio, 720, do Instituto Federal da Paraíba
(https://goo.gl/maps/ozREAMgSSwhNGgwTA), Bairro Jaguaribe em João Pessoa/PB, em sessão única e
contínua, no dia 08 de agosto de 2023.
Horário de início: 9:00
Horário de término: 18:00

Os participantes poderão deixar a sala somente para ir ao sanitário, e mediante a autorização dos membros da
organização do CADathlon.
A organização do CADathlon oferecerá alimentação gratuita aos participantes:

  • Das 9h às 11h: coffee-break: frutas da estação (banana e maçã); pães receados (frango com requeijão,
    catupiry e peito de perú com ricota); croquetes (coxinha de frango e folhados de queijo do reino) e bolos
    (chocolate e rolo);
  • Às 13h será servido um lunch box: strogonoff de carne com arroz e batata palha, refrigerante, mini
    salada (molho), fruta, um bombom;
  • Às 15h30 17h: coffee-break: coffee-break: frutas da estação (banana e maçã); pães receados (frango
    com requeijão, catupiry e peito de perú com ricota); croquetes (coxinha de frango e folhados de queijo
    do reino) e bolos (chocolate e rolo)

Observação: Caso você seja vegetariano ou tenha algum regime alimentar específico (intolerância à
lactose, à farinha de trigo etc), favor comunicar-nos o mais breve possível por email.

Divulgação do Resultado
O resultado será divulgado diretamente para todas as equipes por email, entre o término da sessão do
CADathlon e a manhã do dia 09 de agosto de 2023.

Premiação
A premiação das equipes que conquistarem o primeiro lugar e o segundo lugar ocorrerá no jantar oficial do
Congresso da SBC, na noite do dia 09 de agosto de 2023 (detalhes serão enviados em breve).
As duas equipes vencedoras receberão os tickets para participar do jantar, como parte da premiação.

Regras e Observações Gerais Sobre a Sessão de Competição:

  1. Haverá UM computador por equipe, o qual estará offline (sem internet) durante a prova;
  2. NÃO será permitido o uso de dispositivos eletrônicos durante a competição, exceto o computador
    fornecido pela organização;
  3. Os enunciados dos problemas estarão em pasta específica do computador fornecido;
  4. É permitida a consulta a qualquer material físico (livros, artigos, cadernos, documentação etc)
    levados pela dupla. Artigos citados na literatura básica estarão disponíveis no computador fornecido pela
    organização, em pasta específica;
  5. Os problemas deverão ser resolvidos usando as linguagens de programação C++ e Python, conforme
    especificado nos respectivos enunciados;
  6. Chegue ao local onde será realizado o CADathlon com uma antecedência não inferior a 15 minutos.
    Planeje cuidadosamente seu tempo de deslocamento;
  7. A sessão iniciará pontualmente às 9:00, sendo que nos minutos iniciais serão passadas as instruções gerais.

IMPORTANTE: Considerando as regras 2 e 4, vocês devem levar todo material que julgarem necessário para a
resolução dos problemas (os artigos da literatura básica estarão disponíveis offline junto com o código do
problema). Os problemas serão nas linguagens C++ e Python. Para facilitar, preparamos uma lista de algumas
bibliotecas que podem ser utilizadas pelos problemas:

C++: algorithm, array, assert.h, bitset, boost/filesystem.hpp, boost/program_options.hpp, cassert, cctype,
climits, cmath, cstdlib, cstring, exception, fstream, functional, iostream, limits, map, math.h, numeric, ostream,
queue, stack, stdexcept, stdio.h, stdlib.h, string, unordered_map, unordered_set, utility, vector

Python: sys

Temas dos Problemas e Literatura Básica:

Problem #1: Circuit Design & Analysis.
Tema: Static Timing Analsys
Bibliografia:
[1] Andrew B. Kahng, Jens Lienig, Igor L. Markov, Jin Hu, “VLSI Physical Design: From Graph Partitioning
to Timing Closure”. Editora Springer Dordrecht, 1a. Edição – Chapter 8: Timing Closure, 2011.
(https://doi.org/10.1007/978-90-481-9591-6)

Problem #2: Physical Design (& Design for Manufacturability)
Tema: Tap assignment for gated clock network
Bibliografia:
[1] W.-H. Chen, C.-K. Wang, H.-M. Chen, Y.-C. Chou, C.-H. Tsai, “A Comparative Study on Multisource
Clock Network Synthesis”, Proc. SASIMI, pp. 141-145, 2016.

Problem #3: Logic & High-Level Synthesis
Tema: Boolean Function Manipulation by Quantification
Bibliografia: No specific reference is provided

Problem #4: System Design & Analysis
Tema: Regression Set Construction
Bibliografia:
[1] Shady Copty, Shai Fine, Shmuel Ur, Elad Yom-Tov, Avi Ziv, “A probabilistic alternative to regression
suites”, Theoretical Computer Science, Volume 404, Issue 3, 2008, Pages 219-234, ISSN 0304-3975.
(https://doi.org/10.1016/j.tcs.2008.03.020)

Problem #5: Functional Verification & Testing
Tema: Circuit Rank-Ordering for Logic Simulation
Bibliografia:
[1] Digital Logic Testing and Simulation, Miczo A. (2nd edition) – Chapter 2: Simulation

Problem #6: Future technologies (Bio-EDA, Security, AI, etc.)
Tema: NPN boolean function identification
Bibliografia:
[1] M. D. Vieira et al., “Three-Input NPN Class Gate Library for Atomic Silicon Quantum Dots”, in IEEE
Design & Test, vol. 39, no. 6, pp. 147-155, Dec. 2022, doi: 10.1109/MDAT.2022.3189814.

Instruções para Inscrições

  1. Convide um colega ou amigo para formarem uma equipe para participar do CADathlon Brasil 2023 e escolha um nome fantasia para a equipe;

     

  2. Faça a pré-inscrição da equipe até o dia 15/julho/2023, preenchendo o formulário disponível em https://forms.gle/vyDzP6nfxgXVzJnD6;

     

  3. Faça a inscrição no CSBC 2023, marcando a opção “CADathlon Brasil 2023”: 
  4. Envie o comprovante de inscrição para os e-mails leomarjr at gmail dot com e joaojrmachado at gmail dot com até o dia 20/julho/2023.


Observação: conforme regras da SBC, todos os participantes dos eventos satélites (como o CADathlon Brasil 2023) devem estar inscritos no CSBC.

Datas Importantes

  • Pré-inscrição de equipes (duplas) e confirmação de interesse em receber apoio financeiro para participação*: até 15/07/2023;
  • Divulgação das equipes selecionadas para receber o apoio financeiro (em fluxo contínuo): 17/07/2023
  • Divulgação da bibliografia de apoio: 24/07/2023
  • Envio do comprovante de inscrição no CSBC2023**: até 20/07/2023
  • Realização da competição (presencial): 08/08/2023
  • Divulgação das equipes classificadas em 1o e 2o lugar: 09/08/2023 (por e-mail)
  • Anúncio oficial e premiação das equipes classificadas em 1o e 2o lugar: 09/08/2023 (no jantar oficial do CSBC 2023***)

     

** Atenção: não esqueça de marcar o “CADathlon Brasil 2023” na seção “Atividades Adicionais”

*** Os membros das equipes vencedoras receberão os tickets do jantar oficial do CSBC 2023 como parte da premiação

Observação importante: devido a restrições de infraestrutura, o número de equipes está limitado a 15.

Regras

Língua

Português é a língua oficial do evento.

Equipes

As equipes devem ser formadas por duplas de alunos de graduação ou pós-graduação regularmente matriculados em cursos de computação ou afins durante o período de inscrição. Devido a restrições de infraestrutura, o número de equipes está limitado a 15.

Inscrições 

Conforme regras da SBC, todos os participantes dos eventos satélites (como o CADathlon Brasil 2023) devem estar inscritos no Congresso da SBC (CSBC 2023). Informações detalhadas sobre o procedimento de inscrição podem ser encontradas na seção “Instruções Para Inscrição”.

Prêmios

A premiação das equipes que conquistarem o primeiro lugar e o segundo lugar ocorrerá no jantar oficial
do Congresso da SBC, na noite do dia 09 de agosto de 2023 (detalhes serão enviados em breve). As duas
equipes vencedoras receberão os tickets para participar do jantar, como parte da premiação.

Infraestrutura Computacional

Cada equipe terá acesso a um computador com uma instalação Linux Ubuntu padrão, ferramentas de desenvolvimento e infraestrutura de software necessária para resolver os problemas. A configuração exata será divulgada na semana anterior ao evento. Maiores informações e
regras são descritas abaixo:

  1. Haverá UM computador por equipe, o qual estará offline (sem internet) durante a prova;
  2. NÃO será permitido o uso de dispositivos eletrônicos durante a competição, exceto o computador
    fornecido pela organização;
  3. Os enunciados dos problemas estarão em pasta específica do computador fornecido;
  4. É permitida a consulta a qualquer material físico (livros, artigos, cadernos, documentação etc)
    levados pela dupla. Artigos citados na literatura básica estarão disponíveis no computador fornecido pela
    organização, em pasta específica;
  5. Os problemas deverão ser resolvidos usando as linguagens de programação C++ e Python, conforme
    especificado nos respectivos enunciados;
  6. Chegue ao local onde será realizado o CADathlon com uma antecedência não inferior a 15 minutos.
    Planeje cuidadosamente seu tempo de deslocamento;
  7. A sessão iniciará pontualmente às 9:00, sendo que nos minutos iniciais serão passadas as instruções gerais.


IMPORTANTE:
Considerando as regras 2 e 4, vocês devem levar todo material que julgarem necessário para a
resolução dos problemas (os artigos da literatura básica estarão disponíveis offline junto com o código do
problema). Os problemas serão nas linguagens C++ e Python. Para facilitar, preparamos uma lista de algumas
bibliotecas que podem ser utilizadas pelos problemas:

C++: algorithm, array, assert.h, bitset, boost/filesystem.hpp, boost/program_options.hpp, cassert, cctype,
climits, cmath, cstdlib, cstring, exception, fstream, functional, iostream, limits, map, math.h, numeric, ostream,
queue, stack, stdexcept, stdio.h, stdlib.h, string, unordered_map, unordered_set, utility, vector

Python: sys

Definição dos Problemas

Problem #1: Circuit Design & Analysis.
Tema: Static Timing Analsys
Bibliografia:
[1] Andrew B. Kahng, Jens Lienig, Igor L. Markov, Jin Hu, “VLSI Physical Design: From Graph Partitioning
to Timing Closure”. Editora Springer Dordrecht, 1a. Edição – Chapter 8: Timing Closure, 2011.
(https://doi.org/10.1007/978-90-481-9591-6)

Problem #2: Physical Design (& Design for Manufacturability)
Tema: Tap assignment for gated clock network
Bibliografia:
[1] W.-H. Chen, C.-K. Wang, H.-M. Chen, Y.-C. Chou, C.-H. Tsai, “A Comparative Study on Multisource
Clock Network Synthesis”, Proc. SASIMI, pp. 141-145, 2016.

Problem #3: Logic & High-Level Synthesis
Tema: Boolean Function Manipulation by Quantification
Bibliografia: No specific reference is provided

Problem #4: System Design & Analysis
Tema: Regression Set Construction
Bibliografia:
[1] Shady Copty, Shai Fine, Shmuel Ur, Elad Yom-Tov, Avi Ziv, “A probabilistic alternative to regression
suites”, Theoretical Computer Science, Volume 404, Issue 3, 2008, Pages 219-234, ISSN 0304-3975.
(https://doi.org/10.1016/j.tcs.2008.03.020)

Problem #5: Functional Verification & Testing
Tema: Circuit Rank-Ordering for Logic Simulation
Bibliografia:
[1] Digital Logic Testing and Simulation, Miczo A. (2nd edition) – Chapter 2: Simulation

Problem #6: Future technologies (Bio-EDA, Security, AI, etc.)
Tema: NPN boolean function identification
Bibliografia:
[1] M. D. Vieira et al., “Three-Input NPN Class Gate Library for Atomic Silicon Quantum Dots”, in IEEE
Design & Test, vol. 39, no. 6, pp. 147-155, Dec. 2022, doi: 10.1109/MDAT.2022.3189814.

Realização da Competição. 

O CADathlon Brasil 2023 ocorrerá no Laboratório de Informática (LAB-2), Bloco de Informática,
primeiro andar, Campus João Pessoa, na Avenida Primeiro de Maio, 720, do Instituto Federal da Paraíba
(https://goo.gl/maps/ozREAMgSSwhNGgwTA), Bairro Jaguaribe em João Pessoa/PB, em sessão única e
contínua, no dia 08 de agosto de 2023.
Horário de início: 9:00
Horário de término: 18:00

Outras regras e informações a respeito do evento serão atualizadas nesta página.

Comitê de Organização

Organizadores Gerais:

Leomar Soares da Rosa Júnior (UFPel) – leomarjr@inf.ufpel.edu.br
Felipe de Souza Marques (UFPel) – felipem@inf.ufpel.edu.br

Organizadores do Comitê de Programa:

Laura Quevedo Jurgina (UFPel) – lqjurgina@inf.ufpel.edu.br
João Júnior da Silva Machado (IFSul) – joaomachado@ifsul.edu.br
Renan Oliveira Netto (CADENCE) – renan.o.netto@gmail.com

Organizador  de Arranjos Locais:

Cleumar da Silva Moreira (IFPB)

Organizadores da Edição Anterior:

José Güntzel (UFSC)
Fabian Cabrera (UFSC)

Comitê de Preparação de Problemas:

Augusto Amaral Mafra (CADENCE)
Carolina Metzler (CADENCE)
Gabriel Arthur Gerber Andrade (UFSC)
Luiz Vinicius Maciel (CADENCE)
Maria Dalila Vieira (CADENCE)
Rafael Silva (CADENCE)
Renan Oliveira Netto (CADENCE)
Sheiny Fabre Almeida (CADENCE)
Tiago Augusto Fontana (CADENCE)
Vitor Soares da Silva  (CADENCE)