Window TB working so far
This commit is contained in:
parent
8fd6a5add9
commit
e4db91872c
4 changed files with 1157 additions and 0 deletions
232
src/window_matcher.v
Normal file
232
src/window_matcher.v
Normal file
|
|
@ -0,0 +1,232 @@
|
|||
`timescale 1ns / 1ps
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// Company:
|
||||
// Engineer:
|
||||
//
|
||||
// Create Date: 06/14/2021 05:44:00 PM
|
||||
// Design Name:
|
||||
// Module Name: window_matcher
|
||||
// Project Name:
|
||||
// Target Devices:
|
||||
// Tool Versions:
|
||||
// Description:
|
||||
//
|
||||
// Dependencies:
|
||||
//
|
||||
// Revision:
|
||||
// Revision 0.01 - File Created
|
||||
// Additional Comments:
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
module window_matcher(
|
||||
input clk,
|
||||
input rst,
|
||||
|
||||
input in_blank,
|
||||
input in_hsync,
|
||||
input in_vsync,
|
||||
input [7:0] in_red,
|
||||
input [7:0] in_green,
|
||||
input [7:0] in_blue,
|
||||
|
||||
output reg win_hsync,
|
||||
output reg win_vsync,
|
||||
output win_blank,
|
||||
|
||||
output reg out_data_en,
|
||||
output reg out_data_valid,
|
||||
output reg [23:0] out_data,
|
||||
|
||||
output reg pattern_locked,
|
||||
output reg [11:0] pattern_w,
|
||||
output reg [11:0] pattern_h
|
||||
);
|
||||
|
||||
reg [11:0] cur_x;
|
||||
reg [11:0] cur_y;
|
||||
reg [11:0] cur_x_sr [2:0];
|
||||
reg [11:0] marker_x;
|
||||
reg [11:0] marker_y;
|
||||
/* rx_x trails by 4 px in the first window row, since we cannot start counting before the marker was fully detected */
|
||||
reg [11:0] rx_x;
|
||||
reg [11:0] rx_y;
|
||||
wire [23:0] in_pxd = {in_red, in_green, in_blue};
|
||||
reg [11:0] in_pxd_match_sr;
|
||||
wire [3:0] in_pxd_match;
|
||||
reg last_hsync;
|
||||
reg last_vsync;
|
||||
wire in_pxd_pattern_match;
|
||||
reg pattern_found;
|
||||
reg pattern_rx;
|
||||
wire pattern_meta_rx;
|
||||
wire pattern_data_rx;
|
||||
wire [11:0] end_x;
|
||||
wire [11:0] end_y;
|
||||
|
||||
reg [23:0] pattern_meta [3:0];
|
||||
|
||||
localparam [23:0] PATTERN_0 = 24'h012345;
|
||||
localparam [23:0] PATTERN_1 = 24'h6789ab;
|
||||
localparam [23:0] PATTERN_2 = 24'hcdef42;
|
||||
localparam [23:0] PATTERN_3 = 24'h543210;
|
||||
|
||||
|
||||
assign in_pxd_match = {
|
||||
in_pxd == PATTERN_3,
|
||||
in_pxd == PATTERN_2,
|
||||
in_pxd == PATTERN_1,
|
||||
in_pxd == PATTERN_0
|
||||
};
|
||||
|
||||
assign in_pxd_pattern_match =
|
||||
in_pxd_match_sr[2+0*4] == 1'b1
|
||||
&& in_pxd_match_sr[1+1*4] == 1'b1
|
||||
&& in_pxd_match_sr[0+2*4] == 1'b1
|
||||
&& in_pxd_match[3] == 1'b1
|
||||
&& in_blank == 1'b0;
|
||||
|
||||
assign pattern_meta_rx = pattern_rx && rx_x < 4 && rx_y == 0;
|
||||
assign pattern_data_rx = pattern_rx && !pattern_meta_rx;
|
||||
|
||||
assign end_x = marker_x + pattern_meta[2];
|
||||
assign end_y = marker_y + pattern_meta[3];
|
||||
|
||||
assign win_blank = !win_hsync;
|
||||
|
||||
always @(posedge clk) begin
|
||||
if (rst) begin
|
||||
out_data <= 0;
|
||||
out_data_valid <= 0;
|
||||
out_data_en <= 0;
|
||||
win_hsync <= 0;
|
||||
win_vsync <= 0;
|
||||
cur_x = 0;
|
||||
cur_y = 0;
|
||||
cur_x_sr[0] <= 0;
|
||||
cur_x_sr[1] <= 0;
|
||||
cur_x_sr[2] <= 0;
|
||||
marker_x <= 0;
|
||||
marker_y <= 0;
|
||||
pattern_w <= 0;
|
||||
pattern_h <= 0;
|
||||
rx_x <= 0;
|
||||
rx_y <= 0;
|
||||
last_hsync <= 0;
|
||||
last_vsync <= 0;
|
||||
in_pxd_match_sr <= 0;
|
||||
pattern_found <= 0;
|
||||
pattern_locked <= 0;
|
||||
pattern_rx <= 0;
|
||||
pattern_meta[0] <= 0;
|
||||
pattern_meta[1] <= 0;
|
||||
pattern_meta[2] <= 0;
|
||||
pattern_meta[3] <= 0;
|
||||
end else begin
|
||||
/* TODO add occlusion handling */
|
||||
|
||||
last_hsync <= in_hsync;
|
||||
last_vsync <= in_vsync;
|
||||
|
||||
if (last_hsync == 1'b1 && in_hsync == 1'b0) begin
|
||||
cur_x <= 0;
|
||||
cur_x_sr[0] <= 0;
|
||||
cur_x_sr[1] <= 0;
|
||||
cur_x_sr[2] <= 0;
|
||||
cur_y <= cur_y + 1;
|
||||
in_pxd_match_sr <= 0;
|
||||
|
||||
rx_x <= 0;
|
||||
|
||||
if (pattern_rx == 1'b1) begin
|
||||
rx_y <= rx_y+1;
|
||||
end
|
||||
end
|
||||
|
||||
if (last_vsync == 1'b1 && in_vsync == 1'b0) begin
|
||||
cur_y <= 0;
|
||||
rx_y <= 0;
|
||||
out_data_en <= 0;
|
||||
rx_x <= 0;
|
||||
rx_y <= 0;
|
||||
pattern_rx <= 0;
|
||||
|
||||
if (!pattern_found) begin
|
||||
pattern_locked <= 0;
|
||||
pattern_w = 0;
|
||||
pattern_h = 0;
|
||||
|
||||
marker_x <= 0;
|
||||
marker_y <= 0;
|
||||
pattern_meta[0] <= 0;
|
||||
pattern_meta[1] <= 0;
|
||||
pattern_meta[2] <= 0;
|
||||
pattern_meta[3] <= 0;
|
||||
|
||||
end else begin
|
||||
pattern_locked <= 1;
|
||||
pattern_w = pattern_meta[2];
|
||||
pattern_h = pattern_meta[3];
|
||||
end
|
||||
|
||||
pattern_found <= 0;
|
||||
end
|
||||
|
||||
out_data_valid <= 0;
|
||||
|
||||
if (in_blank == 1'b0) begin
|
||||
cur_x <= cur_x + 1;
|
||||
cur_x_sr[0] <= cur_x;
|
||||
cur_x_sr[1] <= cur_x_sr[0];
|
||||
cur_x_sr[2] <= cur_x_sr[1];
|
||||
|
||||
in_pxd_match_sr <= { in_pxd_match_sr[7:0], in_pxd_match };
|
||||
|
||||
if (in_pxd_pattern_match && !pattern_found) begin
|
||||
pattern_rx <= 1'b1;
|
||||
pattern_found <= 1'b1;
|
||||
marker_x <= cur_x;
|
||||
marker_y <= cur_y;
|
||||
end
|
||||
|
||||
if (pattern_rx) begin
|
||||
rx_x <= rx_x+1;
|
||||
|
||||
if (pattern_meta_rx) begin
|
||||
case (rx_x)
|
||||
0: pattern_meta[0] = in_pxd;
|
||||
1: pattern_meta[1] = in_pxd;
|
||||
2: pattern_meta[2] = in_pxd;
|
||||
3: pattern_meta[3] = in_pxd;
|
||||
endcase
|
||||
end
|
||||
|
||||
if (pattern_data_rx) begin
|
||||
out_data <= in_pxd;
|
||||
out_data_valid <= 1'b1;
|
||||
out_data_en <= 1'b1;
|
||||
end
|
||||
end
|
||||
|
||||
if (pattern_locked) begin
|
||||
if (cur_x == marker_x) begin
|
||||
win_hsync <= 1;
|
||||
end
|
||||
|
||||
if (cur_x == end_x) begin
|
||||
win_hsync <= 0;
|
||||
end
|
||||
|
||||
if (cur_y == marker_y) begin
|
||||
win_vsync <= 1;
|
||||
end
|
||||
|
||||
if (cur_y == end_y) begin
|
||||
win_vsync <= 0;
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
endmodule
|
||||
98
test_bench/window_matcher_tb.v
Normal file
98
test_bench/window_matcher_tb.v
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
`timescale 1ns / 1ps
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// Company:
|
||||
// Engineer:
|
||||
//
|
||||
// Create Date: 06/15/2021 10:49:32 AM
|
||||
// Design Name:
|
||||
// Module Name: window_matcher_tb
|
||||
// Project Name:
|
||||
// Target Devices:
|
||||
// Tool Versions:
|
||||
// Description:
|
||||
//
|
||||
// Dependencies:
|
||||
//
|
||||
// Revision:
|
||||
// Revision 0.01 - File Created
|
||||
// Additional Comments:
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
module window_matcher_tb();
|
||||
|
||||
reg clk;
|
||||
reg rst;
|
||||
|
||||
wire in_blank;
|
||||
reg in_hsync;
|
||||
reg in_vsync;
|
||||
reg [7:0] in_red;
|
||||
reg [7:0] in_green;
|
||||
reg [7:0] in_blue;
|
||||
|
||||
wire win_hsync;
|
||||
wire win_vsync;
|
||||
wire win_blank;
|
||||
|
||||
wire out_data_en;
|
||||
wire out_data_valid;
|
||||
wire [23:0] out_data;
|
||||
|
||||
wire pattern_locked;
|
||||
wire [11:0] pattern_w;
|
||||
wire [11:0] pattern_h;
|
||||
|
||||
localparam period = 4;
|
||||
|
||||
assign in_blank = !(in_vsync && in_hsync);
|
||||
|
||||
initial begin
|
||||
clk = 0;
|
||||
rst = 1;
|
||||
in_hsync = 0;
|
||||
in_vsync = 0;
|
||||
in_red = 0;
|
||||
in_green = 0;
|
||||
in_blue = 0;
|
||||
|
||||
repeat(2) #period clk = ~clk;
|
||||
rst = 0;
|
||||
forever #period clk = ~clk;
|
||||
end
|
||||
|
||||
`include "test_data/00WM_TEST_POS_LOADERS.v"
|
||||
|
||||
integer read_pos;
|
||||
reg [31:0] expected_data;
|
||||
initial begin
|
||||
`include "test_data/00WM_TEST_POS_RUNNERS.v"
|
||||
$finish;
|
||||
end
|
||||
|
||||
window_matcher window_matcher_i (
|
||||
.clk(clk),
|
||||
.rst(rst),
|
||||
|
||||
.in_blank(in_blank),
|
||||
.in_hsync(in_hsync),
|
||||
.in_vsync(in_vsync),
|
||||
.in_red(in_red),
|
||||
.in_green(in_green),
|
||||
.in_blue(in_blue),
|
||||
|
||||
.win_hsync(win_hsync),
|
||||
.win_vsync(win_vsync),
|
||||
.win_blank(win_blank),
|
||||
|
||||
.out_data_en(out_data_en),
|
||||
.out_data_valid(out_data_valid),
|
||||
.out_data(out_data),
|
||||
|
||||
.pattern_locked(pattern_locked),
|
||||
.pattern_w(pattern_w),
|
||||
.pattern_h(pattern_h)
|
||||
);
|
||||
|
||||
endmodule
|
||||
558
test_bench/window_matcher_tb_gen.ipynb
Normal file
558
test_bench/window_matcher_tb_gen.ipynb
Normal file
File diff suppressed because one or more lines are too long
269
window_matcher_tb_behav.wcfg
Normal file
269
window_matcher_tb_behav.wcfg
Normal file
|
|
@ -0,0 +1,269 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<wave_config>
|
||||
<wave_state>
|
||||
</wave_state>
|
||||
<db_ref_list>
|
||||
<db_ref path="window_matcher_tb_behav.wdb" id="1">
|
||||
<top_modules>
|
||||
<top_module name="glbl" />
|
||||
<top_module name="window_matcher_tb" />
|
||||
</top_modules>
|
||||
</db_ref>
|
||||
</db_ref_list>
|
||||
<zoom_setting>
|
||||
<ZoomStartTime time="303526166fs"></ZoomStartTime>
|
||||
<ZoomEndTime time="303705967fs"></ZoomEndTime>
|
||||
<Cursor1Time time="303676000fs"></Cursor1Time>
|
||||
</zoom_setting>
|
||||
<column_width_setting>
|
||||
<NameColumnWidth column_width="175"></NameColumnWidth>
|
||||
<ValueColumnWidth column_width="174"></ValueColumnWidth>
|
||||
</column_width_setting>
|
||||
<WVObjectSize size="60" />
|
||||
<wvobject fp_name="/window_matcher_tb/clk" type="logic">
|
||||
<obj_property name="ElementShortName">clk</obj_property>
|
||||
<obj_property name="ObjectShortName">clk</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/rst" type="logic">
|
||||
<obj_property name="ElementShortName">rst</obj_property>
|
||||
<obj_property name="ObjectShortName">rst</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/in_blank" type="logic">
|
||||
<obj_property name="ElementShortName">in_blank</obj_property>
|
||||
<obj_property name="ObjectShortName">in_blank</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/in_hsync" type="logic">
|
||||
<obj_property name="ElementShortName">in_hsync</obj_property>
|
||||
<obj_property name="ObjectShortName">in_hsync</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/in_vsync" type="logic">
|
||||
<obj_property name="ElementShortName">in_vsync</obj_property>
|
||||
<obj_property name="ObjectShortName">in_vsync</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/in_red" type="array">
|
||||
<obj_property name="ElementShortName">in_red[7:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">in_red[7:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/in_green" type="array">
|
||||
<obj_property name="ElementShortName">in_green[7:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">in_green[7:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/in_blue" type="array">
|
||||
<obj_property name="ElementShortName">in_blue[7:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">in_blue[7:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/win_hsync" type="logic">
|
||||
<obj_property name="ElementShortName">win_hsync</obj_property>
|
||||
<obj_property name="ObjectShortName">win_hsync</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/win_vsync" type="logic">
|
||||
<obj_property name="ElementShortName">win_vsync</obj_property>
|
||||
<obj_property name="ObjectShortName">win_vsync</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/win_blank" type="logic">
|
||||
<obj_property name="ElementShortName">win_blank</obj_property>
|
||||
<obj_property name="ObjectShortName">win_blank</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/out_data_en" type="logic">
|
||||
<obj_property name="ElementShortName">out_data_en</obj_property>
|
||||
<obj_property name="ObjectShortName">out_data_en</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/out_data_valid" type="logic">
|
||||
<obj_property name="ElementShortName">out_data_valid</obj_property>
|
||||
<obj_property name="ObjectShortName">out_data_valid</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/out_data" type="array">
|
||||
<obj_property name="ElementShortName">out_data[23:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">out_data[23:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/pattern_w" type="array">
|
||||
<obj_property name="ElementShortName">pattern_w[11:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">pattern_w[11:0]</obj_property>
|
||||
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/pattern_h" type="array">
|
||||
<obj_property name="ElementShortName">pattern_h[11:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">pattern_h[11:0]</obj_property>
|
||||
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/read_pos" type="array">
|
||||
<obj_property name="ElementShortName">read_pos[31:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">read_pos[31:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/period" type="array">
|
||||
<obj_property name="ElementShortName">period[31:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">period[31:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/clk" type="logic">
|
||||
<obj_property name="ElementShortName">clk</obj_property>
|
||||
<obj_property name="ObjectShortName">clk</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/rst" type="logic">
|
||||
<obj_property name="ElementShortName">rst</obj_property>
|
||||
<obj_property name="ObjectShortName">rst</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/in_blank" type="logic">
|
||||
<obj_property name="ElementShortName">in_blank</obj_property>
|
||||
<obj_property name="ObjectShortName">in_blank</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/in_hsync" type="logic">
|
||||
<obj_property name="ElementShortName">in_hsync</obj_property>
|
||||
<obj_property name="ObjectShortName">in_hsync</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/in_vsync" type="logic">
|
||||
<obj_property name="ElementShortName">in_vsync</obj_property>
|
||||
<obj_property name="ObjectShortName">in_vsync</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/in_red" type="array">
|
||||
<obj_property name="ElementShortName">in_red[7:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">in_red[7:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/in_green" type="array">
|
||||
<obj_property name="ElementShortName">in_green[7:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">in_green[7:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/in_blue" type="array">
|
||||
<obj_property name="ElementShortName">in_blue[7:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">in_blue[7:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/win_hsync" type="logic">
|
||||
<obj_property name="ElementShortName">win_hsync</obj_property>
|
||||
<obj_property name="ObjectShortName">win_hsync</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/win_vsync" type="logic">
|
||||
<obj_property name="ElementShortName">win_vsync</obj_property>
|
||||
<obj_property name="ObjectShortName">win_vsync</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/win_blank" type="logic">
|
||||
<obj_property name="ElementShortName">win_blank</obj_property>
|
||||
<obj_property name="ObjectShortName">win_blank</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/out_data_en" type="logic">
|
||||
<obj_property name="ElementShortName">out_data_en</obj_property>
|
||||
<obj_property name="ObjectShortName">out_data_en</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/out_data_valid" type="logic">
|
||||
<obj_property name="ElementShortName">out_data_valid</obj_property>
|
||||
<obj_property name="ObjectShortName">out_data_valid</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/out_data" type="array">
|
||||
<obj_property name="ElementShortName">out_data[23:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">out_data[23:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/expected_data" type="array">
|
||||
<obj_property name="ElementShortName">expected_data[31:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">expected_data[31:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/pattern_w" type="array">
|
||||
<obj_property name="ElementShortName">pattern_w[11:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">pattern_w[11:0]</obj_property>
|
||||
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/pattern_h" type="array">
|
||||
<obj_property name="ElementShortName">pattern_h[11:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">pattern_h[11:0]</obj_property>
|
||||
<obj_property name="Radix">UNSIGNEDDECRADIX</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/cur_x" type="array">
|
||||
<obj_property name="ElementShortName">cur_x[11:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">cur_x[11:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/cur_y" type="array">
|
||||
<obj_property name="ElementShortName">cur_y[11:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">cur_y[11:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/cur_x_sr" type="array">
|
||||
<obj_property name="ElementShortName">cur_x_sr[2:0][11:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">cur_x_sr[2:0][11:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/marker_x" type="array">
|
||||
<obj_property name="ElementShortName">marker_x[11:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">marker_x[11:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/marker_y" type="array">
|
||||
<obj_property name="ElementShortName">marker_y[11:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">marker_y[11:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/rx_x" type="array">
|
||||
<obj_property name="ElementShortName">rx_x[11:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">rx_x[11:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/rx_y" type="array">
|
||||
<obj_property name="ElementShortName">rx_y[11:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">rx_y[11:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/in_pxd" type="array">
|
||||
<obj_property name="ElementShortName">in_pxd[23:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">in_pxd[23:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/in_pxd_match_sr" type="array">
|
||||
<obj_property name="ElementShortName">in_pxd_match_sr[11:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">in_pxd_match_sr[11:0]</obj_property>
|
||||
<obj_property name="isExpanded"></obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/in_pxd_match" type="array">
|
||||
<obj_property name="ElementShortName">in_pxd_match[3:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">in_pxd_match[3:0]</obj_property>
|
||||
<obj_property name="isExpanded"></obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/last_hsync" type="logic">
|
||||
<obj_property name="ElementShortName">last_hsync</obj_property>
|
||||
<obj_property name="ObjectShortName">last_hsync</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/last_vsync" type="logic">
|
||||
<obj_property name="ElementShortName">last_vsync</obj_property>
|
||||
<obj_property name="ObjectShortName">last_vsync</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/in_pxd_pattern_match" type="logic">
|
||||
<obj_property name="ElementShortName">in_pxd_pattern_match</obj_property>
|
||||
<obj_property name="ObjectShortName">in_pxd_pattern_match</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/pattern_found" type="logic">
|
||||
<obj_property name="ElementShortName">pattern_found</obj_property>
|
||||
<obj_property name="ObjectShortName">pattern_found</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/pattern_locked" type="logic">
|
||||
<obj_property name="ElementShortName">pattern_locked</obj_property>
|
||||
<obj_property name="ObjectShortName">pattern_locked</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/pattern_rx" type="logic">
|
||||
<obj_property name="ElementShortName">pattern_rx</obj_property>
|
||||
<obj_property name="ObjectShortName">pattern_rx</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/pattern_meta_rx" type="logic">
|
||||
<obj_property name="ElementShortName">pattern_meta_rx</obj_property>
|
||||
<obj_property name="ObjectShortName">pattern_meta_rx</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/pattern_data_rx" type="logic">
|
||||
<obj_property name="ElementShortName">pattern_data_rx</obj_property>
|
||||
<obj_property name="ObjectShortName">pattern_data_rx</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/end_x" type="array">
|
||||
<obj_property name="ElementShortName">end_x[11:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">end_x[11:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/end_y" type="array">
|
||||
<obj_property name="ElementShortName">end_y[11:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">end_y[11:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/pattern_meta" type="array">
|
||||
<obj_property name="ElementShortName">pattern_meta[3:0][23:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">pattern_meta[3:0][23:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/PATTERN_0" type="array">
|
||||
<obj_property name="ElementShortName">PATTERN_0[23:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">PATTERN_0[23:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/PATTERN_1" type="array">
|
||||
<obj_property name="ElementShortName">PATTERN_1[23:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">PATTERN_1[23:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/PATTERN_2" type="array">
|
||||
<obj_property name="ElementShortName">PATTERN_2[23:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">PATTERN_2[23:0]</obj_property>
|
||||
</wvobject>
|
||||
<wvobject fp_name="/window_matcher_tb/window_matcher_i/PATTERN_3" type="array">
|
||||
<obj_property name="ElementShortName">PATTERN_3[23:0]</obj_property>
|
||||
<obj_property name="ObjectShortName">PATTERN_3[23:0]</obj_property>
|
||||
</wvobject>
|
||||
</wave_config>
|
||||
Loading…
Add table
Add a link
Reference in a new issue