A well know fact is that group of mounted knights would never dare to charge into a well defended wall of pikes or a group of spearman on a high ground. In Civ, Knights will always win vs PIkeman, horseman will always win vs spearman and that doesn't make any sense. It doesn't matter if pikeman is fortified on a hill, knight will eventually win. My suggestion is to give all melee mounted units a promotion that makes them extremely vulnerable when attacking anti mounted. Knights should still be able to defend against pikeman but attacking them should always be a suicide.