Bernardo Ferrari’s Blog

BERNARDO FERRARI


WORK EXPERIENCE

Software Engineer

Cadence Design Systems

  • Working on development VLSI functional level verification software for the PCIe specification in modern C/C++

Junior Researcher

LASIGE, University of Lisbon

  • Worked with: Compilers; Refinement types; LLVM; Rust programming language.

  • Developed Ekitai (see projects section).

  • Coordinated by: Professor Alcides Fonseca (website);

Undergraduate Teaching Assistant

Informatics and Statistics Department (INE), UFSC

  • Worked on auxiliary tuition for undergraduate students on CS Theory;

  • Books: Sipser's Introduction to the Theory of Computation; and Ullman's Dragon Book on compilers 2ed.

  • Coordinated by: Professor Jerusa Marchi (lattes);

Embedded Design Automation Researcher

Embedded Computing Lab (ECL), UFSC

  • Researched algorithms and data-structures to assist the Physical Design step of Embedded Design Automation.

  • Developed Ophidian (see projects section).

  • Coordinated by: Professor José L. A. Guntzel (lattes) and Professor Laércio L. Pilla (website, lattes).


EDUCATION

Bachelor of Computer Science

UFSC, Florianópolis, Brazil, partial average grade 7.14/10

Notable Courses:

  • Data Structures: 8.0/10

  • Computer Organization: 7.5/10

  • Formal Languages and Compilers: 8.0/10

  • Compiler Construction: 9.0/10

  • Operational Systems II: 9.0/10

BCs Exchange Program

UCC, Cork, Ireland


SKILLS

  • Languages: Portuguese (native); English (fluent).

  • Programming: C++; Rust; C; CMake; Html/Css; DevOps; Git; Docker.

  • Linux: Package Maintainer (pacman, deb, rpm).


PROJECTS

Ophidian

  • Developed a set of open-source high-performance C++ libraries to assist the Physical Design research and teaching;

  • Developed DevOps tools for testing and distribution of the Ophidian's libraries as Linux native binary packages.

  • The project can be seen here.

Ekitai

  • Currently working on a compiler in Rust and LLVM for my undergraduate thesis.

  • The project can be seen here.

tongOS

  • A simple multi-task multi-core operational system written in Rust for the Risc-V processor family. Development stated as a hobby project and continued as part of a university class project.

  • The project can be seen here.


PUBLICATIONS

  • Renan O. Netto, Tiago A. Fontana, Sheiny F. Almeida, Bernardo Ferrari, Vinicius Livramento, Thiago Barbato, Joao Souto, Chrystian Guth, Jose L. A. Guntzel, Laercio L. Pilla. "Ophidian: an Open-Source Library for Physical Design Research and Teaching" In WOSET'18. https://woset-workshop.github.io/PDFs/2018/a25.pdf .

  • Sheiny Fabre Almeida, Bernardo Ferrari, Laercio L. Pilla, Jose L. A. Guntzel. "Comparando orientação a dados e orientação a objetos em análise de timing estática." Anais da XVII Escola Regional de Alto Desempenho do Estado do Rio Grande do Sul. SBC, 2017. https://sol.sbc.org.br/index.php/eradrs/article/download/2954/2916 .