======================================================== Implementação de um processador capaz de executar um subconjunto de instruções da arquitetura MIPS: MIPS-V0 As instruções com suporte de execução neste processador são apenas: ADDU, SUBU, AND, OR, XOR, NOR, LW, SW e ORI ======================================================== 1) Esta implementação é do tipo monociclo, ou seja, cada instrução é executada em exatamente um ciclo de relógio. O processador é sensível exclusivamente à borda de subida do clock externo. 2) O único registrador de controle é o PC. Não há registrador de instruções ou de controle de acesso à memória. 3) O Bloco de Controle depende apenas do valor instantâneo da linha "instruction", saída da Memória de Instruções. 4) As memórias externas (Memória de Instruções e Memória de Dados) são assíncronas e respondem de forma imediata a qualquer comando externo. A organização é do tipo Harvard (memórias separadas para instruções e dados). 5) CUIDADO! A primeira borda de subida depois de desativado o sinal de "reset" provoca a execução da primeira instrução, e assim por diante. 6) O arquivo de configuração de forma de onda (*.wcfg) é apenas um guia de como organizar os sinais a observar. Carregue a forma de onda e veja os sinais que nela existem. Use uma organização igual ou similar para os sinais. 7) No ISE, usem o Editor de memória para visualizar programas e dados na memória. 8) Com relação ao programa, existe um código fonte em liguagem de montagem (prog.asm). A partir deste, produz-se um código objeto do DUMP de memória gerado a partir do MARS. Este código está no arquivo prog.txt. Este é um programa onde a pseudo-instrução "la" da primeira linha do programa foi modificada para evitar que a instrução "lui", gerada a partir da "la" apareça para o processador. Para que este código execute corretamente, mude a definição da memória de dados no testbench (linha 197 do arquivo MIPS-V0_tb.vhd), para que seu START_ADDRESS seja 0x00000000 e não 0x1001000 (se já não estiver assim). Repita esta troca no arquivo que contém o código objeto (arquivo prog.txt) para o endereço da área de dados (linha 23)