Skip to content

Commit ceede7c

Browse files
committed
Project Files
0 parents  commit ceede7c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+8859
-0
lines changed

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Auto detect text files and perform LF normalization
2+
* text=auto
3+

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2022 GP-2022-Bachelor
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# DDR5 PHY Verification
2+
This repo includes the uvm testbench for the Digital data path of DDR5 phy
3+
***************************************************************************
4+
Files Organization:
5+
- docs: Verification plan
6+
- rtl: The rtl is not included in this project as it is not part of this work
7+
- scripts: Shell script for test run automation
8+
- testbench: UVM tb environment (comps, sequences, tests, interfaces, transactions)
Binary file not shown.
85.9 KB
Binary file not shown.
90 KB
Binary file not shown.
88.4 KB
Binary file not shown.

run/.fsm.sch.verilog.xml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<Command name="schRTLInfo" delimiter="." >
2+
<RTLBlock >
3+
<RTLInfo name="state_0" type="2" fileName="../rtl/EdgeDetectorFSM.sv" >
4+
<Seg beginLine="29" endLine="41" />
5+
</RTLInfo>
6+
<Instance name="top_testbench.ddr_DUT.DM_inst.EdgeDetectorFSM_inst" />
7+
</RTLBlock>
8+
<RTLBlock >
9+
<RTLInfo name="current_state_1" type="2" fileName="../rtl/CA_Manager.sv" >
10+
<Seg beginLine="41" endLine="102" />
11+
</RTLInfo>
12+
<Instance name="top_testbench.ddr_DUT.top_inst.CA_inst" />
13+
</RTLBlock>
14+
<RTLBlock >
15+
<RTLInfo name="state_2" type="2" fileName="../rtl/GapCounter.sv" >
16+
<Seg beginLine="39" endLine="49" />
17+
</RTLInfo>
18+
<Instance name="top_testbench.ddr_DUT.DM_inst.GC_inst" />
19+
</RTLBlock>
20+
<RTLBlock >
21+
<RTLInfo name="state_3" type="2" fileName="../rtl/generic_FSM.sv" >
22+
<Seg beginLine="19" endLine="69" />
23+
</RTLInfo>
24+
<Instance name="top_testbench.ddr_DUT.DM_inst.PD_inst.generic_FSM_inst" />
25+
</RTLBlock>
26+
</Command>

run/Coverage Reports (HTML).rar

7.73 MB
Binary file not shown.

run/Makefile Example

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Makefile for UVM Lab6
2+
3+
LD_LIBRARY_PATH = ${NOVAS_HOME}/share/PLI/VCS/LINUX
4+
5+
test = ubus_example_base_test
6+
env_path = /u/arwaa/PCIe_Training/makefile/sv
7+
test_path = /u/arwaa/PCIe_Training/makefile/examples
8+
rtl_path = /u/arwaa/PCIe_Training/makefile/examples/
9+
10+
PROGRAM_TOP = ${test_path}/ubus_tb_top.sv
11+
TEST_TOP = ${PROGRAM_TOP}
12+
TOP = ${TEST_TOP}
13+
DUT = ${rtl_path}dut_dummy.v
14+
TESTLIST = ubus_example_base_test test_read_modify_write test_r8_w8_r4_w4 test_2m_4s
15+
16+
log = simv.log
17+
uvm_ver = uvm-1.1
18+
seed = 1
19+
20+
compile_switches = -sverilog -lca -debug_access+all -kdb +vcs+vcdpluson -timescale="1ns/100ps" -l ./scratch/comp.log -ntb_opts ${uvm_ver} +incdir+${env_path}+${test_path} ${TOP}
21+
runtime_switches = -l ${log} +UVM_TESTNAME=${test}
22+
23+
seq = uvm_reg_bit_bash_seq
24+
25+
##### Required to create a make file which contains the following targets
26+
########## Target to compile the environment
27+
compile: ${env_path}/*.sv ${TOP}
28+
ifeq ($(CES64),TRUE)
29+
vcs -full64 ${compile_switches}
30+
@echo "Compiled in 64-bit mode"
31+
else
32+
vcs ${compile_switches}
33+
@echo "Compiled in 32-bit mode"
34+
endif
35+
36+
########## Target to launch a single test
37+
run:
38+
simv +ntb_random_seed=${seed} ${runtime_switches} +seq=${seq}
39+
40+
random: simv
41+
simv +ntb_random_seed_automatic ${runtime_switches} +seq=${seq}
42+
43+
########## Target to launch all tests
44+
run_all:
45+
for test in ${TESTLIST} ; do \
46+
simv +ntb_random_seed=${seed} -cm_dir ./scratch/$$test -l ./scratch/$$test/$$test.log +UVM_TESTNAME=$$test +seq=${seq} ; \
47+
done
48+
random_all:
49+
for test in ${TESTLIST} ; do \
50+
simv +ntb_random_seed_automatic -cm_dir ./scratch/$$test -l ./scratch/$$test/$$test.log +UVM_TESTNAME=$$test +seq=${seq} ; \
51+
done
52+
53+
########## Target to compile and run the simulation
54+
all: simv run
55+
56+
########## Target to merge coverage database and generate coverage report
57+
cover:
58+
urg -dir ./scratch/*.vdb
59+
urg -dir ./scratch/*.vdb -format text
60+
61+
########## Target to clean your workspace before the build
62+
clean:
63+
rm -rf simv* csrc* *.tmp *.vpd *.key log *.h temp *.log .vcs* *.txt DVE* *.hvp urg* .inter.vpd.uvm .restart* .synopsys* novas.* *.dat *.fsdb verdi* work* vlog*
64+
65+
########## Target for the makefile help
66+
help:
67+
@echo ============================================================================
68+
@echo " "
69+
@echo " USAGE: make target <seed=xxx> <verbosity=YYY> <test=ZZZ> "
70+
@echo " "
71+
@echo " xxx is the random seed. Can be any integer except 0. Defaults to 1 "
72+
@echo " YYY sets the verbosity filter. Defaults to UVM_MEDIUM "
73+
@echo " ZZZ selects the uvm test. Defaults to test_base "
74+
@echo " "
75+
@echo " ------------------------- Test TARGETS -------------------------------- "
76+
@echo " all => Compile TB and DUT files and run the simulation "
77+
@echo " compile => Compile TB and DUT files "
78+
@echo " run => Run the simulation with seed "
79+
@echo " random => Run the simulation with random seed "
80+
@echo " run_all => Run the simulation with seed for all the tests "
81+
@echo " random_all => Run the simulation with random seed for all the test "
82+
@echo " cover => Merge coverage database and generate coverage report "
83+
@echo " "
84+
@echo " -------------------- ADMINISTRATIVE TARGETS --------------------------- "
85+
@echo " help => Displays this message "
86+
@echo " clean => Remove all intermediate simv and log files "
87+
@echo " "
88+
@echo " ---------------------- EMBEDDED SETTINGS ------------------------------ "
89+
@echo " -timescale=\"1ns/100ps\" "
90+
@echo " -debug_all "
91+
@echo ============================================================================

0 commit comments

Comments
 (0)