In term project, we will take the baseline JPEG codec in ARM-based platform system as an example to practice the design flow in SoC. We divide the project into three parts, and the goal of each part is described as follow. Part I: Design a baseline JPEG software codec in C/C++ and port it to ARM core,(ARM7TDMI, ARM720T, or ARM922T.) Part II: Make use of virtual prototype to integrate/verify the hardware and software. Part III: Verify your soft IP in target environment.