Abstract
In this paper, hardware abstraction layer is explained in the context of SoC design. First, HAL definition is given and the difference between HAL an other similar concepts are given. Existing HALs are examine. The role of HAL is explained for SoC design. Finally, a proposal of standar HAL is presented.