x393  1.0
FPGAcodeforElphelNC393camera
simul_axi_master_wdata.v
Go to the documentation of this file.
1 
39 `timescale 1ns/1ps
40 
42  parameter integer ID_WIDTH=12,
43  parameter integer DATA_WIDTH=32,
44  parameter integer WSTB_WIDTH= 4,
45  parameter integer LATENCY=0, // minimal delay between inout and output ( 0 - next cycle)
46  parameter integer DEPTH=8, // maximal number of commands in FIFO
47  parameter DATA_DELAY = 3.5,
48  parameter VALID_DELAY = 4.0
49 )(
50  input clk,
51  input reset,
52  input [ID_WIDTH-1:0] wid_in,
53  input [DATA_WIDTH-1:0] wdata_in,
54  input [WSTB_WIDTH-1:0] wstrb_in,
55  input wlast_in,
56  output [ID_WIDTH-1:0] wid,
57  output [DATA_WIDTH-1:0] wdata,
58  output [WSTB_WIDTH-1:0] wstrb,
59  output wlast,
60  output wvalid,
61  input wready,
62 
63  input set_cmd, // latch all other input data at posedge of clock
64  output ready // command/data FIFO can accept command
65 );
66 
67  wire [ID_WIDTH-1:0] wid_out;
68  wire [DATA_WIDTH-1:0] wdata_out;
69  wire [WSTB_WIDTH-1:0] wstrb_out;
70  wire wlast_out;
71  wire wvalid_out;
72 
73  assign #(DATA_DELAY) wid= wid_out;
74  assign #(DATA_DELAY) wdata= wdata_out;
75  assign #(DATA_DELAY) wstrb= wstrb_out;
76  assign #(DATA_DELAY) wlast= wlast_out;
77  assign #(VALID_DELAY) wvalid= wvalid_out;
78 
80  #(
81  .WIDTH(ID_WIDTH+DATA_WIDTH+WSTB_WIDTH+1), // total number of output bits
82  .LATENCY(LATENCY), // minimal delay between inout and output ( 0 - next cycle)
83  .DEPTH(DEPTH) // maximal number of commands in FIFO
84  ) simul_axi_fifo_i (
85  .clk (clk), // input clk,
86  .reset (reset), // input reset,
87  .data_in ({wid_in, wdata_in, wstrb_in, wlast_in}), // input [WIDTH-1:0] data_in,
88  .load (set_cmd), // input load,
89  .input_ready (ready), // output input_ready,
90  .data_out ({wid_out, wdata_out, wstrb_out, wlast_out}), // output [WIDTH-1:0] data_out,
91  .valid (wvalid_out), // output valid,
92  .ready (wready)); // input ready);
93 endmodule
94 
9107wdata_outwire[DATA_WIDTH-1:0]
9108wstrb_outwire[WSTB_WIDTH-1:0]
[WIDTH-1:0] 8852data_in
simul_axi_fifo_i simul_axi_fifo
[WSTB_WIDTH-1:0] 9096wstrb_in
[DATA_WIDTH-1:0] 9095wdata_in
[WIDTH-1:0] 8855data_out
9106wid_outwire[ID_WIDTH-1:0]