Lab 7: ULA
Tip 1
Antes de seguir você deve ter lido a Teoria/ULA.
O objetivo desse laboratório é o de trabalharmos com o controle dos sinais da ULA para entendermos as operações da unidade de processamento do nosso computador. Para isso iremos:
- Executando o simulador
- Controlando ULA para realizar operações específicas (exercícios)
Simulador
Iremos utilizar um simulador da ULA feito em python + Qt. Siga os passos a seguir:
cd ~
git clone https://github.com/eduardomarossi/z01.1-ula
cd z01.1-ula
pip3 install -r requirements.txt --user
python3 main.py
Você deve obter a seguinte interface:
Controlando ULA
Com o simulador podemos testar a ULA modificando seus sinais de controle. A seguir uma proposta de operações lógicas que devem ser realizadas na ULA, seus sinais de controle e resultados devem ser anotados nas tabelas.
Tip 2
O projeto FIXA as entradas da ULA com os valores:
- X = 0x73
- Y = 0x5F
Tarefa: out = X
- Configure os controles da ULA para fazer com que a saída da ULA seja a entrada X
Para isso você deve mexer nas chaves da FPGA e verificar a saída nos leds.
Tarefa: out = Y
- Configure os controles da ULA para fazer com que a saída da ULA seja a entrada Y
Tarefa: out = !Y
- Configure os controles da ULA para fazer com que a saída da ULA seja a entrada a entrada Y negada
Tarefa: out = 0
- Faça com que a saída da ULA seja 0
Tarefa: out = 1
- Faça com que a saída da ULA seja 1
Tarefa: out = -1
- Faça com que a saída da ULA seja -1 (em complemento de 2)
Tarefa: out = X+Y
- Faça com que a saída da ULA seja a entrada X + a entrada Y
Tarefa (difícil): out = X or Y
- Faça com que a saída da ULA seja X ou Y
Tarefa (difícil): out = X - Y
- Faça com que a saída da ULA seja a entrada X menos a entrada Y