João Canas Ferreira

Dr. João Canas Ferreira

DEEC, Faculdade de Engenharia da Universidade do Porto, Porto, Portugal
orcid

Research Focus & Metrics

Academic Career Length

25Years (2002-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
1 November 2016
Verified
Conference Paper
Closed access
João Canas FerreiraJoão Canas Ferreira
João Canas Ferreira
JFJose Fonseca
Jose Fonseca
Our work proposes a hardware architecture for a Long Short-Term Memory (LSTM) Neural Network, aiming to outperform software implementations, by exploiting its inherent parallelism. The main design decisions are presented, along with the proposed network architecture. A description of the main building blocks of the network is also presented. The network is synthesized for various sizes and platforms, and the performance results are presented and analyzed. Our synthesized network achieves a 251 times speed-up over a custom-built software network, running on an i7–3770k Desktop computer, proving the benefits of parallel computation for this kind of network.

5 June 2019 in Electronics
Verified
Journal Article
Open access
PDF file
FLFelipe Fernandes Lopes
Felipe Fernandes Lopes
João Canas FerreiraJoão Canas Ferreira
João Canas Ferreira
Marcelo A. C. FernandesMarcelo A. C. Fernandes
Marcelo A. C. Fernandes
Sequential Minimal Optimization (SMO) is the traditional training algorithm for Support Vector Machines (SVMs). However, SMO does not scale well with the size of the training set. For that reason, Stochastic Gradient Descent (SGD) algorithms, which have better scalability, are a better option for massive data mining applications. Furthermore, even with the use of SGD, training times can become extremely large depending on the data set. For this reason, accelerators such as Field-programmable Gate Arrays (FPGAs) are used. This work describes an implementation in hardware, using FPGA, of a fully parallel SVM using Stochastic Gradient Descent. The proposed FPGA implementation of an SVM with SGD presents speedups of more than 10,000× relative to software implementations running on a quad-core processor and up to 319× compared to state-of-the-art FPGA implementations while requiring fewer hardware resources. The results show that the proposed architecture is a viable solution for highly demanding problems such as those present in big data analysis.

27 February 2020 in IEEE Access
Verified
Journal Article
Open access
Leonardo Alves DiasLeonardo Alves Dias
Leonardo Alves Dias
João Canas FerreiraJoão Canas Ferreira
João Canas Ferreira
Marcelo A. C. FernandesMarcelo A. C. Fernandes
Marcelo A. C. Fernandes
The K-means algorithm is widely used to find correlations between data in different application domains. However, given the massive amount of data stored, known as Big Data, the need for high-speed processing to analyze data has become even more critical, especially for real-time applications. A solution that has been adopted to increase the processing speed is the use of parallel implementations on FPGA, which has proved to be more efficient than sequential systems. Hence, this paper proposes a fully parallel implementation of the K-means algorithm on FPGA to optimize the system’s processing time, thus enabling real-time applications. This proposal, unlike most implementations proposed in the literature, even parallel ones, do not have sequential steps, a limiting factor of processing speed. Results related to processing time (or throughput) and FPGA area occupancy (or hardware resources) were analyzed for different parameters, reaching performances higher than 53 millions of data points processed per second. Comparisons to the state of the art are also presented, showing speedups of more than $15573\times $ over a partially serial implementation.

30 December 2002
Verified
Conference Paper
Closed access
JMJ.S. Matos
J.S. Matos
ALA.C. Leao
A.C. Leao
João Canas FerreiraJoão Canas Ferreira
João Canas Ferreira
BST is a well established standard and testability framework for digital ICs and boards. The paper presents a test support IC controlled by an IEEE1149.1 interface, capable of providing access to analog nodes in mixed-signal boards. The proposed architecture (ABSINT - Analog to Boundary Scan Interface) is described and relevant implementation issues are discussed. A demonstrator IC implementing the ABSINT architecture is presented, and it is shown how it can be used to provide analog test channels under control of IEEE1149.1.< >

1 December 2006 in Journal of Systems Architecture
Verified
Journal Article
Closed access
MSMiguel L. Silva
Miguel L. Silva
João Canas FerreiraJoão Canas Ferreira
João Canas Ferreira

1 October 2013
Verified
Conference Paper
Open access
BNBruno Nova
Bruno Nova
João Canas FerreiraJoão Canas Ferreira
João Canas Ferreira
AAAntonio Araujo
Antonio Araujo
Computer architecture is an important subject for informatics and electrical engineering courses. However, students display some difficulties in this subject, mainly due to the lack of educational tools that are intuitive, versatile and graphical. Existing tools are not adequate enough or are very specific. In this paper, an educational MIPS simulator, DrMIPS, is described. This tool simulates the execution of an assembly program on the CPU and displays the datapath graphically. Registers, data memory and assembled code are also displayed and a “performance mode” is also provided. Both unicycle and pipeline implementations are supported and the CPUs and their instruction sets are configurable. The tool is currently available for PCs and Android tablets, and is fairly intuitive and versatile on both platforms.