OpenCores
URL https://opencores.org/ocsvn/qaz_libs/qaz_libs/trunk

Subversion Repositories qaz_libs

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /qaz_libs/trunk/BFM/src/8b10b
    from Rev 46 to Rev 47
    Reverse comparison

Rev 46 → Rev 47

/video_frame/vf_8b10b_config.svh
45,11 → 45,13
( int pixels_per_line
, int lines_per_frame
, int bits_per_pixel
, int channel_id = 0
, string name = ""
);
this.pixels_per_line = pixels_per_line;
this.lines_per_frame = lines_per_frame;
this.bits_per_pixel = bits_per_pixel;
this.channel_id = channel_id;
this.name = name;
this.bytes_per_pixel = (bits_per_pixel % 8 == 0)
? (bits_per_pixel / 8)
/video_frame/vf_8b10b_scoreboard.svh
28,9 → 28,19
class vf_8b10b_scoreboard extends uvm_subscriber #(vf_8b10b_sequence_item);
`uvm_component_utils(vf_8b10b_scoreboard);
 
mailbox #(vf_8b10b_sequence_item) frame_buffer;
video_frame_class channel_buffer[];
int channel_count;
 
// --------------------------------------------------------------------
function void init(int channel_count);
this.channel_count = channel_count;
endfunction : init
 
// --------------------------------------------------------------------
function new (string name, uvm_component parent);
super.new(name, parent);
frame_buffer = new();
endfunction : new
 
// --------------------------------------------------------------------
46,12 → 56,31
endfunction : print_video_frame
 
// --------------------------------------------------------------------
 
function void write(vf_8b10b_sequence_item t);
print_video_frame(t.f_h);
// print_video_frame(t.f_h);
if(frame_buffer.try_put(t) == 0)
`uvm_fatal(get_name(), "Couldn't put to frame_buffer!")
endfunction : write
 
// --------------------------------------------------------------------
function void gather_channels(vf_8b10b_sequence_item t);
if(channel_buffer.size() == 0)
channel_buffer = new[channel_count];
$display("%p", channel_buffer);
// if(channel_buffer.find(x) with (x == ""))
// $display("found null");
endfunction : gather_channels
 
// --------------------------------------------------------------------
function void report_phase(uvm_phase phase);
vf_8b10b_sequence_item t;
while(frame_buffer.try_get(t))
print_video_frame(t.f_h);
gather_channels(t);
 
// uvm_report_info(get_name(), $sformatf("Matches : %0d", m_matches));
// uvm_report_info(get_name(), $sformatf("Mismatches: %0d", m_mismatches));
endfunction

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.