Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
690f96c
dut
Dec 20, 2022
e8cef2e
new
Dec 20, 2022
80b8398
deleted
Dec 23, 2022
f3a25a1
challenge 3
Dec 23, 2022
3b6e87c
interfaces
Dec 23, 2022
1c93cad
hi
Dec 23, 2022
dfa4cfc
Adding wb intf yaml files
VINUTHNA-SRI Dec 23, 2022
266ce8a
apb_interface.yaml
Dec 23, 2022
167e985
Merge branch 'B7_Team_BJT' of github.com:muneeb-mbytes/UVMF into B7_T…
Dec 23, 2022
e4b9235
template files edited
Dec 23, 2022
a455f03
initial for merge
Dec 23, 2022
5e5700a
Adding intfs
VINUTHNA-SRI Dec 23, 2022
95007c4
Merge branch 'B7_Team_BJT' of github.com:muneeb-mbytes/UVMF into B7_T…
VINUTHNA-SRI Dec 23, 2022
7e1b0b1
block_a modified
vineethkumarv Dec 23, 2022
4fc86d6
interface template edited
vineethkumarv Dec 23, 2022
e75fa86
Merge branch 'B7_Team_BJT' of github.com:muneeb-mbytes/UVMF into B7_T…
Dec 23, 2022
ff8c27e
block_a
Dec 23, 2022
1951f63
Merge branch 'B7_Team_BJT' of github.com:muneeb-mbytes/UVMF into B7_T…
Dec 23, 2022
1ca56bd
axi master and slave interfaces
Dec 23, 2022
8f4821a
block_a
Dec 23, 2022
a4c3263
predictors and scoreboards
Dec 24, 2022
c94d67e
wb
VINUTHNA-SRI Dec 24, 2022
fb13d24
Merge branch 'B7_Team_BJT' of github.com:muneeb-mbytes/UVMF into B7_T…
VINUTHNA-SRI Dec 24, 2022
b5d5875
added block2 and few edits
vineethkumarv Dec 24, 2022
0a1f52f
directory names changed
Dec 24, 2022
0e122bf
Adding subsytem env and utils
VINUTHNA-SRI Dec 24, 2022
6aa90c5
Merge branch 'B7_Team_BJT' of github.com:muneeb-mbytes/UVMF into B7_T…
VINUTHNA-SRI Dec 24, 2022
bac99ae
Merge branch 'B7_Team_BJT' of github.com:muneeb-mbytes/UVMF into B7_T…
Dec 24, 2022
e39a568
ap's in envs
vineethkumarv Dec 24, 2022
0a0b2a9
added active_passive
vineethkumarv Dec 24, 2022
74ae9ff
edited axi interface and subsys
vineethkumarv Dec 24, 2022
f8eb1e4
block a and block b yaml codes working
Dec 24, 2022
2652dd9
Merge branch 'B7_Team_BJT_challenge3' of github.com:muneeb-mbytes/UVM…
Dec 24, 2022
c4ba13c
sub_system
Dec 24, 2022
7a6979c
sub_system
Dec 24, 2022
4f61a79
block_3 generated
Dec 24, 2022
0cb6c57
system
Dec 24, 2022
a353ad2
apb_master_intf.yaml
Dec 24, 2022
bb8d52a
all block levels are fixed
vineethkumarv Dec 25, 2022
cf35ab1
all blocks-compile success
vineethkumarv Dec 25, 2022
530a3af
system
Dec 25, 2022
9e4f3b5
Merge branch 'B7_Team_BJT_challenge3' of github.com:muneeb-mbytes/UVM…
Dec 25, 2022
f2d21fa
all block,subsystem and system level benches ready and even compiling
Dec 25, 2022
1348e06
for pull request
Dec 25, 2022
e7c1070
Delete UVM_Framework/UVMF_2022.3/task_3 directory
vineethkumarv Dec 26, 2022
887bc24
subsystem-edited
vineethkumarv Dec 26, 2022
ceab28f
sub edited
vineethkumarv Dec 26, 2022
0990667
csh file created for setting path to env_variable and the command to …
Dec 26, 2022
7f559cf
csh files update to github
Dec 26, 2022
314ea77
Resolved the compilation issues with sub-envs
muneebullashariff Dec 26, 2022
3a82d63
system level was generated and compiled
Dec 26, 2022
e752052
sub_system and system benches with successfull compilation
Dec 26, 2022
c1b39ea
csh files for setting path and generating uvm files
Dec 26, 2022
fab865c
env temps modified
Dec 26, 2022
b6318f7
intf_temp_modified
vineethkumarv Dec 26, 2022
dc61d55
few bench temps
jahnavivallivedu Dec 26, 2022
fbf1bbd
few tb temps modified
jahnavivallivedu Dec 26, 2022
bb35408
initial changes of bench_tb
Dec 26, 2022
ee0211b
adding ifndef to bench level template file done
Dec 26, 2022
c446cd1
ifndef for all files done
Dec 26, 2022
9d381e0
tb_hvl_f edited
vineethkumarv Dec 27, 2022
555c2d3
tb_hvl_f edited
vineethkumarv Dec 27, 2022
7e59190
reusing the existing blocks for subsystem and system levels
Jan 7, 2023
ed2ccb6
Merge branch 'B7_Team_BJT_challenge4' of github.com:muneeb-mbytes/UVM…
Jan 7, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions UVM_Framework/UVMF_2022.3/challenge_3/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
work
17 changes: 17 additions & 0 deletions UVM_Framework/UVMF_2022.3/challenge_3/block_1/block1_bench.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
uvmf:
benches:
"block_1" :
## Specify the top-level block
top_env: "block_1"
clock_half_period: "5ns"
reset_assertion_level: "True"
reset_duration: "200ns"
active_passive:
- bfm_name: "apb_master"
value: "ACTIVE"
- bfm_name: "axi_master1"
value: "ACTIVE"
- bfm_name: "axi_master2"
value: "ACTIVE"
- bfm_name: "spi_slave"
value: "ACTIVE"
57 changes: 57 additions & 0 deletions UVM_Framework/UVMF_2022.3/challenge_3/block_1/block1_env.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
uvmf:
environments:
"block_1" :
agents :
- name: "apb_master"
type: "apb_m"
initiator_responder: "INITIATOR"

