|
|
|
|
|
|
|
|
|
|
|
|
'e' What To Learn ?
|
|
|
E language is a vast language, so learning everything in short time is not possible. But to get started or to get to a position where one can write testbench and checker, one really needs to learn limited part of 'e' language. Lets assume that you need to develop a testbench as in below figure.
|
|
|
|
|
|
|
|
|
|
|
|
In e, we need to code the following components.
|
|
|
|
|
|
- Base Object
- Transaction Generator
- Driver
- Input/Output Monitors
- Checker/Scoreboard
|
|
|
|
|
|
Base Object
|
|
|
As seen in earlier section, base object is used across the testbench for communication of data in a standard structure format. Following things are needs to be write a base object in e
|
|
|
|
|
|
- data types
- struct
- sub-types
- constrains
- keep
- gen before
- soft and hard constrains
- condition flow control
- methods
- printing routines
|
|
|
|
|
|
|
|
|
|
|
|
Transaction Generator
|
|
|
Transaction generator is the the one which generates the transactions. To do this job one needs to know the following
|
|
|
|
|
|
- gen and gen keeping
- don't gen and physical fields
- events
- methods and tcm
|
|
|
|
|
|
Driver
|
|
|
To model driver, one needs to know the following
|
|
|
|
|
|
- unit
- packing
- methods and tcm
- Interfacing with simulator
|
|
|
|
|
|
Input/Output Monitors
|
|
|
Once one knows about base object, transaction generator and drive, then coding monitors are very simple.
|
|
|
|
|
|
|
|
|
|
|
|
Checker/Scoreboard
|
|
|
To model the checker or scoreboard one needs to know following e languages construct
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Copyright © 1998-2014 |
Deepak Kumar Tala - All rights reserved |
Do you have any Comment? mail me at:deepak@asic-world.com
|
|
|