Questions tagged [e]

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.

114 questions
1
vote
1 answer

Specman e subtyping: How to refer to FALSE value of conditional field in when/extend subtyping?

I have a unit my_unit with a boolean field my_bool. I need to add a specific logic to my_unit when my_bool == FALSE. Is it possible? unit my_unit { my_bool : bool; when my_bool { // Works fine, I can add logic to my_unit }; …
Halona
  • 1,475
  • 1
  • 15
  • 26
1
vote
1 answer

Does E language support multiple inheritance?

I would like to build a new struct that inherits from other multiple structs, something like that: struct new_struct like struct_a, struct_b, struct_c is { // The new_struct supposed to have all the fields of struct a/b/c }; Is there a way to…
Halona
  • 1,475
  • 1
  • 15
  • 26
1
vote
1 answer

Specman - Define long var

Can I define a variable as long long as in C in Specman ? Cant send from Specman uint(bits:64) the gcc is indicating errors. Thanks.
user1941008
  • 373
  • 3
  • 6
  • 13
1
vote
1 answer

How to get the read data from a vr_ad_sequence

I have a register read sequence that goes something like this: extend vr_ad_sequence_kind: [READ_REG]; extend READ_REG vr_ad_sequence { // register to read reg_kind : vr_ad_reg_kind; !reg : vr_ad_reg; // more fields no longer shown…
renvill
  • 143
  • 1
  • 10
1
vote
0 answers

sn_complie.sh error: Failed to create Specman's temporary directory `/local/temp/specman'

I'm trying to complie an e file using sn_compile.sh script. I get an error: Failed to create Specman's temporary directory `/local/temp/specman' even though I defined explicitly temp files directory. The command I run: sn_complile.sh efile.e…
Halona
  • 1,475
  • 1
  • 15
  • 26
1
vote
2 answers

c string to specman e code

I have a c method that returns a const char * and I imported this function into my specman code. After executing few more statements in "e" the value in the string is getting corrupted. I guess may be because it is referring to a pointer in C…
Harish
  • 23
  • 5
1
vote
2 answers

Specman: Error in on-the-fly generating of list of lists with all different values

I try to generate on-the-fly list of list of uint (my_list_of_list) with all different values (I have a variable num_of_ms_in_each_g : list of uint, that keeps lengths of every list inside my_list_of_list): var my_list_of_list : list of list of…
Halona
  • 1,475
  • 1
  • 15
  • 26
1
vote
1 answer

Specman e wait until threads finish (non time consuming method)

Is there any way to get unit3.thread() to run after the other two threads? run() is also { start unit1.thread(); start unit2.thread(); unit3.thread(); }; I would like threads in unit 1 and 2 to run in parallel and for thread 3 to run…
ZoSal
  • 561
  • 4
  • 21
1
vote
1 answer

Specman E error: Argument to change|fall|rise has to be (short) scalar

I have an existing verification environment with simple ports of length LEN. In addition, there are events,that occur when only one of the relevant port's bits rises: // Port declaration: port_a : inout simple_port of uint(bits:LEN) is…
Halona
  • 1,475
  • 1
  • 15
  • 26
1
vote
1 answer

soft constraint on list size is ignored. why?

It seems that Specman is ignoring a constraint on list size. Is there an explanation to this behavior? I have this code: m:list of uint; keep soft m == {}; In my test I have this constraint: keep soft m.size() == 3; But I still get empty list. Why…
1
vote
1 answer

Specman-simulator synchronization issue?

I am using Cadence's Ethernet eVC wherein the agent's monitor is tapped at the following signals: . ____________ _____ .clk _____| |__________________| . ________ _______ ________________…
renvill
  • 143
  • 1
  • 10
1
vote
1 answer

Difference between "new" and "gen"

I've done a little playing around in the console and debugger, but I've still got some questions about how new and gen work differently from each other. What is the difference between using new to generate a struct verse using gen to generate a…
qzcx
  • 361
  • 1
  • 12
1
vote
2 answers

Specman reflection: Generic method to copy list of any type

I would like to write a generic method that copies list of any type. My code: copy_list(in_list : list of rf_type) : list of rf_type is { var out_list : list of rf_type; gen out_list keeping { it.size() == in_list.size(); }; for each…
Halona
  • 1,475
  • 1
  • 15
  • 26
1
vote
1 answer

Invoking write/read_reg vr_ad macro from a virtual sequence in Specman

Is there a way that a virtual sequence can directly call a vr_ad write_reg or read_reg macro without me having to create a vr_ad_sequence that does the same thing? To illustrate more clearly, here is my current implementation: <' extend…
renvill
  • 143
  • 1
  • 10
1
vote
2 answers

Does Specman support optional parameters to a method?

I would like to add a new input to an existing method, but do not change all previous calls to the method. Does Specman support optional parameters to a method? Like in C++: void cpp_func(int bla, int foo = 0) { //do something ... }; and then…
Halona
  • 1,475
  • 1
  • 15
  • 26