With the continuing increase of energy consumption, energy savings have become one of the most critical issues. In this paper, we propose an energy-efficient approach to schedue periodic hard real-time tasks in the multi-core context, while taking into account the mechanisms of voltage frequency domain (VFD) and globally asynchronous, Locally Synchronous (GALS). Firstly, a simple static voltage/frequency scaling (StaticVS) schedule is introduced. According to the StaticVS, the real time tasks are mapped onto the processing cores by the worst-fit decreasing strategy, in order to balance the utilizations of the cores, and thus the shared operation frequencies of the VFDs can be reduced when the voltage scaling is performed. Within a VFD, the utilization of the heaviest-loaded core is selected as the shared operating frequency of the processing cores in this VFD by StaticVS. Next, based upon the StaticVS schedule, a slack reallocation (SR) policy is proposed to further reclaim the unused slack under the frequency synchronization constraint. The SR policy tries to redistribute the slack uniformly to the cores on the same VFD, such that the synchronous operating frequency of this VFD can be appropriately scaled down. Experimental results demonstrate that the proposed scheduling algorithm is capable of reducing energy consumption effectively.