CADathlon Brazil - III Brazilian Programming Contest for Design Automation of Integrated Circuits

Highlights of CADAthlon Brazil 2023

The CADAthlon Brazil 2023 – 3rd Brazilian Programming Contest for Design Automation of Integrated
Circuits (https://csbc.sbc.org.br/2023/cadathlon-brasil-en/) took place on August 8th in João Pessoa, Paraíba
State, Brazil, as a co-located event of the 43rd Annual Congress of SBC (Brazilian Computer Society). It was
organized by Federal University of Pelotas (UFPel), Sul-Rio-Grandense Federal Institute of Education, Science
and Technology (IFSul), Federal Institute of Paraiba (IFPB), Federal University of Santa Catarina (UFSC) and
Federal University of Paraiba (UFPB) and sponsored by ACM/SIGDA, IEEE CEDA (Council on Electronic Design
Automation), SBC/CECCI (SBC Special Committee on Integrated Circuits and Systems Design) and SBMicro
(Brazilian Microelectronics Society). It was financially sponsored by Synopsys, Chipus Microelectronics, EnSilica, HCLTech, ACM/SIGDA, IEEE CEDA, IEEE Circuits and Systems Society (CASS) and SBC/CECCI.

As in the first edition, CADAthlon Brazil 2023 followed the same format as the ACM/SIGDA CADAthlon,
which happens annually co-located with ICCAD (International Conference on Computer-Aided Design). During the whole day, 10 two-person teams of students coming from different regions of Brazil worked to solve 6 practical problems on classical EDA topics such as circuit design & analysis, physical design, logic synthesis, high-level synthesis, circuit verification, and application of AI to design automation. The problems were prepared by a team of researchers from industry and academia.

This year the first place was won by team “Flamengo”, from University of Brasília (UnB), formed by Enzo
Yoshio Niho and Eduardo Quirino de Oliveira, and the second place was won by team “Rabisco UFSC”, from the
Federal University of Santa Catarina (UFSC), formed by Arthur Joao Lourenço and Bernardo Borges Sandoval.
The top 2 teams were invited to participate in CADAthlon@ICCAD – SIGDA, a competition that runs in
conjunction with ICCAD (International Conference on Computer-Aided Design) and will be held in San
Francisco/CA (USA), from October 29 to November 2, 2023.

PLACEMENT TEAM INSTITUTION MEMBER 1 MEMBER 2 SCORE
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

The CADAthlon Brazil 2023 Organizing Committee greatly thanks the Congress of SBC organizers for the
logistics support, the problem preparation team and all sponsors, specially the financial support from Synopsys,
Chipus Microelectronics, EnSilica, HCLTech, ACM/SIGDA, IEEE Circuits and Systems Society (CASS), SBC/CECCI (SBC Special Committee on Integrated Circuits and Systems Design) and IEEE CEDA (through the South Brazil Chapter), which made it possible to cover the travel expenses of the competitors, making the event a huge success.

The next edition of CADAthlon Brazil will occur as a co-located event of the 44th Annual Congress of SBC, in July 2024, in Brasilia/DF, capital of Brazil.

Photos and captions:

CADAthlon Brazil 2023: Team “Flamengo”, winner of the First Place


CADAthlon Brazil 2023: Team “Rabisco UFSC”, winner of the Second Place


CADAthlon Brazil 2023: IFPB computational laboratory


CADAthlon Brazil 2023: All teams and organizers


CADAthlon Brazil 2023: The organizers, the societies representatives and HCL sponsor representative.


CADAthlon Brazil 2023: Banner at the lab door

CADAthlon Brazil 2023: Coffee break

About the Event

The 3rd Brazilian Programming Contest for Design Automation of Integrated Circuits (CADAthlon Brasil 2023) is a programming competition that focuses on techniques and tools for EDA (Electronic Design Automation). It is inspired by the ACM/SIGDA CADAthlon, which takes place annually as one of the events associated with the ACM/IEEE ICCAD (International Conference on Computer-Aided Design). As in the first and in the second edition, which took place in 2010 and in 2022, the teams, formed by pairs of undergraduate and/or graduate students, will work on solving 6 programming problems related to EDA techniques prepared by collaborators who work in EDA companies and /or in academia. The issues themselves will only be detailed on the day of the contest. However, the registered teams will receive, a few weeks before the contest, preliminary information about the themes and related literature, in order to better prepare for the contest. Problems will be solved using C++ and possibly other languages as communicated prior to contest day.

CADAthlon Brasil 2023 will take place in person, as one of the satellite events of the 43rd Annual Congress of the SBC (Brazilian Computing Society), at the Paraíba Convention Center, in João Pessoa, Paraíba.

Problem topics are related to EDA and include:

  • 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.)

