What GPU should I get?

So I am on around a $600 budget and I want a card that can run BF3 on high with at LEAST avg. 40 fps.

But I also don't want to get a crappy card or case and all. Is it possible I could go with anything cheaper then a 7870 and still be able to get that kind of performance?

 

I have a $50 board, and a $30 psu, and im set on getting the i5-2500k. Ill be able to get the 7870 but it will be a very tight budget. just looking for alternative.

$50 board? Sounds like a micro atx board that is locked, which defeats the purpose of getting a 2500k.

$30 psu? Sounds like a cheap one from a bad brand, likely to fry your components.

A 7850 or 7870 should be able to max or nearly max bf3. Since you have a high budget you should just go for a hd7950, honestly. I really really really really hope its not too late and you haven't bought those components, and I can recommend you a decent motherboard and power supply?