📄 data_read.v
字号:
`timescale 1ns/100ps
module data_read (
clk,
clk90,
reset90_r,
reset270_r,
ddr_dq_in,
read_valid_data_1,
fifo_00_wr_en,
fifo_10_wr_en,
fifo_20_wr_en,
fifo_30_wr_en,
fifo_40_wr_en,
fifo_50_wr_en,
fifo_60_wr_en,
fifo_70_wr_en,
fifo_80_wr_en,
fifo_90_wr_en,
fifo_100_wr_en,
fifo_110_wr_en,
fifo_120_wr_en,
fifo_130_wr_en,
fifo_140_wr_en,
fifo_150_wr_en,
fifo_01_wr_en,
fifo_11_wr_en,
fifo_21_wr_en,
fifo_31_wr_en,
fifo_41_wr_en,
fifo_51_wr_en,
fifo_61_wr_en,
fifo_71_wr_en,
fifo_81_wr_en,
fifo_91_wr_en,
fifo_101_wr_en,
fifo_111_wr_en,
fifo_121_wr_en,
fifo_131_wr_en,
fifo_141_wr_en,
fifo_151_wr_en,
fifo_00_wr_addr,
fifo_01_wr_addr,
fifo_10_wr_addr,
fifo_11_wr_addr,
fifo_20_wr_addr,
fifo_21_wr_addr,
fifo_30_wr_addr,
fifo_31_wr_addr,
fifo_40_wr_addr,
fifo_41_wr_addr,
fifo_50_wr_addr,
fifo_51_wr_addr,
fifo_60_wr_addr,
fifo_61_wr_addr,
fifo_70_wr_addr,
fifo_71_wr_addr,
fifo_80_wr_addr,
fifo_81_wr_addr,
fifo_90_wr_addr,
fifo_91_wr_addr,
fifo_100_wr_addr,
fifo_101_wr_addr,
fifo_110_wr_addr,
fifo_111_wr_addr,
fifo_120_wr_addr,
fifo_121_wr_addr,
fifo_130_wr_addr,
fifo_131_wr_addr,
fifo_140_wr_addr,
fifo_141_wr_addr,
fifo_150_wr_addr,
fifo_151_wr_addr,
dqs0_delayed_col1,
dqs1_delayed_col1,
dqs2_delayed_col1,
dqs3_delayed_col1,
dqs4_delayed_col1,
dqs5_delayed_col1,
dqs6_delayed_col1,
dqs7_delayed_col1,
dqs8_delayed_col1,
dqs9_delayed_col1,
dqs10_delayed_col1,
dqs11_delayed_col1,
dqs12_delayed_col1,
dqs13_delayed_col1,
dqs14_delayed_col1,
dqs15_delayed_col1,
dqs0_delayed_col0_n,
dqs1_delayed_col0_n,
dqs2_delayed_col0_n,
dqs3_delayed_col0_n,
dqs4_delayed_col0_n,
dqs5_delayed_col0_n,
dqs6_delayed_col0_n,
dqs7_delayed_col0_n,
dqs8_delayed_col0_n,
dqs9_delayed_col0_n,
dqs10_delayed_col0_n,
dqs11_delayed_col0_n,
dqs12_delayed_col0_n,
dqs13_delayed_col0_n,
dqs14_delayed_col0_n,
dqs15_delayed_col0_n,
user_output_data,
fifo_00_rd_addr,
fifo_01_rd_addr,
fifo_10_rd_addr,
fifo_11_rd_addr,
fifo_20_rd_addr,
fifo_21_rd_addr,
fifo_30_rd_addr,
fifo_31_rd_addr,
fifo_40_rd_addr,
fifo_41_rd_addr,
fifo_50_rd_addr,
fifo_51_rd_addr,
fifo_60_rd_addr,
fifo_61_rd_addr,
fifo_70_rd_addr,
fifo_71_rd_addr,
fifo_80_rd_addr,
fifo_81_rd_addr,
fifo_90_rd_addr,
fifo_91_rd_addr,
fifo_100_rd_addr,
fifo_101_rd_addr,
fifo_110_rd_addr,
fifo_111_rd_addr,
fifo_120_rd_addr,
fifo_121_rd_addr,
fifo_130_rd_addr,
fifo_131_rd_addr,
fifo_140_rd_addr,
fifo_141_rd_addr,
fifo_150_rd_addr,
fifo_151_rd_addr
);
input clk;
input clk90;
input reset90_r;
input reset270_r;
input [127:0]ddr_dq_in;
input read_valid_data_1;
input fifo_00_wr_en;
input fifo_10_wr_en;
input fifo_20_wr_en;
input fifo_30_wr_en;
input fifo_40_wr_en;
input fifo_50_wr_en;
input fifo_60_wr_en;
input fifo_70_wr_en;
input fifo_80_wr_en;
input fifo_90_wr_en;
input fifo_100_wr_en;
input fifo_110_wr_en;
input fifo_120_wr_en;
input fifo_130_wr_en;
input fifo_140_wr_en;
input fifo_150_wr_en;
input fifo_01_wr_en;
input fifo_11_wr_en;
input fifo_21_wr_en;
input fifo_31_wr_en;
input fifo_41_wr_en;
input fifo_51_wr_en;
input fifo_61_wr_en;
input fifo_71_wr_en;
input fifo_81_wr_en;
input fifo_91_wr_en;
input fifo_101_wr_en;
input fifo_111_wr_en;
input fifo_121_wr_en;
input fifo_131_wr_en;
input fifo_141_wr_en;
input fifo_151_wr_en;
input [3:0]fifo_00_wr_addr;
input [3:0]fifo_01_wr_addr;
input [3:0]fifo_10_wr_addr;
input [3:0]fifo_11_wr_addr;
input [3:0]fifo_20_wr_addr;
input [3:0]fifo_21_wr_addr;
input [3:0]fifo_30_wr_addr;
input [3:0]fifo_31_wr_addr;
input [3:0]fifo_40_wr_addr;
input [3:0]fifo_41_wr_addr;
input [3:0]fifo_50_wr_addr;
input [3:0]fifo_51_wr_addr;
input [3:0]fifo_60_wr_addr;
input [3:0]fifo_61_wr_addr;
input [3:0]fifo_70_wr_addr;
input [3:0]fifo_71_wr_addr;
input [3:0]fifo_80_wr_addr;
input [3:0]fifo_81_wr_addr;
input [3:0]fifo_90_wr_addr;
input [3:0]fifo_91_wr_addr;
input [3:0]fifo_100_wr_addr;
input [3:0]fifo_101_wr_addr;
input [3:0]fifo_110_wr_addr;
input [3:0]fifo_111_wr_addr;
input [3:0]fifo_120_wr_addr;
input [3:0]fifo_121_wr_addr;
input [3:0]fifo_130_wr_addr;
input [3:0]fifo_131_wr_addr;
input [3:0]fifo_140_wr_addr;
input [3:0]fifo_141_wr_addr;
input [3:0]fifo_150_wr_addr;
input [3:0]fifo_151_wr_addr;
input dqs0_delayed_col1;
input dqs1_delayed_col1;
input dqs2_delayed_col1;
input dqs3_delayed_col1;
input dqs4_delayed_col1;
input dqs5_delayed_col1;
input dqs6_delayed_col1;
input dqs7_delayed_col1;
input dqs8_delayed_col1;
input dqs9_delayed_col1;
input dqs10_delayed_col1;
input dqs11_delayed_col1;
input dqs12_delayed_col1;
input dqs13_delayed_col1;
input dqs14_delayed_col1;
input dqs15_delayed_col1;
input dqs0_delayed_col0_n;
input dqs1_delayed_col0_n;
input dqs2_delayed_col0_n;
input dqs3_delayed_col0_n;
input dqs4_delayed_col0_n;
input dqs5_delayed_col0_n;
input dqs6_delayed_col0_n;
input dqs7_delayed_col0_n;
input dqs8_delayed_col0_n;
input dqs9_delayed_col0_n;
input dqs10_delayed_col0_n;
input dqs11_delayed_col0_n;
input dqs12_delayed_col0_n;
input dqs13_delayed_col0_n;
input dqs14_delayed_col0_n;
input dqs15_delayed_col0_n;
output [255:0]user_output_data;
input [3:0]fifo_00_rd_addr;
input [3:0]fifo_01_rd_addr;
input [3:0]fifo_10_rd_addr;
input [3:0]fifo_11_rd_addr;
input [3:0]fifo_20_rd_addr;
input [3:0]fifo_21_rd_addr;
input [3:0]fifo_30_rd_addr;
input [3:0]fifo_31_rd_addr;
input [3:0]fifo_40_rd_addr;
input [3:0]fifo_41_rd_addr;
input [3:0]fifo_50_rd_addr;
input [3:0]fifo_51_rd_addr;
input [3:0]fifo_60_rd_addr;
input [3:0]fifo_61_rd_addr;
input [3:0]fifo_70_rd_addr;
input [3:0]fifo_71_rd_addr;
input [3:0]fifo_80_rd_addr;
input [3:0]fifo_81_rd_addr;
input [3:0]fifo_90_rd_addr;
input [3:0]fifo_91_rd_addr;
input [3:0]fifo_100_rd_addr;
input [3:0]fifo_101_rd_addr;
input [3:0]fifo_110_rd_addr;
input [3:0]fifo_111_rd_addr;
input [3:0]fifo_120_rd_addr;
input [3:0]fifo_121_rd_addr;
input [3:0]fifo_130_rd_addr;
input [3:0]fifo_131_rd_addr;
input [3:0]fifo_140_rd_addr;
input [3:0]fifo_141_rd_addr;
input [3:0]fifo_150_rd_addr;
input [3:0]fifo_151_rd_addr;
wire [7:0]fifo_00_data_out;
wire [7:0]fifo_01_data_out;
wire [7:0]fifo_10_data_out;
wire [7:0]fifo_11_data_out;
wire [7:0]fifo_20_data_out;
wire [7:0]fifo_21_data_out;
wire [7:0]fifo_30_data_out;
wire [7:0]fifo_31_data_out;
wire [7:0]fifo_40_data_out;
wire [7:0]fifo_41_data_out;
wire [7:0]fifo_50_data_out;
wire [7:0]fifo_51_data_out;
wire [7:0]fifo_60_data_out;
wire [7:0]fifo_61_data_out;
wire [7:0]fifo_70_data_out;
wire [7:0]fifo_71_data_out;
wire [7:0]fifo_80_data_out;
wire [7:0]fifo_81_data_out;
wire [7:0]fifo_90_data_out;
wire [7:0]fifo_91_data_out;
wire [7:0]fifo_100_data_out;
wire [7:0]fifo_101_data_out;
wire [7:0]fifo_110_data_out;
wire [7:0]fifo_111_data_out;
wire [7:0]fifo_120_data_out;
wire [7:0]fifo_121_data_out;
wire [7:0]fifo_130_data_out;
wire [7:0]fifo_131_data_out;
wire [7:0]fifo_140_data_out;
wire [7:0]fifo_141_data_out;
wire [7:0]fifo_150_data_out;
wire [7:0]fifo_151_data_out;
reg [255:0]first_sdr_data;
assign user_output_data = first_sdr_data;
always@(posedge clk90)
begin
if (reset90_r == 1'b1)
first_sdr_data <= 288'd0;
else
begin
if (read_valid_data_1 == 1'b1)
first_sdr_data <= { fifo_150_data_out,fifo_140_data_out,
fifo_130_data_out,fifo_120_data_out,
fifo_110_data_out,fifo_100_data_out,
fifo_90_data_out,fifo_80_data_out,
fifo_70_data_out,fifo_60_data_out,
fifo_50_data_out,fifo_40_data_out,
fifo_30_data_out,fifo_20_data_out,
fifo_10_data_out,fifo_00_data_out,
fifo_151_data_out,fifo_141_data_out,
fifo_131_data_out,fifo_121_data_out,
fifo_111_data_out,fifo_101_data_out,
fifo_91_data_out,fifo_81_data_out,
fifo_71_data_out,fifo_61_data_out,
fifo_51_data_out,fifo_41_data_out,
fifo_31_data_out,fifo_21_data_out,
fifo_11_data_out,fifo_01_data_out
};
else
first_sdr_data <= first_sdr_data;
end
end
//*************************************************************************************************************************
// Dual Port RAM 16x1 instantiations (fifo0 // Positive edge, fifo1 -- Trailing edge)
//*************************************************************************************************************************
//- Byte0 instantiation
RAM16X1D fifo0_bit0
( .DPO(fifo_00_data_out[0]),
.SPO(open),
.A0(fifo_00_wr_addr[0]),
.A1(fifo_00_wr_addr[1]),
.A2(fifo_00_wr_addr[2]),
.A3(fifo_00_wr_addr[3]),
.D(ddr_dq_in[0]),
.DPRA0(fifo_00_rd_addr[0]),
.DPRA1(fifo_00_rd_addr[1]),
.DPRA2(fifo_00_rd_addr[2]),
.DPRA3(fifo_00_rd_addr[3]),
.WCLK(dqs0_delayed_col1),
.WE(fifo_00_wr_en)
);
RAM16X1D fifo1_bit0
( .DPO(fifo_01_data_out[0]),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -