Buscar

Prat07

Prévia do material em texto

Laborato´rio de Sistemas, Processadores e Perife´ricos (SPP)
MIC-1: Unidade de Controle
Prof. Luiz T. S. Mendes, Prof. Gustavo G. Parma
Objetivos: Implementar e simular a Unidade de Controle do MIC-1
1 Introduc¸a˜o
A penu´ltima etapa na implementac¸a˜o do MIC-1 consiste da implementac¸a˜o do restante da Unidade
de Controle, representado pela memo´ria de microprograma, e sua integrac¸a˜o com a entidade referente
a` Via de Dados.
A memo´ria de microprograma conte´m todo o conjunto de microinstruc¸o˜es necessa´rias a` imple-
mentac¸a˜o das instruc¸o˜es do MIC-1 no n´ıvel IJVM. Trata-se, naturalmente, de uma memo´ria na˜o-
vola´til (ROM), com tamanho 256 x 35 bits . Os sinais de entrada da memo´ria de microprograma sa˜o
o clock e o MPC (vide aula anterior), e sua sa´ıda e´ a microinstruc¸a˜o contida no enderec¸o fornecido
pelo MPC, denominada de MIR (MicroInstruction Register).
A figura 1 apresenta o diagrama contemplando a Via de Dados e a Unidade de Controle. Note
que o bloco externo a` caixa tracejada, denominado ”Controle de Memo´ria”refere-se a` u´ltima etapa do
projeto do MIC-1, e devera´ ser desenvolvido a` parte, pela dupla, como conclusa˜o do trabalho de curso
a ser entregue ao professor da parte teo´rica da disciplina.
2 MEMO´RIA DE MICROPROGRAMA
A seguir e´ apresentado o co´digo completo da memo´ria de microprograma, em VHDL. Inspecione o
mesmo, tentando compreender seu significado com base nos comenta´rios colocados. O arquivo rom.mif
conte´m todas as microinstruc¸o˜es ja´ devidamentes codificadas e foi fornecido juntamente com o guia
desta pra´tica.
- - Declara biblioteca usual
LIBRARY ieee;
USE ieee.std logic 1164.all;
- - Declara a biblioteca LPM (”Library of Parametrized Modules”), que
- - conte´m, entre outros, componentes referentes a unidades de memo´ria RAM,
- - ROM, etc.
LIBRARY lpm;
USE lpm.lpm components.all;
- - Define a unidade de controle
ENTITY UC IS
PORT(
CLK: IN std logic;
MPC: IN std logic vector ( 7 downto 0);
MIR: OUT std logic vector (34 downto 0));
END UC;
ARCHITECTURE memoria OF UC IS
Figura 1: Conexa˜o da Unidade de Controle com a via de dados.
SIGNAL NCLOCK: std logic;
BEGIN
- - Invertemos o clock de entrada pois, no MIC-1, a leitura da ROM
- - sempre e´ feita na borda de descida do clock
NCLOCK <= NOT CLK;
- - Instanciamos agora o componente ROM (LPM ROM) da biblioteca LPM
microcode: LPM ROM
GENERIC MAP( - - O ”generic map”e´ utilizado para parametrizar a memo´ria
- - nu´mero de bits da memo´ria (MIR, no MIC-1)
LPM WIDTH => 35,
- - nu´mero de bits das linhas de enderec¸o (MPC, no MIC-1)
LPM WIDTHAD => 8,
- - Define se a leitura do enderec¸o deve ser sincronizada com
- - o clock (”REGISTERED”) ou na˜o (”UNREGISTERED”)
LPM ADDRESS CONTROL => ”UNREGISTERED”,
- - Idem, quanto a` sa´ıda do dado enderec¸ado
LPM OUTDATA => ”REGISTERED”,
- - Tipo do componente a ser utilizado. (Aqui e´ redundante,
- - pois ja´ hav´ıamos instanciado o componente LPM ROM.)
LPM TYPE => ”LPM ROM”,
- - Define o nome do arquivo de inicializac¸a˜o da ROM
LPM FILE => ”c:\users\lab spp\ PASTA DO USUARIO\ rom.mif”
)
PORT MAP (ADDRESS => MPC, OUTCLOCK => NCLOCK, Q => MIR);
END memoria;
Observe, no co´digo VHDL dado, que e´ feita uma refereˆncia ao arquivo de inicializac¸a˜o da memo´ria
de microprograma, o qual esta´ dispon´ıvel na pa´gina do laborato´rio. Este arquivo podera´ ser de
qualquer nome, mas adota-se usualmente a extensa˜o MIF (Memory Initialization File). Obviamente,
o texto PASTA DO USUARIO deve ser substitu´ıdo pelo nome da pasta de trabalho individual de
cada grupo.
2
Mais detalhes sobre o componente LPM ROM e sobre o formato do arquivo .MIF podem ser
obtidos no help do Quartus II. E´ importante que voceˆ entenda o formato do arquivo .MIF pois,
provavelmente, voceˆ precisara´ criar outros arquivos de inicializac¸a˜o de memo´ria.
3 Parte Experimental
A parte experimental consiste na elaborac¸a˜o e simulac¸a˜o da entidade final que corresponde a` integrac¸a˜o
da Via de Dados com a Unidade de Controle. Apenas os elementos contidos na caixa tracejada da
figura 1 devera˜o ser implementados e simulados nesta aula. Na etapa de simulac¸a˜o tente executar um
dos comandos da IJVM, descritos na Figura 4.11 do livro texto.
3

Continue navegando