Convolutional code can be depicted by grid. When Viterbi decodes, it measures paths in grid and chooses one which is the most similar to input data. The main process of Viterbi is reading input data, calculating local distances of possible paths and choosing right paths. By examination we found that complicated Add-Compare-Select (cACS) computing spends most of
computing resources.