Eeefm Prof Juraci Machado - MNR - EEEFM Profª Juraci Machado
MNR - EEEFM Profª Juraci Machado

Professor Juraci Machado na EEFE/UFU: O que realmente esperar das aulas

AufEAEEFE é a Escola de Engenharia Elétrica da Universidade Federal de Uberlândia, e o nome juraci machado aparece com frequência nos corredores e nos fóruns de estudantes. O professor Juraci Lima Machado atua principalmente nas disciplinas de sistemas digitais, arquitetura de computadores e projetos em FPGA. Quem frequenta as aulas dele logo percebe que o ritmo é intenso e que o material exigido vai muito além do que está na ementa padrão.

Como funciona a disciplina com eeefm prof juraci machado

A estrutura das matérias ministradas por ele segue um padrão bem específico. As aulas teóricas costumam ser enxutas — entra-se no assunto, demonstra-se com exemplos curtos e vai-se para a prática. A maior parte do trabalho acontece fora da sala. Os alunos recebem listas de exercícios que envolvem simulação em ModelSim ou Vivado, desenvolvimento em Verilog ou VHDL, e finalmente a síntese para uma placa FPGA. Eu lembro de uma vez em que o problema não estava no código em si, mas sim nas restrições de temporização que o quartus ou o vivado levantavam durante a síntese. Tinha um contador síncrono simples que estava gerando um erro de setup time em uma frequência de clock acima de 50 MHz. A solução foi dividir o circuito em dois estágios com registradores intermediários, criando um pipeline de dois estágios que resolveu o problema de timing. Esse tipo de situação é recorrente nas avaliações dele, e a maioria dos alunos leva um ou dois dias para contornar esses obstáculos sozinha.

O que o material realmente envolve

As disciplinas passam por lógica sequencial, máquinas de estado finito, projeto de pipelines em hardware description languages, e finalmente integração de periféricos em FPGA. O diferencial é que ele cobra a implementação real em hardware, não apenas a simulação funcional. Isso significa que um projeto pode funcionar perfeitamente no simulador e falhar completamente quando compilado para a placa, por problemas de timing, setup e hold time, ou por má interpretação dos constraints. Uma coisa que poucos mencionam é a importância dos constraints files. Muitos alunos chegam achando que o código é tudo. Na prática, sem umconstraints file bem definido, o sintetizador toma decisões arbitrárias que podem destruir o timing do projeto. Eu costumo recomendar que se dedique pelo menos tanto tempo ao constraints quanto ao código em si. Se a frequência de clock desejada é 100 MHz, o período é 10 nanosegundos, e qualquer path crítico acima disso gera violações.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Outro ponto que vale a pena destacar é a diferença entre simulação funcional e simulação pós-síntese. A primeira ignora atrasos de propagação e delays dos componentes. A segunda inclui tudo isso. Projetos que passam na simulação funcional mas falham na pós-síntese são extremamente comuns, e a causa geralmente é um path crítico mal gerenciado ou uma má atribuição de pins no arquivo de constraints.

Recursos disponíveis online

O professor disponibiliza parte do material através do site da UFU e de repositórios acadêmicos. As listas de exercícios, provas anteriores e alguns slides costumam estar acessíveis. Também há vídeos de aulas disponíveis no YouTube e em plataformas da universidade. O que não se encontra facilmente são os arquivos de projeto prontos para as placas de desenvolvimento, então a maior parte do trabalho mesmo é feito do zero pelo aluno. Para quem está se preparando para a disciplina, o recomendável é dominar primeiro o básico de Verilog, especialmente sempre blocks e as diferenças entre atribuição lógica e atribuição de registro. Quem chega sem essa base acaba perdendo muito tempo entendendo erros de compilação que na verdade são mal-entendidos conceituais sobre como o hardware é descrito.

Dificuldades e limitações

Não adianta fingir que o curso é simples. A carga de trabalho é alta e o tempo entre uma entrega e outra é curto. Os problemas de timing, especialmente em projetos combinacionais complexos, são o maior gargante para a maioria dos alunos. Além disso, a ferramenta de síntese nem sempre dá mensagens claras sobre onde exatamente está o erro no circuito, obrigando o aluno a rastrear manualmente os paths críticos no relatório de timing analysis. Se o objetivo for aprender o assunto de forma mais estruturada e com suporte mais próximo, cursos de outras instituições ou materiais self-paced podem oferecer uma curva de aprendizado mais suave. Mas se o interesse é o nível de exigência prática que a EEFE propõe, então o contato com os problemas reais de hardware é inestimável.