I can't give a short description that would do eRM justice! There are a number of things to consider with eRM, and a good place to start is to read the docs, as mentioned already by pjigar.Originally posted in cdnusers.org by stephenh
Cadence does have some template builder utilities that can produce a skeleton eVC tailored to your application (e.g. point-to-point bus, or multi-master/multi-slave bus). For these, I suggest you find your local Cadence AE and ask them to help you get started.
You will also find examples shipped with IPCM (the methodology kit from Cadence). These examples are complete eRM compliant eVCs that you can read about in the docs, and also run to see waveforms. If you don't already have it, IPCM is available off the Cadence website: http://downloads.cadence.com/.
Part of the eRM is the library of utilities like sequences, logging (message fn) and some base units for inheriting common functionality. Using these really helps your code to be efficient, and also makes it play nicely with any other eRM compliant eVC.
If you plan to reuse your eVC across different projects, then this becomes very important.
The other part of eRM is the architecture, the components you build (agent, monitor, sequence driver, bus functional model). eRM even gives recommendations about file naming and so on, to make it easy for people to support and maintain the code.
So as you see, there's a lot to explain about eRM! However, don't be afraid of it - the rules are all very simple, and logical.
With the help of your AE or the template builder, you'll be up and running in no time! :-)