This document describes the implementation of an efficient convolutional encoder and modified Viterbi decoder using FPGA technology. It begins with an introduction to convolutional encoding and Viterbi decoding. It then discusses the implementation of a convolutional encoder, including the state diagram and state table. Next, it describes the Viterbi algorithm and its components: branch metric calculation, path metric calculation using an add-compare-select unit, and traceback. It introduces the modified Viterbi algorithm and how it reduces computations and path storage requirements. It presents the design of the convolutional encoder and modified Viterbi decoder in Verilog HDL. Finally, it shows simulation results of the convolutional encoder and components of the modified Viterbi decoder.