1 / 10

VHDL arquitetura ramses

Pietro Biasuz Alan Diego dos Santos. VHDL arquitetura ramses. Arquitetura e Organização. Componentes Básicos. Registradores REM (Registrador de Endereço) RDM (Registrador de Dados) PC (registrador e incrementador ) Ra Rb Rx RAux RegFlags ( Negative , Carry , Zero)

Télécharger la présentation

VHDL arquitetura ramses

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pietro Biasuz Alan Diego dos Santos VHDL arquitetura ramses

  2. Arquitetura e Organização

  3. Componentes Básicos • Registradores • REM (Registrador de Endereço) • RDM (Registrador de Dados) • PC (registrador e incrementador) • Ra • Rb • Rx • RAux • RegFlags (Negative, Carry, Zero) • Multiplexadores 4x1

  4. Componentes Básicos • ULA (combinacional ) • ADD • OR • AND • NOT • SUB • NEG • SHR • Memória • Unidade de Controle (seqüencial) • LDR • STR • JMP • JN, JC, JZ

  5. 4 Modos de enderaçamento • Definidos diretamente pelos últimos bits da instrução • Direto - “00” • Indireto – “01” • Imediato – “10” • Indexado – “11”

  6. Problema Encontrado • A memória gerada pelo Core Generator possui os seguintes sinais para operar: • Clock • Addr – endereço de leitura ou escrita • WE – ‘0’ para Read ou ‘1’ para Write • Din – valor de entrada • Dout – valor de saída

  7. Problema Encontrado • Apesar de gerar com sucesso a memória e testá-la separadamente dos demais componentes, inicializá-la utilizando o arquivo .mif, as leituras obtidas sempre eram UNDEFINED no Test Bench.

  8. Solução • Ao setarmos a sensibilidade da memória para a borda de subida (RisingEdgeTriggered) e ao utilizarmos a configuração de ReadAfterWrite não era possível realizar a leitura. • Achamos que a possível causa desse comportamento é porque a leitura da memória, nessas configurações é realizada só na metade final do ciclo de clock, e assim os dados seriam perdidos.

  9. Solução • Testamos 2 novas configurações e assim, a memória funcionou como o esperado. • sensibilidade para a borda de descida do clock (FallingEdgeTriggered) ReadAfterWrite • sensibilidade para a borda de subida do clock (RisingEdgeTriggered) ReadBeforeWrite

  10. Resultado • Freqüência Máxima: 128 MHz • Tsetup: 4,32 ns • LUTs: 253 • FlipFlops: 92

More Related