- name: "axi_master1"
type: "axi_m"
initiator_responder: "INITIATOR"

- name: "axi_master2"
type: "axi_m"
initiator_responder: "INITIATOR"

- name: "spi_slave"
type: "spi_s"
initiator_responder: "RESPONDER"

analysis_components :
- name: "block_1_pred"
type: "block_1_predictor"
- name: "block_1_sb"
type: "block_1_scoreboard"

analysis_ports :
- name: "apb_master_ap"
trans_type: "apb_m_transaction"
connected_to: "apb_master.monitored_ap"
- name: "axi_master1_ap"
trans_type: "axi_m_transaction"
connected_to: "axi_master1.monitored_ap"
- name: "axi_master2_ap"
trans_type: "axi_m_transaction"
connected_to: "axi_master2.monitored_ap"
- name: "spi_slave_ap"
trans_type: "spi_s_transaction"
connected_to: "spi_slave.monitored_ap"

tlm_connections:
- driver: "spi_slave.monitored_ap"
receiver: "block_1_sb.spi_ae"
- driver: "apb_master.monitored_ap"
receiver: "block_1_pred.apb_ae"

- driver: "axi_master1.monitored_ap"
receiver: "block_1_pred.axi_1_ae"
- driver: "axi_master2.monitored_ap"
receiver: "block_1_pred.axi_2_ae"
- driver: "block_1_pred.pre_to_sco_ap"
receiver: "block_1_sb.sco_from_pre_ae"

config_vars :
- name: "has_scoreboard"
type : "bit"
isrand : "False"
22 changes: 22 additions & 0 deletions UVM_Framework/UVMF_2022.3/challenge_3/block_1/block1_util.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
uvmf:
util_components:
block_1_predictor:
analysis_exports:
- name: apb_ae
type: 'apb_m_transaction'
- name: axi_1_ae
type: 'axi_m_transaction'
- name: axi_2_ae
type: 'axi_m_transaction'
analysis_ports:
- name: pre_to_sco_ap
type: 'spi_s_transaction'
existing_library_component: 'True'
type: predictor
block_1_scoreboard:
analysis_exports:
- name: spi_ae
type: 'spi_s_transaction'
- name: sco_from_pre_ae
type: 'spi_s_transaction'
type: scoreboard
3 changes: 3 additions & 0 deletions UVM_Framework/UVMF_2022.3/challenge_3/block_1/block_1.csh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# This is the command to generate you block_1_level bench