Location: Computer Laboratory of the Federal Institute of Paraíba (IFPB), in João Pessoa, PB.

Location and Hours:
CADathlon Brasil 2023 will take place at the Computer Laboratory (LAB-2), Computer Block, first floor,
Campus João Pessoa, at Avenida Primeiro de Maio, 720, of the Federal Institute of Paraíba
(https://goo.gl/maps/ ozREAMgSSwhNGgwTA), Bairro Jaguaribe in João Pessoa/PB, in a single and
continuous session, on August 8, 2023.
Start time: 9:00 am
End time: 18:00

Participants may only leave the room to go to the restroom, subject to the authorization of the members of the
CADathlon organization.
The CADathlon organization will offer free meals to participants:

  • From 9 am to 11 am: coffee-break: seasonal fruits (banana and apple); dreaded breads (chicken with
    cream cheese, catupiry and turkey breast with ricotta); croquettes (chicken drumstick and white cheese
    puffs) and cakes (chocolate and roll);
  • At 1pm, a lunch box will be served: beef stroganoff with rice and straw potatoes, soda, mini salad
    (sauce), fruit, a bonbon;
  • At 3:30 pm 5:00 pm: coffee-break: coffee-break: seasonal fruits (banana and apple); dreaded breads
    (chicken with cream cheese, catupiry and turkey breast with ricotta); croquettes (chicken drumstick and
    kingdom cheese puffs) and cakes (chocolate and roll)

Note: If you are a vegetarian or have a specific diet (lactose intolerance, wheat flour intolerance, etc.),
please let us know as soon as possible by email.

Result Disclosure
The result will be announced directly to all teams by email, between the end of the CADathlon session and the
morning of August 9, 2023.

Award
The awarding of the teams that win first and second place will take place at the official dinner of the SBC
Congress, on the evening of August 9, 2023 (details will be sent soon).
The two winning teams will receive tickets to attend the dinner, as part of the award.

Rules and General Observations About the Competition Session:
1 – There will be ONE computer per team, which will be offline (without internet) during the race;
2 – The use of electronic devices will NOT be allowed during the competition, except the computer
provided by the organization;
3 – The problem statements will be in a specific folder on the supplied computer;4 – It is allowed to consult any physical material (books, articles, notebooks, documentation, etc.)
taken by the duo. Articles cited in the basic literature will be available on the computer provided by the
organization, in a specific folder;
5 – The problems must be solved using the C++ and Python programming languages, as specified in the
respective statements;
6 – Arrive at the location where the CADathlon will be held no less than 15 minutes in advance. Carefully
plan your travel time;
7 – The session will start promptly at 9:00 am, and general instructions will be given in the first few
minutes.

IMPORTANT: Considering rules 2 and 4, you must bring all material you deem necessary for solving the problems
(basic literature articles will be available offline along with the problem code). The problems will be in C++ and
Python languages. To make it easier, we have prepared a list of some libraries that can be used by problems:

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

Themes of Problems and Basic Literature:

Problem #1: Circuit Design & Analysis.
Subject: Static Timing Analsys
Bibliography:
[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)
Subject: Tap assignment for gated clock network
Bibliography:
[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
Subject: Boolean Function Manipulation by Quantification
Bibliography: No specific reference is provided

Problem #4: System Design & Analysis
Subject: Regression Set Construction
Bibliography:
[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
Subject: Circuit Rank-Ordering for Logic Simulation
Bibliography:
[1] Digital Logic Testing and Simulation, Miczo A. (2nd edition) – Chapter 2: Simulation

Problem #6: Future technologies (Bio-EDA, Security, AI, etc.)
Subject: NPN boolean function identification
Bibliography:
[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.

Registration Instructions

  1. Invite a friend or colleague to form a team to participate in the CADathlon Brasil 2023. Choose a fantasy name for your team;

     

  2. Make the pre-registration until July 15, 2023 by filling out the form available on https://forms.gle/vyDzP6nfxgXVzJnD6;

     

  3. Register to CSBC 2023, choosing the option “CADathlon Brasil 2023”: 
  4. Send the registration receipt by e-mail to leomarjr at gmail dot com and to joaojrmachado at gmail dot com until July 20th 2023.


Observation: according to SBC rules, all participants of the satellite events (as the CADathlon Brasil 2023) must be registered at CSBC.

Important Dates

  • Pre-registration of two-person teams and confirmation of interest in receiving financial support*: due July 15, 2023;
  • Announcement of the teams selected to receive financial support: July 17, 2023
  • Release of the supporting bibliography: July 24, 2023
  • Submission of the CSBC2023 registration receipt**: due July 20, 2023
  • Contest (fully in-person): August 8, 2023
  • Communication of the result to the teams: August 9, 2023 (by email)
  • Official announcement of the top 2 teams and delivery of prizes: August 9, 2023 (in the official CSBC 2023 dinner***)

     

** Please note: in the “Additional Activities” section, check “CADathlon Brasil 2023”

*** The members of the top 2 teams will receive the tickets for the official CSBC 2023 dinner as part of their prizes.

Important notice: due to infrastructure limitation, the number of teams is limited to 15.

Rules

Language 

The official language is Portuguese.

Teams

Each team must be formed by two graduate or undergraduate students regularly registered in Computer Science/Engineering courses or related areas. Due to infrastructure limitation, the number of teams is limited to 15.

Registration

According to SBC rules, every person attending the Congress of the SBC (CSBC) satellite (fringe) events must be registered to the main event, i.e., the CSBC itself. Please refer to the section “Registration Instructions” for detailed information on the registration procedure.

Prizes

The awarding of the first and second place winning teams will take place at the official dinner of the
SBC Congress, on the evening of August 9, 2023 (details will be sent soon). The two winning teams will receive
tickets to attend the dinner as part of the prize pool.

Computational Infrastructure

Each team will have access to a computer with a standard Linux Ubuntu installation, development tools
and software infrastructure necessary to solve the problems. More information and rules are described below:

1 – There will be ONE computer per team, which will be offline (without internet) during the race;
2 – The use of electronic devices will NOT be allowed during the competition, except the computer
provided by the organization;
3 – The problem statements will be in a specific folder on the supplied computer;4 – It is allowed to consult any physical material (books, articles, notebooks, documentation, etc.)
taken by the duo. Articles cited in the basic literature will be available on the computer provided by the
organization, in a specific folder;
5 – The problems must be solved using the C++ and Python programming languages, as specified in the
respective statements;
6 – Arrive at the location where the CADathlon will be held no less than 15 minutes in advance. Carefully
plan your travel time;
7 – The session will start promptly at 9:00 am, and general instructions will be given in the first few
minutes.

IMPORTANT: Considering rules 2 and 4, you must bring all material you deem necessary for solving the problems
(basic literature articles will be available offline along with the problem code). The problems will be in C++ and
Python languages. To make it easier, we have prepared a list of some libraries that can be used by problems:

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

Problem Definition

Problem #1: Circuit Design & Analysis.
Subject: Static Timing Analsys
Bibliography:
[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)
Subject: Tap assignment for gated clock network
Bibliography:
[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
Subject: Boolean Function Manipulation by Quantification
Bibliography: No specific reference is provided

Problem #4: System Design & Analysis
Subject: Regression Set Construction
Bibliography:
[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
Subject: Circuit Rank-Ordering for Logic Simulation
Bibliography:
[1] Digital Logic Testing and Simulation, Miczo A. (2nd edition) – Chapter 2: Simulation

Problem #6: Future technologies (Bio-EDA, Security, AI, etc.)
Subject: NPN boolean function identification
Bibliography:
[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.

Contest Realization

CADathlon Brasil 2023 will take place at the Computer Laboratory (LAB-2), Computer Block, first floor,
Campus João Pessoa, at Avenida Primeiro de Maio, 720, of the Federal Institute of Paraíba
(https://goo.gl/maps/ozREAMgSSwhNGgwTA), Bairro Jaguaribe in João Pessoa/PB, in a single and
continuous session, on August 8, 2023.
Start time: 9:00 am
End time: 18:00

Organizing Committee

General Chairs:

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

Profram Committee:

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

Arrangement Local Chair:

Cleumar da Silva Moreira (IFPB)

Former Organizers:

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

Problem Contributors:

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)