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
0
votes
0 answers

R function (code) for testing the correlation of residuals three OLS regression equations

I have three OLS regression equations. The correlation of residuals of three equations is given below. I want to test if the correlation of the residuals of these three equations is significant or not - to show that three equations are related. Is…
0
votes
0 answers

XCTest performance metric (i.e. XCTCPUMetric) doesn't give cpu usage in percentage like TimeProfiler in Xcode Instruments

Running below XCUITest code, shows result for CPU Time, CPU Cycles and CPU Instructions Retired. But CPU Time is given in seconds in results report in Xcode. Can anyone help me how can I know the percentage of CPU time is used for app launch using…
Sunil
  • 1
0
votes
1 answer

Copying Lists using Keeps in Specman

Currently if I want to generate an identical list to a previously generated one in Specman e I use: <' struct A { ListA : list of uint; keep ListA.size() == 5; keep ListA.sum(it) <= 20; }; struct B { ListB : list of uint; }; extend…
Ank
  • 1
  • 2
0
votes
1 answer

Generating a list in Specman with at least one of each enum

If I have: <' type MyEnum : [A1, B2, C3, D4, E5]; extend sys { ListA : list of MyEnum; keep ListA.size() == 10; // Just for the example, // point being that it is larger than the number of Enums in the…
Ank
  • 1
  • 2
0
votes
1 answer

How to type cast a list of uint to a list of vr_ahb_data in Specman?

I have A which is a list of uint(bits:20) and B which is a list of vr_ahb_data. I also have a method that takes in 2 lists of vr_ahb_data and compares each item between the two lists. type vr_ahb_data : uint(bits: VR_AHB_DATA_WIDTH); // defined in…
renvill
  • 143
  • 1
  • 10
0
votes
1 answer

What is difference between assignment with and without bit selector? (e/Specman)

I'm coding in e (Specman) programming language. If I want to assign integer variable with constant, what is the difference if I use bit selector (selecting all 32 bits) or not? I wanted to assign integer variable with negative constant in form:…
0
votes
2 answers

Specman e: Can delay() get a variable as an input with time unit?

I try to pass a variable with time unit to the delay() temporal expression: var bla : real = 0.1; wait delay (bla ns); And get the next error: *** Error: Unrecognized exp [Unrecognized expression 'bla ns'] Is there a way in Specman e to pass…
Halona
  • 1,475
  • 1
  • 15
  • 26
0
votes
1 answer

Specman e error: No match for file when using "for each line in file"

I have a my_text.txt file and the next e file in the same directory: extend my_unit { run() is also { for each line in file "my_text.txt" do { // ... }; }; }; I get the next run error: *** Error: No match for…
Halona
  • 1,475
  • 1
  • 15
  • 26
0
votes
1 answer

How to compare each bits of a 32 bits number with another 32 bits number?

I am thinking compare each bits of a 32 bits number with another 32 bits number. eg. check that ins.dout_1 == (ins.din1_1 + ins.din2_1) Which dout_1, din1_1 and din2_1 are all unsigned integer of 32 bits. I want to check for each bits from 12…
0
votes
1 answer

How to run e file one by one? Not in parallel test

I am new to specman, I am now writing a testbench which i want to give many specific test cases to debug a calculator. For example, I have two files, the first one called "test1" and the second called "test2". Here is my code for "test1": extend…
0
votes
1 answer

Specman/e constraint (for each in) iteration

Can I iterate through only a part of a list in e, in a constraint. For example, this code will go through the whole layer_l list: <' struct layer_s { a : int; keep soft a == 3; }; struct layer_gen_s { n_layers : int; keep soft n_layers…
evilpascal
  • 117
  • 3
  • 12
0
votes
1 answer

Sequence that writes to either one of two different registers, but with the same fields

I'm working on an old environment, that is not UVM compatible, but uses the vr_ad_reg. One of the issues with this old environment is that instead of instantiating a regfile twice for one of the modules (which in RTL is indeed instantiated twice),…
Shay Golan
  • 89
  • 7
0
votes
2 answers

Specman e: How to print variable's address?

Is it possible to print a variable's address in Specman e, as it can be done in c: printf(" variable address = %d \n", &some_variable); Thank you for your help
Halona
  • 1,475
  • 1
  • 15
  • 26
0
votes
2 answers

Specman e: Is there a way to connect a simple_port's hdl_path to negated verilog port?

I have a signal_map with reset port. Many environments use this signal_map unit. The problem is that the reset port is always active low, but in one environment it is active high. There is already a lot of generic logic for all the environments that…
Halona
  • 1,475
  • 1
  • 15
  • 26
0
votes
1 answer

Specman e: How to pass a verbosity in a variable to a message() action?

I need to set a message verbosity using a variable, e.g.: my_write(my_verb : message_verbosity) is { message(BUS, my_verb, vt.text_style(PURPLE, "txt txt txt")); // other logic }; This code causes the next compilation…
Halona
  • 1,475
  • 1
  • 15
  • 26