Skip to content

Commit bc3d955

Browse files
committed
Deploying to gh-pages from @ aaf51d6 🚀
1 parent 30ec7ef commit bc3d955

File tree

4 files changed

+99
-77
lines changed

4 files changed

+99
-77
lines changed

devel/_sources/comp/uvm/docs/howto-first_ver.rst.txt

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Inside *tbench* create *env* and *test* (some setups use *tests*). Create the fi
4848
* ./uvm/tbench/env/pkg.sv
4949
* ./uvm/tbench/test/base.sv
5050
* ./uvm/tbench/test/pkg.sv
51-
* ./uvm/generic.sv
51+
* ./uvm/tbench/generic.sv
5252
* ./uvm/Modules.tcl
5353
* ./uvm/top_level.fdo
5454
* ./uvm/signals.fdo
@@ -93,6 +93,8 @@ Later we add RX/TX UVCs, model, and scoreboard. Some classes are parametrised (e
9393
//Call parents function build_phase
9494
super.build_phase(phase);
9595
96+
// Create sequencer
97+
m_sequencer = sequencer #(DATA_WIDTH)::type_id::create("m_sequencer", this);
9698
endfunction
9799
98100
// Connect agent's ports with ports from scoreboard.
@@ -127,6 +129,7 @@ Package simplifies organization of files and classes into namespace.
127129

128130
.. code-block:: systemverilog
129131
:caption: env/pkg.sv
132+
130133
`ifndef FIFOX_ENV_SV
131134
`define FIFOX_ENV_SV
132135
package uvm_fifox;
@@ -154,8 +157,7 @@ Function *used* indicates whether the scoreboard is still waiting for DUT data.
154157
class base#(
155158
int unsigned DATA_WIDTH
156159
) extends uvm_test;
157-
`m_uvm_object_registry_internal(test::base#(DATA_WIDTH), test::base)
158-
`m_uvm_get_type_name_func(test::base)
160+
uvm_component_registry #(test::base#(DATA_WIDTH), "test::base") type_id;
159161
160162
// test have to create top level environment
161163
uvm_fifox::env #(DATA_WIDTH) m_env;
@@ -567,6 +569,9 @@ and *uvm_reset::agent*.
567569
uvm_config_db #(uvm_logic_vector_mvb::config_item)::set(this, "m_rx", "m_config", m_cfg_rx);
568570
// Creation of the m_rx
569571
m_rx = uvm_logic_vector_mvb::env_rx #(1, DATA_WIDTH)::type_id::create("m_rx", this);
572+
573+
// Create sequencer
574+
m_sequencer = sequencer #(DATA_WIDTH)::type_id::create("m_sequencer", this);
570575
endfunction
571576
572577
// Connect agent's ports with ports from scoreboard.
@@ -628,8 +633,7 @@ data has stopped. Using *join* would not work because the reset sequence never s
628633
class base#(
629634
int unsigned DATA_WIDTH
630635
) extends uvm_test;
631-
`m_uvm_object_registry_internal(test::base#(DATA_WIDTH), test::base)
632-
`m_uvm_get_type_name_func(test::base)
636+
uvm_component_registry #(test::base#(DATA_WIDTH), "test::base") type_id;
633637
634638
// test has to create top-level environment
635639
uvm_fifox::env #(DATA_WIDTH) m_env;
@@ -804,6 +808,9 @@ Add *uvm_logic_vector_mvb::env_tx* to the environment. It drives *DST_RDY* (FIFO
804808
uvm_config_db #(uvm_logic_vector_mvb::config_item)::set(this, "m_tx", "m_config", m_cfg_tx);
805809
// Creation of the m_tx
806810
m_tx = uvm_logic_vector_mvb::env_tx #(1, DATA_WIDTH)::type_id::create("m_tx", this);
811+
812+
// Create sequencer
813+
m_sequencer = sequencer #(DATA_WIDTH)::type_id::create("m_sequencer", this);
807814
endfunction
808815
809816
// Connect agent's ports with ports from scoreboard.
@@ -1020,6 +1027,9 @@ Add the model and the scoreboard into the environment
10201027
// Creation of the m_tx
10211028
m_tx = uvm_logic_vector_mvb::env_tx #(1, DATA_WIDTH)::type_id::create("m_tx", this);
10221029
1030+
// Create sequencer
1031+
m_sequencer = sequencer #(DATA_WIDTH)::type_id::create("m_sequencer", this);
1032+
10231033
m_sc = scoreboard #(DATA_WIDTH)::type_id::create("m_sc", this);
10241034
10251035
m_model = uvm_fifox::model #(DATA_WIDTH)::type_id::create("m_model", this);

0 commit comments

Comments
 (0)