Stayed in the Perak Lodge in Little India a couple of times, was quite reasonable, clean and not too expensive either:
http://www.peraklodge.net/
It's between Bugis and Little India MRT stations, so not on top of one, but only a 5-10min walk to each.
But I've not stayed elsewhere in Singapore so I don't know how it compares to other places!