python ../../../UVMF_2022.3/scripts/yaml2uvmf.py ../intf/apb_m_intf.yaml ../intf/axi_m_intf.yaml ../intf/spi_s_intf.yaml ../block_1/block1_env.yaml ../block_1/block1_util.yaml ../block_1/block1_bench.yaml
12 changes: 12 additions & 0 deletions UVM_Framework/UVMF_2022.3/challenge_3/block_2/block2_bench.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
uvmf:
benches:
"block_2" :
top_env: "block_2"
clock_half_period: "5ns"
reset_assertion_level: "True"
reset_duration: "200ns"
active_passive:
- bfm_name: "spi_master"
value: "ACTIVE"
- bfm_name: "wb_slave"
value: "ACTIVE"
37 changes: 37 additions & 0 deletions UVM_Framework/UVMF_2022.3/challenge_3/block_2/block2_env.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
uvmf:
environments:
"block_2" :
agents :
- name: "spi_master"
type: "spi_m"
initiator_responder: "INITIATOR"
- name: "wb_slave"
type: "wb_s"
initiator_responder: "RESPONDER"

analysis_components :
- name: "block_2_pred"
type: "block_2_predictor"
- name: "block_2_sb"
type: "block_2_scoreboard"

analysis_ports :
- name: "spi_master_ap"
trans_type: "spi_m_transaction"
connected_to: "spi_master.monitored_ap"
- name: "wb_slave_ap"
trans_type: "wb_s_transaction"
connected_to: "wb_slave.monitored_ap"

tlm_connections:
- driver: "spi_master.monitored_ap"
receiver: "block_2_pred.spi_ae"
- driver: "wb_slave.monitored_ap"
receiver: "block_2_sb.wb_ae"
- driver: "block_2_pred.pre_to_sco_ap"
receiver: "block_2_sb.sco_from_pre_ae"

config_vars :
- name: "has_scoreboard"
type : "bit"
isrand : "False"
18 changes: 18 additions & 0 deletions UVM_Framework/UVMF_2022.3/challenge_3/block_2/block2_util.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
uvmf:
util_components:
block_2_predictor:
analysis_exports:
- name: spi_ae
type: 'spi_m_transaction'
analysis_ports:
- name: pre_to_sco_ap
type: 'wb_s_transaction'
existing_library_component: 'True'
type: predictor
block_2_scoreboard:
analysis_exports:
- name: wb_ae
type: 'wb_s_transaction'
- name: sco_from_pre_ae
type: 'wb_s_transaction'
type: scoreboard
3 changes: 3 additions & 0 deletions UVM_Framework/UVMF_2022.3/challenge_3/block_2/block_2.csh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# This is the command to generate you block_2_level bench

python ../../../UVMF_2022.3/scripts/yaml2uvmf.py ../intf/spi_m_intf.yaml ../intf/wb_s_intf.yaml ../block_2/block2_env.yaml ../block_2/block2_util.yaml ../block_2/block2_bench.yaml
13 changes: 13 additions & 0 deletions UVM_Framework/UVMF_2022.3/challenge_3/block_3/block3_bench.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
uvmf:
benches:
"block_3" :
## Specify the top-level block
top_env: "block_3"
clock_half_period: "5ns"
reset_assertion_level: "True"
reset_duration: "200ns"
active_passive:
- bfm_name: "wb_master"
value: "ACTIVE"
- bfm_name: "axi_slave"
value: "ACTIVE"
38 changes: 38 additions & 0 deletions UVM_Framework/UVMF_2022.3/challenge_3/block_3/block3_env.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
uvmf:
environments:
"block_3" :
agents :
- name: "wb_master"
type: "wb_m"
initiator_responder: "INITIATOR"
- name: "axi_slave"
type: "axi_s"
initiator_responder: "RESPONDER"
analysis_components :
- name: "block_3_pred"
type: "block_3_predictor"
- name: "block_3_sb"
type: "block_3_scoreboard"

