Is everything else in the inst cluster working that you can tell?
There are multiple ground reference connections for the cluster, but the tachometer(and most of the cluster) uses pin 13 (brown), if it's connection to the frame ground reference is dirty it can cause strange issues with the cluster.
1st thing I would look at and check would be the cleanliness of all the frame ground connections.
After that, from the inst cluster on pin 16, is a black/blue wire that goes to the #1/4 coil. Make sure there hasn't been any rodent damage to the wiring.
It shares the ground/ECU connection at the coil. Check for corrosion, and good connection.
You say that the bike runs, so that tells me that the Ignition control is supplying an adequate ground for the coil to fire, which should also be good enough for the tach to read as well, provided the wire connection of the black/blue is clean enough.