230 likes | 392 Views
FE-I4 Digital Test Bench. Tomasz Hemperek. Introduction. SystemVerilog OVM Methodology Can to use rtl, syntchesis, post route/layout models. 2. FE-I4 Top View. ANALOG ARRAY (digital part). DIGITAL ARRAY. END OF COLUMN. END OF CHIP. COMMA N D DECODER. PLL. PLL. REGISTER MEMORY.
E N D
FE-I4 Digital Test Bench Tomasz Hemperek
Introduction • SystemVerilog • OVM Methodology • Can to use rtl, syntchesis, post route/layout models 2
FE-I4 Top View ANALOG ARRAY (digital part) DIGITAL ARRAY END OF COLUMN END OF CHIP COMMAND DECODER PLL PLL REGISTER MEMORY DATA OUTPUT - verilog model - Implementation (rtl/gate)
OVM OVC (Open Verification Component) Sequences Transaction Example Sequence of Transaction: - send reset - write register 10 - send trigger
Slow control transaction • Transaction is an abstract (human readable) information that will be translated (by driver) to correct signal sequence File: /digital/FEI4_A\/TB/cmd/sv/cmd_transfer.sv
Slow control sequence • Sequence define transaction sequence. It is possible to run one sequence inside another one. File: digital/FEI4_A/TB/cmd/sv/cmd_master_seq_lib.sv
Verification environment (test) • Verification environment connect all interfaces (OVC) blocks. For FE-I4 we heve 4 OVC: - PIX - CMD - REVEIVE - MANUAL
Virtual sequence Virtual Sequence defines top sequence of sequences. Sequences can be from different interfaces! Can be started in parallel or one after another.
Scoreboard SCOREBOARD: CHECK ! FE-I4 COMMANDS RECEIVED DATA PIXEL HITS
Test TEST TOP SEQUENCER SEQ A SEQ B SEQ D SEQ E SEQ C SCOREBOARD
Example test TEST : clear_sr SEQUENCER: clear_sr_top_seq configure_seq reset_seq clear_sr_seq read_sr_seq SCOREBOARD : clear_sr_scoreboard
Status • All blocks are instantiated and connected (need some polishing and sync with main integration) • Few test are written and are working but needs much more • Need to define manual interface
Slow control transaction • Transaction is an abstract (human readable) information that will be translated (by driver) to correct signal sequence File: /digital/FEI4_A\/TB/cmd/sv/cmd_transfer.sv
Slow control sequence • Sequence define transaction sequence. It is possible to run one sequence inside another one. File: digital/FEI4_A/TB/cmd/sv/cmd_master_seq_lib.sv
Virtual sequence Virtual Sequence defines top sequence of sequences. Sequences can be from different interfaces! Can be started in parallel or one after another. File: digital/FEI4_A/TB/top_tb/sv/top_seq_lib.sv
Receive transaction File: digital/FEI4_A/TB/receive/sv/receive_transfer.sv
Example scoreboard Scoreboard receives information from monitors (inputs, outputs). Gathered data can be checked for correctness. File: digital/FEI4_A/TB/top_tb/sv/cmd_scoreboard_lib.sv
Test Definition Test organize everything together. You have multiple tests to test different functions. File: digital/FEI4_A/TB/top_tb/tests/top_test_lib.sv
How to add test • Create sequences • Create a scoreboard • Create a test • Run simulation How to run simulation: - see vsim_top procedure in digital/FEI4_A/TB/vsim.tcl - change the parameter OVM_TESTNAME to your test class name “vsim +OVM_TESTNAME=test_example_top -novopttop_tb_top”