把had 改成 have
should + 动词原形 表示应该做某事
should have done 本应该做某事(实际上没有做)
这句话要表达的意思是:他早上迟到了,他本应该早点来的.(事实上没有早点来)
不知道怎么讲你听懂了没有呢?