mirror of
https://github.com/corundum/corundum.git
synced 2025-01-16 08:12:53 +08:00
Add busy output to statistics collection module
This commit is contained in:
parent
f22381baa2
commit
67bb09ba42
@ -59,7 +59,12 @@ module axis_stat_counter #
|
||||
* Configuration
|
||||
*/
|
||||
input wire [15:0] tag,
|
||||
input wire trigger
|
||||
input wire trigger,
|
||||
|
||||
/*
|
||||
* Status
|
||||
*/
|
||||
output wire busy
|
||||
);
|
||||
|
||||
// state register
|
||||
@ -81,6 +86,8 @@ reg [31:0] tick_count_output_reg = 0;
|
||||
reg [31:0] byte_count_output_reg = 0;
|
||||
reg [31:0] frame_count_output_reg = 0;
|
||||
|
||||
reg busy_reg = 0;
|
||||
|
||||
// internal datapath
|
||||
reg [7:0] output_axis_tdata_int;
|
||||
reg output_axis_tvalid_int;
|
||||
@ -89,6 +96,8 @@ reg output_axis_tlast_int;
|
||||
reg output_axis_tuser_int;
|
||||
wire output_axis_tready_int_early = output_axis_tready;
|
||||
|
||||
assign busy = busy_reg;
|
||||
|
||||
function [3:0] keep2count;
|
||||
input [7:0] k;
|
||||
case (k)
|
||||
@ -220,6 +229,7 @@ always @(posedge clk or posedge rst) begin
|
||||
frame_count_reg <= 0;
|
||||
frame_reg <= 0;
|
||||
frame_ptr_reg <= 0;
|
||||
busy_reg <= 0;
|
||||
tick_count_output_reg <= 0;
|
||||
byte_count_output_reg <= 0;
|
||||
frame_count_output_reg <= 0;
|
||||
@ -231,6 +241,8 @@ always @(posedge clk or posedge rst) begin
|
||||
frame_reg <= frame_next;
|
||||
frame_ptr_reg <= frame_ptr_next;
|
||||
|
||||
busy_reg <= state_next != STATE_IDLE;
|
||||
|
||||
if (store_output) begin
|
||||
tick_count_output_reg <= tick_count_reg;
|
||||
byte_count_output_reg <= byte_count_reg;
|
||||
|
@ -59,7 +59,8 @@ def dut_axis_stat_counter(clk,
|
||||
output_axis_tuser,
|
||||
|
||||
tag,
|
||||
trigger):
|
||||
trigger,
|
||||
busy):
|
||||
|
||||
if os.system(build_cmd):
|
||||
raise Exception("Error running build command")
|
||||
@ -82,7 +83,8 @@ def dut_axis_stat_counter(clk,
|
||||
output_axis_tuser=output_axis_tuser,
|
||||
|
||||
tag=tag,
|
||||
trigger=trigger)
|
||||
trigger=trigger,
|
||||
busy=busy)
|
||||
|
||||
def bench():
|
||||
|
||||
@ -107,6 +109,7 @@ def bench():
|
||||
output_axis_tvalid = Signal(bool(0))
|
||||
output_axis_tlast = Signal(bool(0))
|
||||
output_axis_tuser = Signal(bool(0))
|
||||
busy = Signal(bool(0))
|
||||
|
||||
# sources and sinks
|
||||
source_queue = Queue()
|
||||
@ -170,7 +173,8 @@ def bench():
|
||||
output_axis_tuser,
|
||||
|
||||
tag,
|
||||
trigger)
|
||||
trigger,
|
||||
busy)
|
||||
|
||||
@always(delay(4))
|
||||
def clkgen():
|
||||
|
@ -48,6 +48,7 @@ wire [7:0] output_axis_tdata;
|
||||
wire output_axis_tvalid;
|
||||
wire output_axis_tlast;
|
||||
wire output_axis_tuser;
|
||||
wire busy;
|
||||
|
||||
initial begin
|
||||
// myhdl integration
|
||||
@ -66,7 +67,8 @@ initial begin
|
||||
$to_myhdl(output_axis_tdata,
|
||||
output_axis_tvalid,
|
||||
output_axis_tlast,
|
||||
output_axis_tuser);
|
||||
output_axis_tuser,
|
||||
busy);
|
||||
|
||||
// dump file
|
||||
$dumpfile("test_axis_stat_counter.lxt");
|
||||
@ -92,7 +94,9 @@ UUT (
|
||||
.output_axis_tuser(output_axis_tuser),
|
||||
// configuration
|
||||
.tag(tag),
|
||||
.trigger(trigger)
|
||||
.trigger(trigger),
|
||||
// status
|
||||
.busy(busy)
|
||||
);
|
||||
|
||||
endmodule
|
||||
|
Loading…
x
Reference in New Issue
Block a user