1 / 23

Sistemas Digitais Projeto RTL – Unidade de Execução

Sistemas Digitais Projeto RTL – Unidade de Execução. Prof. Wanderley. Introdução. Unidade de Controle Responsável por gerar os sinais de controle. Unidade de Execução Responsável pela manipulação de dados. Introdução. Circuito combinacional para somar 4 números.

osma
Download Presentation

Sistemas Digitais Projeto RTL – Unidade de Execução

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. Sistemas DigitaisProjeto RTL – Unidade de Execução Prof. Wanderley

  2. Introdução Unidade de Controle Responsável por gerar os sinais de controle Unidade de Execução Responsável pela manipulação de dados

  3. Introdução Circuito combinacional para somar 4 números Unidade de execução para somar 1 milhão de números

  4. Introdução • Unidades de execução são compostas por: • Unidades funcionais tais como, somadores, deslocamentos, multiplicadores, ALUs e comparadores • Elementos para armazenagem de dados tais como, registradores e memórias • Elementos para transferência de dados tais como, barramentos, multiplexadores e buffers tri-states

  5. Projeto RTL • Projetos de Unidades de Execução podem também ser referidos como projetos RTL • Projetos RTL (do inglês, Register-Transfer Level) são a origem do desenvolvimento de sistemas digitais integrados, tais como microcontroladores e microprocessadores • Embora seja um projeto de hardware, sua descrição é feita através de linguagens de descrição de hardware, ou seja, via software • Linguagens mais utilizadas são o VHDL e o Verilog

  6. Projeto RTL • Consiste em manipular adequadamente os dados, tendo o registro como um importante elemento de armazenamento de dados • Um dado pode sofrer infinitas manipulações, sendo que a cada manipulação ele poderá ser armazenado em um ou outro registrador Exemplo de tipos de transferência de dados entre registros

  7. Projeto RTL • As manipulações são feitas por unidades funcionais Unidades funcionais típicas + Somador: uma unidade básica que permite a realização de operações de soma e subtração ALU, do inglês Arithmetic Logic Unit: realiza as operações aritméticas e operações lógicas como, negação, OU, E, etc. ALU

  8. Projeto RTL • Dá-se o nome de operação de transferência entre registros à sequência: • Leitura de dado em registro • Modificação do dado lido • Escrita de dado em registro • Cada operação da sequência descrita deve ser completada dentro de um ciclo de clock • Logo, cada operação equivale a um estado de uma máquina de estado finito • Uma unidade funcional pode ser utilizada somente uma vez a cada clock, mas pode ser utilizada novamente no clock seguinte

  9. Projeto RTL • Processo de Projeto RTL • Que tipos de registradores usar (tamanho e operações possíveis) e quantos usar? • Que tipos de unidades funcionais usar (somador ou ALU) e quantas usar? • Alguma unidade funcional pode ser compartilhada? (otimização de recursos) • Como organizar os registradores e as unidades funcionais?

  10. Projeto RTL • Exemplos: registradores de 8 bits (0 a 255)

  11. Projeto RTL • MUX para combinar múltiplas operações • Necessidade de um sinal para controle do MUX

  12. Projeto RTL • MUX para compartilhar recursos (unidade funcional) • Elimina-se um somador

  13. Projeto RTL • Compartilhamento de registro: se duas variáreis não são usadas ao mesmo tempo, então elas podem compartilhar o mesmo registro. • Exemplo: • Se (condição) então • Reg = Input • Senão • Reg = A + B

  14. Projeto RTL • Detalhes sobre o reuso de unidades funcionais. Considere as funções: a = b + c d = e + f Projeto 2: (reuso de somador) Projeto 1:

  15. Projeto RTL • Detalhes sobre o reuso de unidades funcionais • Projeto 1: • Ambas as operações são realizadas em 1 ciclo de clock; • Mais rápido; • Menos complexo; • Mais recursos? • Projeto 2: • As operações são realizadas de forma sequencial, ou seja, em 2 ciclos de clock; • Mais lento; • Mais complexo (adiciona um sinal de controle dos MUXs); • Menos recursos?

  16. Projeto RTL • Métodos de Transferência de dados: Fontes múltiplas: Controle do MUX

  17. Projeto RTL • Métodos de Transferência de dados: Destinos múltiplos: controle do registrador

  18. Projeto RTL • Métodos de Transferência de dados: Barramento Tri-State (fontes múltiplas e destinos múltiplos) • Apenas uma fonte pode acessar o barramento por vez (evitar conflito de dados) • Controle feito a partir de buffers tri-state • Os destinos estão diretamente conectados ao barramento

  19. Projeto RTL • Sinais de Status • São testes condicionais extremamente úteis à unidade de controle para geração do próximo estado de execução. • Cada teste condicional de um algoritmo representa um sinal de status. Exemplo 1: Se (A=0) então... Exemplo 2: Se (A é par) então...

  20. Projeto RTL • Exemplo: Soma de n a 1

  21. Projeto RTL • Exemplo: Soma de n a 1

  22. Projeto RTL • Exemplo: Fatorial de n

  23. Projeto RTL • Exemplo: Fatorial de n

More Related