I am trying to covert the following Verilog code to VHDL. I am having issues with converting the arrays to VHDL. Could you please comment on how this should be done module FIFO16x8(DataOut, DataIn, FF, AF, HF, AE, EF, Push, Pop, Dump, Clk); parameter WIDTH = 8; parameter DEPTH = 16; parameter LOG2DEPTH = 4;
input [(WIDTH-1):0] DataIn; output [(WIDTH-1):0] DataOut; output FF, AF, HF, AE, EF; input Push, Pop, Dump, Clk;
wire WE, RE;
reg [(LOG2DEPTH-1):0] Contents, ReadPointer, WritePointer; reg [(WIDTH-1):0] queue[(DEPTH-1):0];
assign FF = (Contents == (DEPTH-1))? 1 : 0; assign AF = (Contents > (DEPTH-3))? 1 : 0; assign HF = (Contents > (DEPTH/2))? 1 : 0; assign AE = (Contents < 3)? 1 : 0; assign EF = (Contents == 0)? 1 : 0;
assign WE = Push && ~FF; assign RE = Pop && ~EF;
assign DataOut = queue[ReadPointer];
always @ (posedge Clk) begin if (Dump == 1) Contents