I am setting values to sequence_item before I call start_item(seq_item) any different from setting values after calling start_item(seq_item)?
UVM: Does setting values to sequence_item before I call start_item(seq_item) cause any issue?
462 Views Asked by shicky At
2
There are 2 best solutions below
0
Allan Carter
On
The main reason for randomizing a seq_item after start_item returns is to enable the transaction to be randomized based on the current state of the machine. If you don't have a dependency on the testbench state, then there is no functional difference.
I think the bigger issue is to use the established pattern of deferred randomization so that all of your code looks the same and so that anyone copying your code as a template (including you) follows the pattern just in case the order does matter.
Consistency in your code will help prevent bugs.
Related Questions in VERILOG
- Tick-including a header file inside package in systemverilog
- Others => '1' statement in Verilog
- Why there are verilog verification files not in the form of module?
- Creation of array in Verilog that can store real values
- Array initialization error in Verilog
- Verilog signed unsigned operation
- What does Z in Verilog stand for?
- Properly including a .vh in a .sv file?
- Unknown Wrong result when simulating Verilog design in modelsim
- Verilog simulation x's in output
- Verilog generate statement : conditional port connections
- Divide by 2 clock and corresponding reset generation
- What is the meaning of this code statement in verilog?
- Use of << in given Verilog code?
- Verilog Testbench constant exp and pram compilation and simulation errors
Related Questions in VERIFICATION
- Why there are verilog verification files not in the form of module?
- MySQLi event delete row after certain time
- How to verify a git commit at which a git tag is pointing?
- How verify server's hardware before install it into data center?
- Dafny - Substring implementation
- SPIN: interpret the error trace
- Verifying timestamps in a time series
- How to check TypeScript code for syntax errors from a command line?
- How to create a control/checking script in powershell?
- Openssl - verify function alternative for c#
- Javascript Password Verification window.location.replace
- How i can integrate Yodlee IAV?
- Verify app purchase via Google Login
- Validate Apple receipts: HTTP status code for illegal receipts
- What's the better way to verify null parameters from objects relationships
Related Questions in SYSTEM-VERILOG
- Tick-including a header file inside package in systemverilog
- How to use throughout operator in systemverilog assertions
- Packed vs unpacked array
- Creation of array in Verilog that can store real values
- What does Z in Verilog stand for?
- Properly including a .vh in a .sv file?
- Verilog generate statement : conditional port connections
- How to pass a class between two modules?
- What is the meaning of this code statement in verilog?
- importing VHDL packages to SV from libraries other than WORK
- How to demonstrate a 32-bit MIPS with FPUs in a FPGA?
- SystemVerilog DPI returning string from C++ to verilog - ASCII charaters at the end?
- SystemVerilog: derive input width from parameter
- What is advantage of structure?
- How to access the structures from testbench
Related Questions in UVM
- `uvm_do_with with inline constraints
- Error - near ":": syntax error, unexpected ':', expecting IDENTIFIER or clock
- Error - :near "(": syntax error, unexpected '(', expecting IDENTIFIER or '='
- UVM virtual sequencer: choose the right child sequencer
- UVM blocking assignment race conditions
- Grab Transactions inside UVM_Sequencer Run Phase
- Where does get_and_drive come from?
- Is it good idea to declare config object in uvm_sequence_item
- UVM: Does setting values to sequence_item before I call start_item(seq_item) cause any issue?
- How to intercept uvm_error and cause a callback?
- calling $dumpvars() from a task
- Can UVM flag a bad command line argument?
- parameterized class queue in sv
- What is the purpose of register model in UVM?
- What is the purpose of UVM Virtual Sequencers
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Yes, you can do this, but realize that start_item() is a blocking task, so the state of your design and testbench may be different before versus after.