This document presents a design for analyzing electrocardiogram (ECG) signals using an FPGA. It employs a least-square linear phase finite impulse response filter to remove noise from the ECG signal. It then uses discrete wavelet transform for feature extraction and a backpropagation neural network classifier to classify the ECG signal as normal or abnormal. If abnormal, a support vector machine is used to detect the type of heart disease. The system is implemented on a Xilinx FPGA using MATLAB.