OpenCores
URL https://opencores.org/ocsvn/lpffir/lpffir/trunk

Subversion Repositories lpffir

[/] [lpffir/] [trunk/] [uvm/] [tools/] [easier_uvm_gen/] [release_notes] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 vladimirar
------------------------------------------------------
2
Release Notes for Easier UVM Code Generator 2017-01-19
3
------------------------------------------------------
4
 
5
Don't use the monitor's analysis port outside of the agent. Use the agent's analysis port instead.
6
 
7
Move assignment to m_item in function _coverage::write
8
 
9
Move lines around in generated code for top_default_sequence
10
 
11
Add an m_config member to every ${agent_name}_env_default_seq register sequence and assign before start
12
Add an m_config member to every ${agent_name}_default_seq and assign before start
13
Add an m_config member to every driver and monitor and assign in agent::connect
14
 
15
 
16
 
17
------------------------------------------------------
18
Release Notes for Easier UVM Code Generator 2016-08-11
19
------------------------------------------------------
20
 
21
Allow multiple +uvm_cmdline settings to apply additively
22
 
23
Don't generate an empty build_phase method for the monitor component
24
 
25
Modify compile_riviera.do script to use the UVM 1.2 library supplied with Riviera
26
 
27
Fix a serious bug - the default env sequence was not being started for an agent that accessed a register model
28
 
29
 
30
 
31
------------------------------------------------------
32
Release Notes for Easier UVM Code Generator 2016-04-18
33
------------------------------------------------------
34
 
35
Add settings tb_prepend_to_initial and tb_inc_before_run_test to the common template file
36
 
37
Add settings generate_interface_instance = no (interface instance not generated and vif not assigned) to the
38
inteface template file to permit user-defined parameterized interface instantiations
39
 
40
Allow user-defined interface instance names in the pinlist file for use with generate_interface_instance = no
41
 
42
Add setting byo_interface (Bring Your Own interface) to the interface template file to allow user-supplied
43
interfaces
44
 
45
Changed "virtual interface is not set!" report from FATAL to WARNING - because a virtual interface might need to be
46
null in the presence of a parameterized interface
47
 
48
 
49
 
50
------------------------------------------------------
51
Release Notes for Easier UVM Code Generator 2016-04-06
52
------------------------------------------------------
53
 
54
Replace -f with -F in Riviera script
55
 
56
Modify compile_riviera.do script to compile everything UVM with a single call to alog
57
 
58
 
59
 
60
------------------------------------------------------
61
Release Notes for Easier UVM Code Generator 2016-04-01
62
------------------------------------------------------
63
 
64
Add a -s command line switch to override the syosil_scoreboard_src_path setting given in the common template file.
65
This switch is for use when running the generator in EDA Playground.
66
 
67
Permit end-of-line comments after DEC declarations in the pinlist file
68
 
69
Fix a bug with trailing comments after the last port connection in the pinlist file
70
 
71
Add calls to .set_item_context() before randomizing sequence objects to ensure random stability
72
 
73
 
74
 
75
------------------------------------------------------
76
Release Notes for Easier UVM Code Generator 2016-02-19
77
------------------------------------------------------
78
 
79
Add settings that let you replace the auto-generated bus2reg and reg2bus methods:
80
  adapter_generate_methods_inside_class
81
  adapter_generate_methods_after_class
82
  adapter_inc_before_class,
83
  adapter_inc_inside_class,
84
  adapter_inc_after_class,
85
 
86
Add setting nested_config_objects, which provides the option of having the agent config objects nested within
87
the top-level config object rather than being separate
88
 
89
Add settings for use with nested configuration objects:
90
  top_env_config_append_to_new
91
  top_env_config_generate_methods_inside_class
92
  top_env_config_generate_methods_after_class
93
  agent_config_generate_methods_inside_class
94
  agent_config_generate_methods_after_class
95
  tb_generate_run_test
96
 
97
 
98
 
99
------------------------------------------------------
100
Release Notes for Easier UVM Code Generator 2016-02-15
101
------------------------------------------------------
102
 
103
Fix bug in print_structure
104
 
105
Add top_env_generate_run_phase
106
 
107
Add generate_file_header and file_header_inc
108
 
109
 
110
 
111
------------------------------------------------------
112
Release Notes for Easier UVM Code Generator 2016-01-21
113
------------------------------------------------------
114
 
115
Permit
116
trans_var = // SystemVerilog comment
117
and
118
trans_meta = // SystemVerilog comment
119
 
120
Insert the agent_copy_config_vars include file only once in the case where number_of_instances > 1
121
This include file can copy the config vars for multiple instances of the configuration object
122
 
123
Add the setting dual_top, which merely creates two top-level modules rather than instantiating the test harness below the test bench
124
 
125
Add the setting split_transactors to support acceleration/emulation-ready environments
126
The term transactor means a UVM driver or monitor. split_transactors does the following:
127
- Forces dual_top
128
- The test harness (the "HDL domain") that instantiates the DUT can be synthesized onto an accelerator or emulator
129
- The test bench   (the "HVL domain") that instantiates the UVM environment must be untimed (no delays or clocks)
130
- The HDL domain now instantiates BFMs (Bus-Functional Models) that contain the synthesizable parts of the transactors
131
- The UVM drivers and monitors become proxies (wrappers) that make calls to the BFMs
132
 
133
 
134
 
