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 |