• Nenhum resultado encontrado

FUNCIONAIS PARA PROJETOS BASEADOS EM FPGA Com base na revisão da literatura realizada (apresentada no Capítulo

4.1.4 Área Ocupada

As restrições sobre a área utilizada nas FPGAs estão geralmente as- sociadas com o desempenho do projeto, consumo de energia e a qualidade da localização e roteamento dos elementos da FPGA (GHOLAMIPOUR et al.,

2011;BELTRAN; GUZMáN; SEVILLANO,2010;WOLF,2004). A taxa de

utilização da área em um projeto de FPGA está relacionada a eficiência na

especificação do circuito (SALEWSKI; TAYLOR,2008). A FPGA consome

energia para toda a área disponível, mesmo não sendo completamente ocu- pada pela especificação do circuito. Assim, quanto mais área utilizada para um projeto, mais eficiente é o uso de recursos como, por exemplo, o consumo de energia. Entretanto, uma maior utilização de área também pode indicar um baixo desempenho e baixa qualidade na localização e roteamento, resultando em um alto consumo de energia e aumento no atraso do circuito. Por isso é necessário medir a área ocupada em termos de quantidade de componentes utilizados da FPGA, como Occupied Slices (OS), LUTs e FFs e Input/Output

Blocks(IOBs). Tais métricas também foram utilizadas em (MEIER; HANEN-

BERG; SPINCZYK, 2012;CARDOSO et al.,2012; ELHAJI et al.,2012)

para avaliar a versão do código VHDL com e sem o uso de conceitos de ori- entação a aspectos implementados. Estas métricas foram utilizadas na análise

dos estudos de caso apresentados no Capítulo5.

1 On-Chip: Memória interna do circuito FPGA. 2 Off-Chip: Memória externa do circuito FPGA.

4.1.5 Segurança

O requisito de disponibilidade3compreende a capacidade do sistema

de continuar operando mesmo após uma falha ocorrer (com o uso de redun- dâncias ou da correção da falha de forma rápida, de modo que o tempo ino- perante tenda a zero). O tratamento de soft errors é uma das principais pre-

ocupações em projetos implementados em FPGA (TAHOORI et al.,2009;

GHOLAMIPOUR et al.,2011). Conforme apresentado no Capítulo3, alguns

indicadores que podem ser utilizados para controlar esse requisito é o Tama- nho de Memória (MS) (do inglês, Memory Size), pois a memória utilizada para os bits de configuração da FPGA são suscetíveis a soft errors, além da quantidade de componentes sensitivos da FPGA como, por exemplo, o nú- mero de blocos de lógica e de conexão utilizados. O tratamento para detecção e correção de erros em projetos de FPGA acarreta em hardware extra para processamento e para redundâncias.

O requisito de confiabilidade compreende a perda e corrupção de da-

dos. SegundoPetrov et al.(2011), a análise de Markov permite a identificação

de possíveis estados de falha, o que pode ser utilizado para estimar a Taxa de Falhas (FR) (do inglês, Fault Rate), de modo semelhante ao que ocorre nas métricas de software para estimar o número de casos de teste.

A proteção dos dados e da arquitetura do circuito (i.e. o bitstream que define o circuito) são restrições críticas em projetos implementados em FPGA devido à possibilidade de reconfiguração durante a execução do sis-

tema (WANDERLEY et al.,2011). De acordo comWanderley et al.(2011),

pode-se avaliar o nível de tecnologia de segurança disponível na FPGA para auxiliar na determinação do que será necessário implementar para proteger o sistema. Esse nível tecnológico pode ser entendido como uma métrica de Fator de Risco (RF) (do inglês, Risk Factor) ao qual o sistema poderá estar

exposto.Wanderley et al.(2011) apresenta cinco níveis de classificação, que

variam de acordo com os recursos proteção do circuito. 4.1.6 Desempenho

O desempenho de sistemas embarcados é geralmente medido pelo tempo de resposta e taxa de vazão dos dados, que refletem a capacidade de

processamento do sistema (BELTRAN; GUZMáN; SEVILLANO,2010). Po-

rém para as FPGAs a taxa de vazão e tempo de respostas dependem do hard- ware disponível (quantidade de recursos da FPGA) e da lógica implementada. Uma métrica que auxilia na análise de desempenho da lógica im- plementada é o Tempo do Maior Caminho Crítico (CPT) (do inglês, Critical

3 Neste trabalho aspectos de disponibilidade do sistema, confiabilidade e proteção do projeto

68 Capítulo 4. DESENVOLVIMENTO

Path Time) que pode ser utilizado para analisar o desempenho da lógica im-

plementada comoWang et al.(2008) utilizou para analisar a versão manual

do código VHDL em relação à versão gerada pela ferramenta COLA. Além disso, propõe-se verificar a Máxima Frequência (MF) (do inglês, Maximum Frequency) do circuito, dado o tempo de caminho crítico obtido. Estas mé- tricas foram utilizadas para a análise de desempenho dos estudos de caso

apresentados no Capítulo5.

4.1.7 Atraso

Para os sistemas implementados em FPGA é necessário conhecer o atraso nas netlists, assim como considerar o potencial de paralelismo forne-

cido pela arquitetura da FPGA (WOLF,2004). Em uma FPGA, o atraso varia

dependendo da área utilizada no chip e do caminho crítico, que significa a maior distância do sinal de clock para a lógica construída, os quais irão im- pactar no Pior Caso de Atraso (WCD) (do inglês, Worst Case Delay) (WOLF, 2004). O atraso está relacionado com o desempenho do projeto, consumo de

energia e clock skew4. Em projetos de FPGA, é possível controlar o atraso por

meio de lógicas otimizadas e bem estruturadas, que diminuam o tamanho dos canais e componentes por quais passam um sinal.

4.1.8 Prazos

Cumprir os prazos de execução das tarefas depende fortemente do escalonamento e políticas de alocação do sistema, além da frequência do clock. Em projetos de ASIP usando FPGA, os projetistas não contam com um sistema operacional para gerenciar o escalonamento e alocação de tare- fas. Assim, os projetistas precisam escalonar e alocar manualmente as tarefas, além de definir todo o comportamento temporal do sistema, sem esquecer das prioridades e dependências de dados. O WCET (do inglês, Worst Case Exe- cution Time) é uma métrica que auxilia na determinação do cumprimento dos prazos para o circuito e instruções.