Pessoal
Gostaria de enfatizar alguns pontos que eu tenho falado em aula, e que coincidem com os oportunos comentários do Rafael.
Estamos em um laboratório de projeto de Hardware. O uso de VHDL deve ser considerado apenas como uma ferramenta para facilitar o projeto de HARDWARE.
O projeto de hardware, seja ele convencional ou com o auxílio de linguagens, vai resultar na combinação e interconexão de estruturas conhecidas e compreendidas: portas lógicas, multiplexadores, decodificadores, ULAs, FFs, latches, contadores, deslocadores, máquinas de estado, memórias, barramentos, etc. Nós vimos em aula as maneiras corretas, robustas e seguras de implementar essas funções com VHDL. Ao se afastarem desses estilos de programação, vocês estão entrando em território desconhecido. Vimos casos de FSM que não foram identificadas pelo Quartus como tal. Isso porque o aluno se afastou totalmente dos estilos recomendados. Uma FSM é uma FSM e ponto. Não há o que inventar.
Ao enfrentar um projeto mais complexo, concebam o sistema de forma top-down, tentando construir módulos funcionais mais ou menos desacoplados (e preferencialmente síncronos) que, após alguns desdobramentos hierárquicos, acabam em estruturas básicas conhecidas de HW. Depurem o funcionamento dos módulos. Utilizem sempre os estilos de programação apresentados.
Isolem e tratem separadamente funções mais atípicas e estranhas, como por exemplo a entrada dos zeros e uns no detector de sequencia do lab06. Não misturem essas funções com a implementação de FSM ou outra coisa.
Se seguirem essas recomendações, isso não garante que não terão alguns problemas. Mas com certeza eles terão solução muito mais fácil do que se vocês mergulharem direto no código de forma não planejada.
Bom trabalho a todos
--
Mario Côrtes
Institute of Computing P.O.Box 6176
University of Campinas, Brazil 13084-971, Campinas, Sao Paulo