This work presents a problem oriented approach to introduce the design of hardware assisted algorithms. A scheduling, placement and routing problem for coarse-grained reconfigurable architecture (CGRA) has been chosen to ilustrate our approach. The algorithm is implemented in C language by using simple rules and a finite state machine model. The algorithm's execution time is estimated by the number of clock cycles. For the proposed problem, the results have shown that the algorithm could be efficiently implemented in a FPGA to be used in runtime systems. IntroduçãoAtualmente, as arquiteturas paralelas são uma solução para sistemas embarcados que podem aliar alto desempenho e baixo consumo para satisfazer as demandas do mercado. Um aspecto importanteé o tempo de projeto e a formação de recursos humanos para atuar naárea. O uso de linguagem de descrição de hardware impõe algumas restrições devidoà mudança de paradigma de programação. Devido a sua popularidade, a linguagem C e suas derivações/extensões vem sendo usadas na descrição de hardware em vários níveis.Muitas estratégias foram propostas nasúltimas duas décadas, incluindo software e hardware co-design [8]. Uma abordagemé fazer o modelo em C/C++ ou linguagens derivadas para simulação. Posteriormente, fazer manualmente a tradução para VHDL ou VERILOG. Este processó e sujeito a erros e pode ser demorado. Outras abordagens usam traduções automáticas. Neste trabalho iremos mostrar uma abordagem simples com poucas regras, cuja principal vantagemé a rápida curva de aprendizagem. O objetivó e introduzir jovens projetistas na modelagem de hardware usando como pré-requisitos os conceitos de programação básica. Os requisitos para um jovem projetista são: o conhecimento da linguagem C, do modelo de máquina de estados e das regras que serão introduzidas. A abordagem será orientada a um problema.O problema abordadoé um algoritmo de escalonamento, posicionamento e roteamento [5] que pode ser usado em ferramentas dinâmicas para hardware reconfigurável com aplicações em sistemas embarcados. O algoritmo faz o mapeamento de um grafo de fluxo de dados em uma arquitetura em hardware reconfigurável. A metodologia em C pode ser usado para estimar o custo da implementação sem que o projetista tenha conhecimentos aprofundados de hardware. O mesmo código serve para validação e simulação. O projetista pode fazer, em alto nível, uma exploração das várias possibilidades.Inicialmente, o problema de escalonamento e mapeamento será apresentado. Depois o algoritmo em alto níveĺ e descrito. Em seguida, a metodologia de modelagem e codificação em Cé aplicada ao problema. Finalmente, os resultados e as conclusões serão apresentados. Estudo de CasoO problema a ser abordadoé o desenvolvimento de um algoritmo para mapeamento de um grafo de fluxo de dados em uma arquitetura reconfigurável em tempo de execução. O ponto de partida será o algoritmo proposto em [5]. O algoritmo será simplificado gerando uma heurística mais gulosa para implementação em hardware. Posteriormente, outros recursos serão ex...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.