Pré-Síntese
Nesta etapa foram realizas as atividades de:
- Adequação dos arquivos HDL para desenvolvimento do CI;
- Desenvolvimento do arquivo HDL para geração de sinais de teste;
- Simulação dos arquivos HDL.
Adequação dos arquivos HDL para desenvolvimento do CI
Retirou-se as diretivas para simulação (#) e blocos seqüenciais que tinham atribuições blocadas e não blocadas (“=” e “<=” dentro do mesmo bloco seqüencial).
Após a adequação resutou-se nos
arquivos:
uartproto.v
uartproto_baudgen.v
uartproto_transmitter.v
Desenvolvimento do arquivo HDL de geração de sinais de teste
Para se entender o funcionamento do CI é necessário ler o relatório sobre este (Relatório de Prototipação de Circuito Digitais – Ygo Batista, Josias Júnior e Rodolfo Pereira, 2008).
Os módulos de recepção e interrupção foram retirados para simplificar o processo de construção do CI. Logo, ficou implementado apenas os blocos de transmissão e baud generator.
Para transmitir um dado, deve-se seguir basicamente
os passos:
- Configurar o baud generator (endereço 0 e 1
com DLAB = 1);
- Configurar o LCR – endereço 3;
-
Armazenar o dado a ser transmitido no THR - endereço 0.
Para os testes com o módulo, foram escolhidos:
- Baud rate 1:16;
- Sem paridade;
- Stop bit = 1.
No programa de simulação da Cadence, SimVision, não é fácil gerar sinais de teste para o CI a ser desenvolvido. Foi verificado que seria mais rápido e fácil criar um arquivo em Verilog que gerasse os sinais de teste: gerador.v.
Além do arquivo gerador.v, foi necessário criar um arquivo para “linkar” o arquivo gerador de sinais para o uartproto.v, que foi o uart.v
Simulação dos arquivos HDL
Para realizar a simulação foi necessária a criação dos arquivos hdl.var e cds.lib e armazená-los na pasta do projeto, além de criar uma pasta vazia chamada mylib.
Obs.: Antes de executar as ferramentas da Cadence, é
necessário habilitar as suas licenças através
dos comandos:
. /opt/env_scripts/env_license.sh
.
/opt/env_scripts/env_cadence.sh
Para executar o SimVision,
digita-se:
irun -access +rw -gui uartproto.v uartproto_baudgen.v uartproto_transmitter.v gerador.v uart.v
Onde a opção -access +rw indica que o SimVision terá a permissão nos arquivos para ler e escrever e a opção -gui habilita a interface gráfica.
Ao selecionar os sinais de uartproto que se desejava observar, foi clicado em adicionar ao Waveform, obtendo os seguintes resultados:
Registradores gravados corretamente;
Forma de onda do pino sout de acordo com o padrão RS232;
Observar a saída sout transmitindo o dado pretendido (0x6A), além de termos os registradores THR e LCR configurados corretamente (0x6A e 0x0F respectivamente), bem como o baud gerando 1:16. No início, antes da transmissão, acontece a configuração dos registradores, confirme indicado no relatório do código desenvolvido na disciplina de prototipação de circuitos digitais.