FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6258 Discussions

VIP suite verification IP

Honored Contributor II

From 11.1 a systemverilog verification suite has been shipped with Quartus located at $QUARTUS_ROOTDIR/../ip/altera/vip/verification. As described in the VIP user guide Appendix A, it may be used to test user's video IP cores - but it requires a simulator which supports constrained random verification. 


It is, however, possible to run the example which reads video files, runs them through the user IP and writes the resultant video file, using only Modelsim AE by editing out the randomizing functionality : 


After following the instructions in the appendix, locate the class_library directory and make the following edits : 


av_st_video_classes.sv comment out line 174, which reads “pixel_template.randomize();” 


av_st_file_io_classes.sv comment out line 401, which reads “user_data.randomize ();” 

av_st_file_io_classes.sv comment out line 585, which reads “nw = randomize(early_eop_packet_length);” 

av_st_file_io_classes.sv comment out line 602, which reads “nw = randomize(late_eop_packet_length);” 

av_st_file_io_classes.sv comment out line 607, which reads “discard_pixel.randomize();” 


av_st_file_video_sink_bfm_class.sv comment out line 69, which reads “nw = randomize(long_delay_duration);” 


av_st_file_video_source_bfm_class.sv comment out line 122, which reads “nw = randomize(long_delay_duration);“ 

av_st_file_video_source_bfm_class.sv comment out line 251, which reads “nw = randomize(garbage_data);“ 


Lastly, in the example_video_files directory, make this edit : 


tb_test.sv edit line 155 to read “video_file_reader.set_user_packet_probability(0);” 


These edits allow the example_video_files test to run with Modelsim AE, but will not generate any random user packets. The example_contrained_random test will of course not work with only AE.
0 Kudos
1 Reply
Honored Contributor II


--- Quote Start ---  


--- Quote End ---  


Ha, that’s actually a really good suggestion. Thanks so much for this!
0 Kudos