| // Copyright lowRISC contributors. |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| // SPDX-License-Identifier: Apache-2.0 |
| // |
| // UVM Registers auto-generated by `reggen` containing data structure |
| // Do Not Edit directly |
| |
| // Block: padctrl |
| `ifndef PADCTRL_REG_BLOCK__SV |
| `define PADCTRL_REG_BLOCK__SV |
| |
| // Forward declare all register/memory/block classes |
| typedef class padctrl_reg_regen; |
| typedef class padctrl_reg_dio_pads; |
| typedef class padctrl_reg_mio_pads0; |
| typedef class padctrl_reg_mio_pads1; |
| typedef class padctrl_reg_mio_pads2; |
| typedef class padctrl_reg_mio_pads3; |
| typedef class padctrl_reg_block; |
| |
| // Class: padctrl_reg_regen |
| class padctrl_reg_regen extends dv_base_reg; |
| // fields |
| rand dv_base_reg_field regen; |
| |
| `uvm_object_utils(padctrl_reg_regen) |
| |
| function new(string name = "padctrl_reg_regen", |
| int unsigned n_bits = 32, |
| int has_coverage = UVM_NO_COVERAGE); |
| super.new(name, n_bits, has_coverage); |
| endfunction : new |
| |
| virtual function void build(); |
| // create fields |
| regen = dv_base_reg_field::type_id::create("regen"); |
| regen.configure( |
| .parent(this), |
| .size(1), |
| .lsb_pos(0), |
| .access("W0C"), |
| .volatile(1), |
| .reset(32'h1), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| endfunction : build |
| |
| endclass : padctrl_reg_regen |
| |
| // Class: padctrl_reg_dio_pads |
| class padctrl_reg_dio_pads extends dv_base_reg; |
| // fields |
| rand dv_base_reg_field attr0; |
| rand dv_base_reg_field attr1; |
| rand dv_base_reg_field attr2; |
| rand dv_base_reg_field attr3; |
| |
| `uvm_object_utils(padctrl_reg_dio_pads) |
| |
| function new(string name = "padctrl_reg_dio_pads", |
| int unsigned n_bits = 32, |
| int has_coverage = UVM_NO_COVERAGE); |
| super.new(name, n_bits, has_coverage); |
| endfunction : new |
| |
| virtual function void build(); |
| // create fields |
| attr0 = dv_base_reg_field::type_id::create("attr0"); |
| attr0.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(0), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| attr1 = dv_base_reg_field::type_id::create("attr1"); |
| attr1.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(8), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| attr2 = dv_base_reg_field::type_id::create("attr2"); |
| attr2.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(16), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| attr3 = dv_base_reg_field::type_id::create("attr3"); |
| attr3.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(24), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| endfunction : build |
| |
| endclass : padctrl_reg_dio_pads |
| |
| // Class: padctrl_reg_mio_pads0 |
| class padctrl_reg_mio_pads0 extends dv_base_reg; |
| // fields |
| rand dv_base_reg_field attr0; |
| rand dv_base_reg_field attr1; |
| rand dv_base_reg_field attr2; |
| rand dv_base_reg_field attr3; |
| |
| `uvm_object_utils(padctrl_reg_mio_pads0) |
| |
| function new(string name = "padctrl_reg_mio_pads0", |
| int unsigned n_bits = 32, |
| int has_coverage = UVM_NO_COVERAGE); |
| super.new(name, n_bits, has_coverage); |
| endfunction : new |
| |
| virtual function void build(); |
| // create fields |
| attr0 = dv_base_reg_field::type_id::create("attr0"); |
| attr0.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(0), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| attr1 = dv_base_reg_field::type_id::create("attr1"); |
| attr1.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(8), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| attr2 = dv_base_reg_field::type_id::create("attr2"); |
| attr2.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(16), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| attr3 = dv_base_reg_field::type_id::create("attr3"); |
| attr3.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(24), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| endfunction : build |
| |
| endclass : padctrl_reg_mio_pads0 |
| |
| // Class: padctrl_reg_mio_pads1 |
| class padctrl_reg_mio_pads1 extends dv_base_reg; |
| // fields |
| rand dv_base_reg_field attr4; |
| rand dv_base_reg_field attr5; |
| rand dv_base_reg_field attr6; |
| rand dv_base_reg_field attr7; |
| |
| `uvm_object_utils(padctrl_reg_mio_pads1) |
| |
| function new(string name = "padctrl_reg_mio_pads1", |
| int unsigned n_bits = 32, |
| int has_coverage = UVM_NO_COVERAGE); |
| super.new(name, n_bits, has_coverage); |
| endfunction : new |
| |
| virtual function void build(); |
| // create fields |
| attr4 = dv_base_reg_field::type_id::create("attr4"); |
| attr4.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(0), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| attr5 = dv_base_reg_field::type_id::create("attr5"); |
| attr5.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(8), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| attr6 = dv_base_reg_field::type_id::create("attr6"); |
| attr6.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(16), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| attr7 = dv_base_reg_field::type_id::create("attr7"); |
| attr7.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(24), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| endfunction : build |
| |
| endclass : padctrl_reg_mio_pads1 |
| |
| // Class: padctrl_reg_mio_pads2 |
| class padctrl_reg_mio_pads2 extends dv_base_reg; |
| // fields |
| rand dv_base_reg_field attr8; |
| rand dv_base_reg_field attr9; |
| rand dv_base_reg_field attr10; |
| rand dv_base_reg_field attr11; |
| |
| `uvm_object_utils(padctrl_reg_mio_pads2) |
| |
| function new(string name = "padctrl_reg_mio_pads2", |
| int unsigned n_bits = 32, |
| int has_coverage = UVM_NO_COVERAGE); |
| super.new(name, n_bits, has_coverage); |
| endfunction : new |
| |
| virtual function void build(); |
| // create fields |
| attr8 = dv_base_reg_field::type_id::create("attr8"); |
| attr8.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(0), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| attr9 = dv_base_reg_field::type_id::create("attr9"); |
| attr9.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(8), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| attr10 = dv_base_reg_field::type_id::create("attr10"); |
| attr10.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(16), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| attr11 = dv_base_reg_field::type_id::create("attr11"); |
| attr11.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(24), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| endfunction : build |
| |
| endclass : padctrl_reg_mio_pads2 |
| |
| // Class: padctrl_reg_mio_pads3 |
| class padctrl_reg_mio_pads3 extends dv_base_reg; |
| // fields |
| rand dv_base_reg_field attr12; |
| rand dv_base_reg_field attr13; |
| rand dv_base_reg_field attr14; |
| rand dv_base_reg_field attr15; |
| |
| `uvm_object_utils(padctrl_reg_mio_pads3) |
| |
| function new(string name = "padctrl_reg_mio_pads3", |
| int unsigned n_bits = 32, |
| int has_coverage = UVM_NO_COVERAGE); |
| super.new(name, n_bits, has_coverage); |
| endfunction : new |
| |
| virtual function void build(); |
| // create fields |
| attr12 = dv_base_reg_field::type_id::create("attr12"); |
| attr12.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(0), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| attr13 = dv_base_reg_field::type_id::create("attr13"); |
| attr13.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(8), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| attr14 = dv_base_reg_field::type_id::create("attr14"); |
| attr14.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(16), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| attr15 = dv_base_reg_field::type_id::create("attr15"); |
| attr15.configure( |
| .parent(this), |
| .size(8), |
| .lsb_pos(24), |
| .access("RW"), |
| .volatile(1), |
| .reset(32'h0), |
| .has_reset(1), |
| .is_rand(1), |
| .individually_accessible(1)); |
| endfunction : build |
| |
| endclass : padctrl_reg_mio_pads3 |
| |
| // Class: padctrl_reg_block |
| class padctrl_reg_block extends dv_base_reg_block; |
| // registers |
| rand padctrl_reg_regen regen; |
| rand padctrl_reg_dio_pads dio_pads; |
| rand padctrl_reg_mio_pads0 mio_pads0; |
| rand padctrl_reg_mio_pads1 mio_pads1; |
| rand padctrl_reg_mio_pads2 mio_pads2; |
| rand padctrl_reg_mio_pads3 mio_pads3; |
| |
| `uvm_object_utils(padctrl_reg_block) |
| |
| function new(string name = "padctrl_reg_block", |
| int has_coverage = UVM_NO_COVERAGE); |
| super.new(name, has_coverage); |
| endfunction : new |
| |
| virtual function void build(uvm_reg_addr_t base_addr); |
| // create default map |
| this.default_map = create_map(.name("default_map"), |
| .base_addr(base_addr), |
| .n_bytes(4), |
| .endian(UVM_LITTLE_ENDIAN)); |
| |
| // create registers |
| regen = padctrl_reg_regen::type_id::create("regen"); |
| regen.configure(.blk_parent(this)); |
| regen.build(); |
| default_map.add_reg(.rg(regen), |
| .offset(32'h0), |
| .rights("RW")); |
| dio_pads = padctrl_reg_dio_pads::type_id::create("dio_pads"); |
| dio_pads.configure(.blk_parent(this)); |
| dio_pads.build(); |
| default_map.add_reg(.rg(dio_pads), |
| .offset(32'h4), |
| .rights("RW")); |
| mio_pads0 = padctrl_reg_mio_pads0::type_id::create("mio_pads0"); |
| mio_pads0.configure(.blk_parent(this)); |
| mio_pads0.build(); |
| default_map.add_reg(.rg(mio_pads0), |
| .offset(32'h8), |
| .rights("RW")); |
| mio_pads1 = padctrl_reg_mio_pads1::type_id::create("mio_pads1"); |
| mio_pads1.configure(.blk_parent(this)); |
| mio_pads1.build(); |
| default_map.add_reg(.rg(mio_pads1), |
| .offset(32'hc), |
| .rights("RW")); |
| mio_pads2 = padctrl_reg_mio_pads2::type_id::create("mio_pads2"); |
| mio_pads2.configure(.blk_parent(this)); |
| mio_pads2.build(); |
| default_map.add_reg(.rg(mio_pads2), |
| .offset(32'h10), |
| .rights("RW")); |
| mio_pads3 = padctrl_reg_mio_pads3::type_id::create("mio_pads3"); |
| mio_pads3.configure(.blk_parent(this)); |
| mio_pads3.build(); |
| default_map.add_reg(.rg(mio_pads3), |
| .offset(32'h14), |
| .rights("RW")); |
| endfunction : build |
| |
| endclass : padctrl_reg_block |
| |
| `endif |