PRF based on the GGM construction
A pseudorandom generator is far more specific.

A pseudorandom number generator can just be statistical and/or produce an

endless stream of output and/or take extra entropy as input while it's running.

This RFC gives a way to implement a pseudorandom function.

In fact, if you hadn't specified that you wanted a PRG to implement a PRF, then

I would've just suggested $\;\;\; x \: \mapsto \: \operatorname{HMAC}\hspace{.02 in}(x\hspace{.02 in},\hspace{-0.03 in}0) \: || \hspace{.02 in} \operatorname{HMAC}\hspace{.02 in}(x\hspace{.02 in},\hspace{-0.04 in}1) \;\;\;$ as the PRG.