My bf doesn't want to be top

I'm a vers 27yo guy and I'm in a relationship with my bf for 3 years, and he hasn't tried to act as a top at all during this time. I'm tired of always being the top when we have sex, although I really enjoy it. He says that he doesn't feel comfortable being a top, even though he did it a few times in the past with other guys.

What can I do to get him to become top and fuck me hard? I think he's super selfish about this.