135
------------------------------------------------------
136
Release Notes for Easier UVM Code Generator 2016-01-05
137
------------------------------------------------------
138
 
139
Permit the / character in include filenames so that ./include can be structured into subdirectories
140
 
141
Eliminated the _env directory and the _env_pkg. There is now only an _pkg.
142
 
143
Use coverage_enable to condition the calling of sample(), not the instantiation of a subscriber for an agent
144
 
145
Restructured the Perl script
146
 
147
 
148
------------------------------------------------------
149
Release Notes for Easier UVM Code Generator 2015-11-30
150
------------------------------------------------------
151
 
152
Highlights
153
----------
154
 
155
- The Code Generator can be run from the EDA Playground website
156
 
157
- The generator can instantiate the Syosil UVM Scoreboard along with reference models
158
 
159
- Now supports transaction metadata that is part of the transaction class but is not included
160
in the generated do_compare, do_pack, and do_unpack methods
161
 
162
- Now supports a single unpacked array dimension for transaction variables
163
 
164
- Now supports a setting to pass arguments to the UVM command line processor
165
 
166
 
167
The following changes are to support UVM 1.2
168
--------------------------------------------
169
 
170
Modify compile_vcs.do and compile_ius.do scripts to use the versions of UVM-1.2 built into those tools.
171
(The Questasim script automatically picks up the built-in version of UVM-1.2)
172
 
173
Replace the variable 'factory' with a call to uvm_factory::get() to support UVM 1.2
174
 
175
 
176
The following changes are to support the code generator within EDA Playground (www.edaplayground.com)
177
-----------------------------------------------------------------------------------------------------
178
 
179
Add the following command line switches:
180
  -x dut_source_path
181
  -x inc_path
182
  -x project
183
  -x regmodel_file
184
The presence of any one of these switches causes the script to return immediately with the value of
185
the corresponding setting. This feature is intended for use when running the script non-interactive mode.
186
 
187
Make the -r command line switch entirely optional. The script will instantiate a register model anyway
188
in the presence of the top_reg_block_type setting or a reg.tpl file
189
 
190
Make the files.f file in the DUT directory optional. If absent, the script will create a files.f
191
that lists just the *.sv files in the DUT directory itself in alphabetical order.
192
 
193
The dut_source_path setting is now optional and defaults to dut
194
The inc_path setting is now optional and defaults to include
195
The dut_pfile setting is now optional and defaults to pinlist
196
 
197
 
198
Other enhancements
199
------------------
200
 
201
Add common template file settings to instantiate a reference model paired with the Syosil UVM Scoreboard,
202
which must be downloaded separately from www.syosil.com
203
 
204
The new settings are:
205
  syosil_scoreboard_src_path
206
  ref_model_input
207
  ref_model_output
208
  ref_model_compare_method
209
  ref_model_inc_before_class
210
  ref_model_inc_inside_class
211
  ref_model_inc_after_class
212
 
213
Generate do_pack and do_unpack methods in the class uvm_sequence_item.
214
Add a command line switch -nopack to disable the generation of do_pack/do_unpack for backward compatibility
215
Variables are packed in the order of the trans_var and trans_enum_var settings
216
 
217
Add a trans_enum_var setting to distinguish enum variables.
218
This is necessary when generating do_pack/do_unpack and is also used when generating convert2string
219
 
220
Add trans_meta and trans_enum_meta settings to distinguish metadata from regular transaction variables.
221
Metadata is excluded from the automatically generated do_compare, do_pack, and do_unpack methods
222
The setting trans_enum_meta is only relevant to convert2string since metadata does not get packed
223
typedefs can be given using trans_var or trans_meta, the two differing only in statement ordering.
224
 
225
Allow a single unpacked static array dimension in the settings trans_var, trans_meta, trans_enum_var, and trans_enum_meta
226
The dimension must be given as an expression [N], not as a range [N:M]
227
The expression can include parameter names and operators
228
trans_enum_var does not allow an unpacked dimension if do_pack/do_unpack are generated, otherwise it does
229
trans_enum_meta allows an unpacked dimension because metadata is anyway excluded from do_pack/do_unpack
230
Unpacked arrays are not included in the automatically generated transaction covergroup
231
(One or more packed array dimensions are already supported)
232
(Dynamic arrays are not supported)
233
 
234
Call the method comparer.compare_field of the comparison policy object when overriding the do_compare
235
method of class uvm_sequence_item in the generated code.
236
 
237
Format the output from convert2string as enum or %p where appropriate, and otherwise as both %h and %d.
238
 
239
Add a common template file setting top_default_seq_count which sets the repeat count for the top-level
240
default virtual sequence (instead of hacking this value in the generated code after running the script)
241
 
242
Add a common template file setting uvm_cmdline which allows multiple command line arguments to be passed
243
to the UVM command line processor
244
 
245
Move the position of certain occurrence of the _N suffix in the generated code for consistency,
246
e.g. changed m_${agent}_agent${suffix} to m_${agent}${suffix}_agent
247
 
248
 
249
 
250
------------------------------------------------------
251
Release Notes for Easier UVM Code Generator 2015-06-29
252
------------------------------------------------------
253
 
254
Add a switch -m  to override the default filename common.tpl
255
 
256
Add a setting prefix= to the common template file as an alternative to the -p switch (default is top)
257
 
258
  The script could now be run as
259
    perl easier_uvm_gen.pl