1 / 34

Do DRIP ao DRIP RTR

Do DRIP ao DRIP RTR. Ivan Saraiva Silva. DRIP - Dynamically Reconfigurable Image Processor. Baseado no processador de vizinhança NP9 Processador matricial Matriz bidimensional de células interconectadas (PE). Matriz de PEs. O Processador Elementar (PE). Executa duas funções básicas:

dolan-wolfe
Download Presentation

Do DRIP ao DRIP RTR

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. Do DRIP ao DRIP RTR Ivan Saraiva Silva

  2. DRIP - Dynamically Reconfigurable Image Processor • Baseado no processador de vizinhança NP9 • Processador matricial • Matriz bidimensional de células interconectadas (PE)

  3. Matriz de PEs

  4. O Processador Elementar (PE) • Executa duas funções básicas: • soma (ADD) • máximo (MAX) • A Função ADD representa a classe dos algoritmos lineares • A função MAX representa a classe dos não lineares

  5. O Processador Elementar (PE) • Em Cada PE é executada a função • Onde: •  representa a operação selecionada (ADD ou MAX). • X1 e X2 são pixels de entrada • W1, W2 são dois pesos inteiros configuráveis

  6. O Processador Elementar (PE) • Um PE pode receber 18 configurações • Algumas equivalentes ou simétricas • O conjunto de configurações diferentes forma a biblioteca de células

  7. O Processador Elementar (PE)

  8. O Processador Elementar (PE)

  9. DRIP - Reconfiguração Estática

  10. DRIP - Reconfiguração Estática

  11. Alto Nível / RTL Otimização Independente de tecnologia Mapeamento LUT Roteamento (Routing) Alocação (Placement) Config. Data Geração de Bitstream CAD de Configuração

  12. CAD de Configuração • VRD - Visual interface for Dynamic Reconfiguration • interface gráfica, representação direta dos 81 processadores elementares • Otimização • grafo orientado acíclico • eliminações e transformações sobre a matriz de Pes • Objetivo: encontrar uma representação equivalente (execução mais rápida, menor utilização dos recursos do FPGA • Geração do arquivo VHDL

  13. VDR Algoritmo Otimização Configuração VHDL Biblioteca de Configurações CAD de Configuração

  14. CAD de Configuração

  15. CAD - Otimizações

  16. Estratégias de Reconfiguração • Reconfigurabilidade da aplicação • define um sistema baseado nas características comuns: regularidade, concorrência e operandos de pequena granularidade . • Reconfigurabilidade arquitetural • uma arquitetura inicial, a qual é decomposta em suas funções básicas que formam uma biblioteca de componentes

  17. VDR Decomposição Algoritmo Análise Otimização Similaridades VHDL Modelagem Síntese Configuração Biblioteca de Funções Biblioteca de Configurações Reconfigurabilidade Arquitetural

  18. Analise de Similaridades • Blocos Estáticos: • Não se alteram entre configurações sucessivas • Blocos Dinâmicos: • Modificam-se completamente ou possuem diversas diferenças entre uma configuração e outra • Blocos Semi-estáticos: • Possuem poucas diferenças estruturais entre duas configurações

  19. Analise de Similaridades • 5 algoritmos • detector morfológico de contornos, • Filtro de mediana separável • Mediana, • Dilatação • Erosão • Comparação entre PE em algoritmos diferentes

  20. Analise de Similaridades • Similaridade em nível de algoritmo • Coincidências exatas • Similaridade em nível de célula • Análise a estrutura lógica dos Pes, blocos semi-estáticos • Geração de um mapa de transformações • Modelagem dos PEs através da fusão de funcionalidades

  21. INPUT (X1,X2,CLOCK,CONTROL) OUTPUT(Y) CASE CONTROL Valor1 : --- Exec. Cód. comportamental da célula 1 Valor2 : --- Exec. Cód. comportamental da célula 2 Valor3 : --- Exec. Cód. comportamental da célula 3 END CASE; Modelagem Comportamental • Explorar a similaridade em nível de algoritmo • O estudo realizado entre os 5 algoritmos mostra que uma macro célula pode ser formada agrupando-se, no pior caso, três células super especializadas DRIP

  22. Modelagem Comportamental

  23. Modelagem Estrutural • Explora a similaridade em nível de algoritmo e em nível de célula • Cada PE pode ser visto como um sistema baseado em dois submódulos: • Quantificador: Aplicação do peso (-1, 0 ou 1) • Qualificador: Executa a função de máximo ou soma

  24. PIXEL1 W1 PIXEL2 W2 Quantificador Qualificador Y Modelagem Estrutural

  25. Max 1 PIXEL1 1/0 PIXEL2 Modelagem Estrutural

  26. Max REG PIXEL1 PIXEL2 0 CTRL Modelagem Estrutural

  27. Modelagem Estrutural

  28. Estrutural x Comportamental • Biblioteca estrutural apresenta um reuso maior de modelos em relação à biblioteca comportamental. • 24 células na biblioteca comportamental • 12 células na biblioteca estrutural • Similaridade no nível de célula existente no modelo quantificador/qualificador • Exemplo: MAX(1,0), MAX(0,-1) e Max(1,-1)

  29. Max Max Max 1 0 1 0 -1 -1 a) Max Max 1 0 0 -1 b) Max 1/0 0/-1 c) Estrutural x Comportamental

  30. DRIP Reconfigurável

  31. Desempenho - FPGA

  32. Desempenho - VLSI • Caso 1: Sem complemento de dois, sem somadores • 1.47 GHz. (0,35 m) • Caso 2: Sem complemento de dois, com somadores • 588 MHz (0,35 m) • Caso 3: Completo • 303 MHz (0,35 m)

  33. Desempenho - VLSI • Uso do somador carray select

More Related