/* The FIFO module takes in info and outputs it in the same order(First In First Out) so that Vme has access to the patterns found. Vme can input and output to this module. All of the info is received from Finder. */ module FIFO(vme_data_bus[31:0],as,ds,read,vme_address[1:0],pixel[24:0], clk_33,inhibitor[1:0],fifo_enable); output [31:0] vme_data_bus; input as,ds,read; input [1:0] vme_address; input [24:0] pixel; input clk_33; input [1:0] inhibitor; input fifo_enable; reg [24:0] fifo_info; wire [4:0] local_strobe; reg [31:0] vme_data_bus; assign local_strobe = as && ds && read && fifo_enable; always @ (negedge clk_33) begin if (!inhibitor[1]) assign fifo_info = pixel[24:0]; end always @ (local_strobe) vme_data_bus[31:0] = inhibitor[1]?{{7{fifo_info[24]}}, {fifo_info[24:0]}}:32'bz; endmodule