340 likes | 525 Views
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:
E N D
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)
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
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
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
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
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
VDR Algoritmo Otimização Configuração VHDL Biblioteca de Configurações CAD de Configuração
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
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
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
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
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
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
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
PIXEL1 W1 PIXEL2 W2 Quantificador Qualificador Y Modelagem Estrutural
Max 1 PIXEL1 1/0 PIXEL2 Modelagem Estrutural
Max REG PIXEL1 PIXEL2 0 CTRL Modelagem Estrutural
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)
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
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)
Desempenho - VLSI • Uso do somador carray select