analysis_ports:
- name: wb_master_ap
trans_type: wb_m_transaction
connected_to: wb_master.monitored_ap
- name: axi_slave_ap
trans_type: axi_s_transaction
connected_to: axi_slave.monitored_ap

tlm_connections:
- driver: wb_master.monitored_ap
receiver: block_3_pred.wb_ae
- driver: axi_slave.monitored_ap
receiver: block_3_sb.axi_ae
- driver: block_3_pred.pre_to_sco_ap
receiver: block_3_sb.sco_from_pre_ae

config_vars:
- name: "has_scoreboard"
type: bit
isrand: "False"


17 changes: 17 additions & 0 deletions UVM_Framework/UVMF_2022.3/challenge_3/block_3/block3_util.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
uvmf:
util_components:
block_3_predictor:
analysis_exports:
- name: wb_ae
type: 'wb_m_transaction'
analysis_ports:
- name: pre_to_sco_ap
type: 'axi_s_transaction'
type: predictor
block_3_scoreboard:
analysis_exports:
- name: axi_ae
type: 'axi_s_transaction'
- name: sco_from_pre_ae
type: 'axi_s_transaction'
type: scoreboard
3 changes: 3 additions & 0 deletions UVM_Framework/UVMF_2022.3/challenge_3/block_3/block_3.csh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# This is the command to generate you block_3_level bench

python ../../../UVMF_2022.3/scripts/yaml2uvmf.py ../intf/wb_m_intf.yaml ../intf/axi_s_intf.yaml ../block_3/block3_env.yaml ../block_3/block3_util.yaml ../block_3/block3_bench.yaml
99 changes: 99 additions & 0 deletions UVM_Framework/UVMF_2022.3/challenge_3/intf/apb_m_intf.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
uvmf:
interfaces:
"apb_m":
clock: "pclk"
reset: "presetn"
veloce_ready: "True"
reset_assertion_level: 'False'
parameters:
- name: "APB_ADDR_WIDTH"
type: "int"
value: '32'
- name: "APB_DATA_WIDTH"
type: "int"
value: '32'
- name: "STRB_LEN"
type: "int"
value: "APB_ADDR_WIDTH/8"
ports:
- dir: "output"
name: "psel"
reset_value: '''b0'
width: '16'
- dir: "output"
name: "penable"
reset_value: '''b0'
width: '1'
- dir: "output"
name: "paddr"
reset_value: '''b0'
width: "APB_ADDR_WIDTH"
- dir: "output"
name: "pwdata"
reset_value: '''b0'
width: "APB_DATA_WIDTH"
- dir: "output"
name: "pwrite"
reset_value: '''b0'
width: '1'
- dir: "output"
name: "pstrb"
reset_value: '''b0'
width: 'STRB_LEN'
- dir: "output"
name: "pprot"
reset_value: '''b0'
width: '3'
- dir: "input"
name: "prdata"
reset_value: '''b0'
width: "APB_DATA_WIDTH"
- dir: "input"
name: "pready"
reset_value: '0'
width: '1'
- dir: "input"
name: "pslverr"
reset_value: '0'
width: '1'
transaction_vars:
- iscompare: 'False'
isrand: 'True'
name: "psel"
type: "bit"
- iscompare: 'True'
isrand: 'True'
name: "penable"
type: "bit"
- iscompare: 'True'
isrand: 'True'
name: "paddr"
type: "bit [APB_ADDR_WIDTH-1:0]"
- iscompare: 'True'
isrand: 'True'
name: "pwdata"
type: "bit [APB_DATA_WIDTH-1:0]"
- iscompare: 'True'
isrand: 'True'
name: "pwrite"
type: "bit"
- iscompare: 'True'
isrand: 'True'
name: "pstrb"
type: "bit [STRB_LEN:0]"
- iscompare: 'True'
isrand: 'True'
name: "pprot"
type: "bit [3:0]"
- iscompare: 'True'
isrand: 'False'
name: "prdata"
type: "bit [APB_DATA_WIDTH-1:0]"
- iscompare: 'True'
isrand: 'False'
name: "pready"
type: "bit"
- iscompare: 'True'
isrand: 'False'
name: "pslverr"
type: "bit"
Loading