Baixe o app para aproveitar ainda mais
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
Compartilhar