e is a hardware verification language (HVL) which is tailored to implementing highly flexible and reusable verification testbenches.
e is a hardware verification language (HVL) which is tailored to implementing highly flexible and reusable verification test-benches.
http://en.wikipedia.org/wiki/E_(verification_language)
The e language uses an Aspect-Oriented Programming (AOP) approach, which is an extension of the object-oriented programming approach to specifically address the needs required in functional verification.
AOP is a key feature in that it allows for users to easily bolt on additional functionality to existing code in a non-invasive manner. This permits easy reuse and code maintenance which is a huge benefit in the hardware world, where designs are continually being tweaked to meet market demands throughout the project life-cycle.
AOP also addresses cross cutting concerns (features that cut across various sections of the code) easily by allowing users to extend either specific or all instances of a particular struct to add functionality. Users can extend several structs to add functionality related to a particular feature and bundle the extensions into a single file if desired, providing for more organized file partitioning.