Steve,
I'd take sveditor (open-source) and use it as the base for parsing SV.
Matthew Ballance is *amazing*. File a bug, and usually there's a patch by that night.
I don't know if he plans to support AMS - but if you wanted a place to start - a very powerful, in-active-use SV editor would be a great place to start.
My personal recommendation: I'd not do translators of VHDL<->SV. There's always problems with subtle interpretations.
I'd recommend using sveditor to parse the SV, then have an interative dialog with the user to identify bundles of signals (IP-XACT interfaces).
At that point, one can then re-output the original code, but with SV interfaces. Which is a required prerequisite for UVM.
So - you get useful info (IP-XACT database) on the road to building a UVM testbench.
Erik