Since there are three different tables and a palette that need to be looked up to generate a pixel, the datapath registers become fairly obvious. There must exist a Vert and Horz register for holding the current position of the pixel being rendered. There must be a register for each of the table lookups so their values can be maintained around clock cycles. Finally we need an addressing unit which can generate the different addresses to lookup into these tables.
Figure 9: The Picture Processing Unit datapath.