Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where André C. Nácul is active.

Publication


Featured researches published by André C. Nácul.


design, automation, and test in europe | 2007

Hardware scheduling support in SMP architectures

André C. Nácul; Francesco Regazzoni; M. Laiolo

In this paper the authors propose a hardware real time operating system (HW-RTOS) that implements the OS layer in a dual-processor SMP architecture. Intertask communication is specified by means of dedicated APIs and the HW-RTOS takes care of the communication requirements of the application and also implements the task scheduling algorithm. The HW-RTOS allows to have smaller footprints, since it avoids the need to link to the final executables traditional software RTOS libraries. Moreover, the HW-RTOS is able to exploit the easy task migration feature provided by an SMP architecture much more efficiently than a traditional software RTOS, due to its faster execution and the authors show how this significantly overcomes the performance achievable with optimal static task partitioning among two processors. Preliminary results show that the hardware overhead in a dual processor architecture is less than 20K gates


design, automation, and test in europe | 2004

Dynamic voltage and cache reconfiguration for low power

André C. Nácul; Tony Givargis

This article deals about dynamic voltage and cache reconfiguration online algorithm that dynamically adapts the processor speed and the cache subsystem to the workload requirements for the purpose of saving energy. The workload is considered to be a set of tasks with real-time deadlines. Our online algorithm is invoked as part of the OS scheduler, which performs standard earliest deadline first(EDF)task scheduling first. Then, our online algorithm, determines an ideal voltage/cache configuration for the current executing task.


international conference on computer aided design | 2004

Code partitioning for synthesis of embedded applications with phantom

André C. Nácul; Tony Givargis

In a large class of embedded systems, dynamic multitasking using traditional OS techniques is infeasible because of memory and processing overheads or lack of operating systems availability for the target embedded processor. Serializing compilers have been proposed as an alternative solution, enabling a designer to develop multitasking applications without the need of OS support. A serializing compiler is a source-to-source translator that takes a POSIX compliant multitasking C program as input and generates an equivalent, embedded processor independent, single-threaded ANSI C program, to be compiled using the embedded processor-specific tool chain. Such serializing compilers work by partitioning each task into blocks of code and synthesizing a scheduler that dynamically switches among these blocks. The quality of the compiled code in terms of multitasking overhead and task latency is highly dependent on the partitioning algorithm. In this work, we give our solution to the partitioning problem in the context of serializing compilers. We show that it is possible to provide the designer with a set of Pareto-optimal solutions that trade off multitasking overhead for task latency.


design, automation, and test in europe | 2005

Lightweight Multitasking Support for Embedded Systems using the Phantom Serializing Compiler

André C. Nácul; Tony Givargis

Embedded software continues to play an ever increasing role in the design of complex embedded applications. In part, the elevated level of abstraction provided by a high-level programming paradigm immensely facilitates a short design cycle, fewer errors. portability, and reuse. Serializing compilers have been proposed as an alternative to traditional OS techniques, enabling a designer to develop multitasking applications without the need of OS support. In this work, we outline the inner workings of the Phantom serializing compiler and analyze the quality of the generated code with respect to memory and processing overheads. Our results show that such serializing compilers are extremely efficient, making them ideal to be used in design of highly parallel applications (e.g.. multimedia, graphics, and signal processing applications).


ACM Transactions on Design Automation of Electronic Systems | 2006

Synthesis of time-constrained multitasking embedded software

André C. Nácul; Tony Givargis

In modern embedded systems, software development plays a vital role. Many key functions are being migrated to software, aiming at a shorter time to market and easier upgrades. Multitasking is increasingly common in embedded software, and many of these tasks incorporate real-time constraints. Although multitasking simplifies coding, it demands an operating system and imposes significant overhead on the system. The use of serializing compilers, such as the Phantom compiler, allows the synthesis of a monolithic code from a multitasking C application, eliminating the need for an operating system. In this article, we introduce the synthesis of multitasking applications that execute in a timely manner. We incorporate the notion of timing constraints into the Phantom compiler, and show that our approach is effective in meeting such constraints, allowing fine-grained concurrency among the tasks. As an additional case study, we present the implementation of a software-based modem and show that real-time applications such as the modem have guaranteed performance in the serialized code generated by the Phantom compiler.


american control conference | 2006

Phantom: a serializing compiler for multitasking embedded software

André C. Nácul; Tony Givargis

In an era of powerful general-purpose embedded compute platforms, the migration of system functionality from application specific integrated circuits (ASICs) to software has become a promising trend toward addressing the system complexity and shrinking time-to-market window challenges. Hence, in modern embedded systems, software development plays an increasingly vital role. On the other hand, the real-time concurrent programming model provides the high level abstractions necessary to effectively design complex software. Support for real-time concurrent programming is typically provided by a realtime operating system. We propose an alternate solution, the Phantom serializing compiler, to support the real-time concurrent programming model. The Phantom serializing compiler generates a single-threaded monolithic executable, from the multi-threaded application software, capable of directly executing on the underlying embedded compute platform. Further, the generated executable is tuned for maximum performance and efficiency, yielding an application-specific solution. In this paper, we give an overview of the Phantom serializing compiler and demonstrate its feasibility with some experimental results


Archive | 2006

Interface-Centric Abstraction Level for Rapid Hardware/Software Integration

André C. Nácul; Marcello Lajolo; Tony Givargis

With the continuous advances of high-level synthesis and hardware/software codesign, engineers have now the luxury and the desire to explore very quickly multiple high-level architectures. Systemlevel tools can enable trade-offs of architectures that rely on different combinations of memory access, resource sharing and multiplexing. A good system-level design flow must enable fast and accurate viewing of multiple solutions based on different design choices. In this paper we present a system-level API for text-based specifications that combines transaction-level modeling for the hardware interface and OS and device drivers levels for the software interface into a unified semantics. We also present a refinement process that allows to generate very rapidly a hardware/software integration.


IEEE Potentials | 2005

The successful grad student

Mirella M. Moro; Vanessa Braganholo; André C. Nácul; Miguel Rodrigues Fornari

This article is a collection of tips and an overview of the process through which all graduate students pass during their journey. Before starting a graduate program, it is important to realize that this is a long-term investment in career. Once the students are in graduate school, it is necessary to structure their personal life to fit the demands of the program. A graduate program starts by the choice of the advisor during the first year. Sometimes this is done even before the student is accepted into the program. During the program, interaction with the colleagues and professors is necessary. Getting to know them is essential to the program and to the life. Reading may not be enough. Read, analyze, criticize, discuss, implement. During reading note making is good. A good practice is to have a printed copy of the paper and annotate the thoughts and observations on it. Establishing the schedule with deadlines and trying to follow it. Participating in conferences and scientific events is essential. Organizing the thoughts and discussion with the colleagues drive out the fear. Students should produce at least one paper for a good conference that it will pave the way for success. This can be considered the minimal requirement to emphasize the importance/relevance of the thesis.


Archive | 2007

HARDWARE SCHEDULED SMP ARCHITECTURES

Marcello Lajolo; André C. Nácul; Francesco Regazzoni


Archive | 2003

Dynamic Voltage and Cache Reconfiguration for Low Power Systems

André C. Nácul; Tony Givargis

Collaboration


Dive into the André C. Nácul's collaboration.

Top Co-Authors

Avatar

Tony Givargis

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Miguel Rodrigues Fornari

Universidade Federal do Rio Grande do Sul

View shared research outputs
Top Co-Authors

Avatar

Mirella M. Moro

Universidade Federal de Minas Gerais

View shared research outputs
Top Co-Authors

Avatar

Vanessa Braganholo

Federal Fluminense University

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge