Questions tagged [specman]

Specman is a simulator for `e` (IEEE 1647), an Aspect Oriented Programming (AOP) hardware verification language that enables constrained-random stimulus generation and coverage.

Specman is and EDA tool from Cadence Design Systems that provides an environment for working with, compiling, and debugging testbench environments written in the e language. See also

http://www.cadence.com/products/fv/enterprise_specman_elite

261 questions
4
votes
3 answers

Specman macro to do set subtraction with int_range_list objects

I work with a bunch of sets in order to generate constrained random traffic, but I want to be able to call a Specman macro that computes the complement of a set with syntax like: COMPLEMENT begin domain=[0..10,24..30], …
Ross Rogers
  • 23,523
  • 27
  • 108
  • 164
3
votes
1 answer

in Specman e, is there a way go give messagef non-definitive message_tag?

I made 2 loggers, one for each thread like this(THREAD=2): lsd_logger[THREADS] : list of message_logger is instance; keep for each in lsd_logger { soft it.tags == {appendf("DBG%d",index).as_a(message_tag)}; it.to_file …
O. San
  • 1,107
  • 3
  • 11
  • 25
3
votes
1 answer

Specman: how to retrieve values of var which is stored in another var

I have stored var name in another var and I want to retrieve values from original var. for ex: var var_A: list of uint = {1,3,2}; var var_A_str:string = "var_A"; //Now i want to print var_A list of values using var_A_str. How can i do that? print…
Dan
  • 31
  • 1
3
votes
4 answers

Behavior of contradicting soft constraints

I have a testcase in which the behavior seems wrong. I see that in all generations the num_of_red_shoes is high, while I would expect a more even distribution. What is the cause of this behavior and how can it be fixed? <' struct closet { …
SpecUser
  • 31
  • 1
3
votes
2 answers

Specman e: How to use deep_copy on list of structs?

I have a my_list_1 (list of structs) that defined this way: struct my_struct { something[2] : list of int; something_else[2] : list of uint; }; ... my_list_1[10] : list of my_struct; I need to copy this list to a local variable in a…
Halona
  • 1,475
  • 1
  • 15
  • 26
3
votes
2 answers

Specman e: How to constrain 'all_different' to list of structs?

I have my_list that defined this way: struct my_struct { comparator[2] : list of int(bits:16); something_else[2] : list of uint(bits:16); }; ... my_list[10] : list of my_struct; It is forbidden to comparators at the same index (0 or 1) to…
Halona
  • 1,475
  • 1
  • 15
  • 26
3
votes
1 answer

Specman UVM: What is the difference between access a register directly and using read_reg_val()?

I'm working with vr_ad package for e. I've defined a register my_reg in the vr_ad_reg_file my_reg_file: reg_def MY_REG MY_REG_FILE 20'h00018 { reg_fld my_reg_field : uint (bits : 32) : RW : 0x0; }; I would like to access the value of the…
Halona
  • 1,475
  • 1
  • 15
  • 26
3
votes
2 answers

Specman e: Is there a way to extend multiple kinds of a struct?

in my verification environment we work with vr_ad UVM package, where there is a general struct for a register vr_ad_reg which has been extended with different type for every register in the environment, etc: reg_def TIMER_LOAD_0 TIMER 20'h00010 { …
Halona
  • 1,475
  • 1
  • 15
  • 26
3
votes
2 answers

comparing strings by lexicographical order in e/specman

Does specman have something like lex_lt(s1,s2) methods? (i.e. compare strings by lexicographical order). If not, is there a recommended way to achieve the same?
3
votes
3 answers

specman: Assign multiple struct member in one expression

Hy, I expanding an existing specman test where some code like this appears: struct dataset { !register : int (bits:16); ... other members } ... data : list of dataset; foo : dataset; gen foo; foo.register = 0xfe; ... assign other foo members…
3
votes
2 answers

Specman method returns sized list

I want to define a method that returns a sized lists. E.g. my_method(): list of my_struct is { ... }; will obviously return a list of unknown size. The online documentation has no syntax definition for a sized list as return value.
Thorsten
  • 710
  • 8
  • 17
3
votes
3 answers

VLSI: Registers automation

I'm looking for Registers automation solution for VLSI design. i.e, some standard way to describe RTL registers in some text file, or XML, that can be processed to Verilog, VHDL, Specman, System Verilog, C header and HTML/PDF documentation. Any…
Zvika
  • 1,542
  • 2
  • 17
  • 21
2
votes
3 answers

How does one find non-conformance to a spec when both the RTL'ers and the verification engineers miss a particular spec feature?

I have some questions regarding IP verification. Suppose if a particular design/functionality from an IP specification is missed both in the RTL and the verification plan (Coverage points), how would you identify this bug? Since it hasn't been…
Kumar
  • 43
  • 3
2
votes
1 answer

specman e lists constraints references

i am trying to do the following : unit parent { sons: list of sons is instance; grands: list of grands is instance; keep sons.size() == 4; keep grands.size() == 4; }; unit sons { …
shd
  • 1,201
  • 4
  • 17
  • 29
2
votes
3 answers

GEN_NO_GENERATABLE_NOTIF

I want to choose index from list, so the element[index] complies my condition. MyList[index].num==0 I tried the code bellow: gen DescIdx2Choose keeping { it < MyList.size(); MyList[it].num==0;//I tried a few way of read_only }; How can I do…
esty
  • 21
  • 1
1
2 3
17 18