• Nenhum resultado encontrado

Metodologia de S´ıntese para Plataforma NoC

No documento Dissertação (páginas 45-47)

1.3

Metodologia de S´ıntese para Plataforma NoC

T˜ao importante quanto um bom projeto ´e uma boa metodologia de implementa¸c˜ao do projeto e ferramentas de suporte, que traduzam as especifica¸c˜oes do projeto em seu produto final, neste caso, uma plataforma NoC.

Como primeiro passo, deve-se identificar o escopo do projeto do sistema, suas funciona- lidades principais junto com as restri¸c˜oes impostas. Esta an´alise deve gerar uma especifica¸c˜ao do sistema, assim como uma lista de tarefas b´asicas provenientes da decomposi¸c˜ao do sistema. ´

E preciso uma avalia¸c˜ao sistem´atica que para que n˜ao ocorram ambiguidades na decomposi¸c˜ao de tarefas. Em seguida, as tarefas identificadas devem ser organizadas em uma estrutura que contemple informa¸c˜oes das tarefas e suas dependˆencias. Esta estrutura pode ser um grafo de tarefas orientado e ac´ıclico, que ser´a definido na Se¸c˜ao 4.1.2 no Cap´ıtulo 4. Neste grafo ser˜ao identificadas as tarefas que devem ser executadas sequencialmente e aquelas que podem ser exe- cutadas paralelamente. A plataforma NoC favorece o paralelismo e explorar esta caracter´ıstica na fase inicial do projeto ´e fundamental. Mesmo que as tarefas ainda n˜ao estejam relacionadas a nenhum recurso ou IP espec´ıfico e nem mapeadas na estrutura f´ısica da plataforma, este passo basicamente determina a granularidade e as unidades atˆomicas que eventualmente ser˜ao implementadas no final. Al´em disso, neste passo o modelo de comunica¸c˜ao b´asico entre as tarefas tamb´em ´e definido.

Mesmo o grafo de tarefas sendo uma representa¸c˜ao de alto n´ıvel do projeto, este ´e importante para gerar o modelo preliminar para a plataforma e minimizar alguns problemas antes que um modelo menos abstrato seja requerido. Com o grafo de tarefas e as restri¸c˜oes identificadas ´e poss´ıvel realizar a aloca¸c˜ao, que consiste em atribuir IPs para executar as tarefas atˆomicas j´a identificadas. Esta atribui¸c˜ao pode ser feita usando uma biblioteca espec´ıfica de IPs.

Ap´os identificar os IPs, a partir da aloca¸c˜ao, ´e preciso realizar o mapeamento, que consiste em mapear os IPs, nos recursos da plataforma, da melhor maneira poss´ıvel. Estas etapas s˜ao condicionadas a muitas restri¸c˜oes, sendo que muitos fatores influenciam a otimiza¸c˜ao da plataforma, mesmo em uma abordagem de alto n´ıvel. Por exemplo, uma tarefa pode ser melhor executada por um processador do que por outro, dependendo das opera¸c˜oes b´asicas necess´arias e dos requerimentos de desempenho. Ao mesmo tempo ´e preciso levar em conta os requisitos de comunica¸c˜ao descritos no grafo de tarefas. Tarefas que trocam mensagens frequentemente devem ficar pr´oximas fisicamente para reduzir o tempo de comunica¸c˜ao.

1.3 Metodologia de S´ıntese para Plataforma NoC 30

uma modelagem mais precisa do sistema. No caso de implementa¸c˜oes em FPGAs, utiliza- se uma linguagem de descri¸c˜ao de hardware. Em um projeto baseado em plataforma, s˜ao utilizados os IPs dispon´ıveis na biblioteca da plataforma. Tamb´em ´e necess´ario implementar a comunica¸c˜ao entre os elementos da rede, os drivers de comunica¸c˜ao dos dispositivos de E/S e a interface de software. Os componentes de software respons´aveis pela comunica¸c˜ao, assim como os drivers e a interface de alto n´ıvel, normalmente fazem parte das bibliotecas das ferramentas mais atuais.

Os passos descritos anteriormente s˜ao independentes mas todos influenciam enorme- mente na obten¸c˜ao de uma solu¸c˜ao ´otima. Na pr´atica, s˜ao necess´arias itera¸c˜oes entre estas etapas, isto ´e, dependendo do resultado obtido ap´os algum passo, talvez seja necess´ario voltar aos passos anteriores e repetir o processo necess´ario. Mais importante do que executar todos estes passos ´e realizar uma avalia¸c˜ao cont´ınua da implementa¸c˜ao. A avalia¸c˜ao deve ser efetuada levando em conta os objetivos desejados, como, por exemplo, desempenho, consumo de ener- gia, custo e quantidade de recursos utilizados. Para realizar estas avalia¸c˜oes s˜ao necess´arias m´etricas precisas e fi´eis capazes de avaliar o projeto desde a modelagem de alto n´ıvel at´e a implementa¸c˜ao em hardware. ´E importante enfatizar a importˆancia da avalia¸c˜ao em alto n´ıvel pois esta ´e mais r´apida, mais barata e reduz significativamente o espa¸co de decis˜ao para a implementa¸c˜ao final.

A primeira fase da metodologia de s´ıntese de uma plataforma NoC, que consiste na especifica¸c˜ao funcional e na elabora¸c˜ao do grafo de tarefas, ´e de alto n´ıvel e independente da implementa¸c˜ao f´ısica. Esta fase se torna cada vez mais importante `a medida que a comple- xidade dos sistemas aumenta. As etapas finais, de modelagem mais precisa e dependentes da implementa¸c˜ao f´ısica, s˜ao beneficiadas pelas ferramentas de projeto baseado em plataforma, que disp˜oem de bibliotecas que facilitam na s´ıntese do circuito. O fluxo t´ıpico de projeto baseado em plataforma NoC, como descrito nesta se¸c˜ao est´a ilustrado na Figura 11.

Normalmente o projeto baseado em plataforma NoC ´e executado com base em diferentes requisitos como, consumo de energia, ´area de hardware, desempenho e custo. ´E razo´avel supor que muitas solu¸c˜oes atender˜ao a alguns requisitos e n˜ao atender˜ao a outros. Se todos os requisitos forem igualmente importantes, n˜ao ´e poss´ıvel afirmar que uma solu¸c˜ao que atende bem a um requisito A e mal a um requisito B, seja melhor do que uma solu¸c˜ao que atenda bem ao requisito B e mal o requisito A, por exemplo. Nestes casos, trabalhar com um conjunto de solu¸c˜oes ao longo do projeto, pode ser mais eficiente do que trabalhar apenas uma solu¸c˜ao. Para lidar com este tipo de problema, onde diferentes requisitos devem ser alcan¸cados, propomos

1.4 Considera¸c˜oes Finais do Cap´ıtulo 31

No documento Dissertação (páginas 45-47)