An approach to scheduling iterative tasks on two-level pipelines under resource constraints, such that the executions of both high-level iterations and low-level operations are pipelined, is presented. The authors limit the discussion to the case where none of the function units is pipelined and pipelining is performed only at the global iteration level. It is then generalized to the case where both global iterations and functional units are pipelined. The problem is presented as an integer linear programming formulation, and the authors obtain the best solution which minimizes the total execution time. Experimental results show that the proposed algorithm produces optimal solutions for all the test cases within a few seconds.