How can I make the VCAR route the transistor diffusion regions (S D) by
automatically adding contacts and using metal 1 to finish the job instead of directly using diffusion layer as routing layer which
is obviously wrong?
I found this to be very frustrating also, as the autorouter would do a lot of routing on poly and diffusion. The best solution I've come up with is to draw a poly_m1 autocontact at the end of gates or extend the m1 over diffusion manually then let the autorouter do its job. Of course this isn't convenient if you have a lot of transistors to route. I'm not familiar with writing the ruleset since my pdk came with a set of rules already, but you might want to look through /ICC/doc/iccausr/iccausr.pdf on how to write the rules yourself.