| |
| `timescale 1ns/1ps |
|
|
| module tb_person; |
| parameter FEAT_DIM = 768; |
| parameter BIT_WIDTH = 8; |
| parameter ACC_WIDTH = 24; |
|
|
| reg signed [BIT_WIDTH-1:0] features [0:FEAT_DIM-1]; |
| wire signed [ACC_WIDTH-1:0] person_score; |
| wire signed [ACC_WIDTH-1:0] box_ltrb [0:3]; |
| wire signed [ACC_WIDTH-1:0] centerness; |
| wire detection; |
|
|
| person_detector #( |
| .FEAT_DIM(FEAT_DIM), |
| .BIT_WIDTH(BIT_WIDTH), |
| .ACC_WIDTH(ACC_WIDTH) |
| ) dut ( |
| .features(features), |
| .person_score(person_score), |
| .box_ltrb(box_ltrb), |
| .centerness(centerness), |
| .detection(detection) |
| ); |
|
|
| initial begin |
| $readmemh("rom/test_features.hex", features); |
| #10; |
| $display("=== Person Detector Circuit Output ==="); |
| $display("Person score: %0d", person_score); |
| $display("Detection: %0b", detection); |
| $display("Box L: %0d", box_ltrb[0]); |
| $display("Box T: %0d", box_ltrb[1]); |
| $display("Box R: %0d", box_ltrb[2]); |
| $display("Box B: %0d", box_ltrb[3]); |
| $display("Centerness: %0d", centerness); |
| $finish; |
| end |
| endmodule |
|
|