An off-line trained and supervised neural network is proposed to decode convolutional codes one block at a time. A convolutional encoder is a linear finite-state machine and Viterbi decoder performs maximum likelihood decoding. In the neural network model a set of neurons equal to the number of encoder states forms an input stage, and a block of B stages are linked together with fully forward and backward links among adjacent stages, which span m - 1 stages on both sides, where m is the convolutional encoder memory. A Hamming neural network is used together with a winner-take-all circuit at each stage to select the decoded sequence. The performance is calibrated against noisy channel corrupted encoder inputs (constraint length K = 3, and m = 2) to be similar to the maximum likelihood Viterbi decoder.