📄 data_read_controller_56bit.v
字号:
//*********************************************************************
// DDR 72 Bit Controller DATA PATH for LEFT RIGHT Pins
// In the current DATA PATH logic DATA CAPTURE part was modified.
// The below changes were made to reduce the resources in
// the data capture
// in the current architecture data ( dq ) from ddr memory
// directly stored into the FIFO's.
// Architectural changes :
// Used only TWO FIFOs ( instead of FOUR FIFOs )
// Used Single col ( col0 ) dqs_delayed_col signals
// Used Gray Counters for write and read pointers of the FIFOs
// fbit stage is removed from ddr1_dqbit module ( in the data capture )
// dq_clk stage was removed
// dqs_clk_div logic was removed
// ddr1_transfer_done logic was removed
// data valid signals registering in clk90 domain was removed
// fifo_0 and fifo_1 wr_addr was double registered in clk90 domain
// only fifo_0 and fifo_1 empty signals were used for read_data_valid_1 logic
// write enable for the FIFOs derived from rst_dqs_div signal
// Code revised by : Narayana Murty.
// Date : Nov 18, 2003.
//*********************************************************************
`timescale 1ns/100ps
module data_read_controller_56bit (
clk,
clk90,
reset_r,
reset90_r,
reset180_r,
reset270_r,
rst_dqs_div_in,
delay_sel,
dqs_int_delay_in0,
dqs_int_delay_in1,
dqs_int_delay_in2,
dqs_int_delay_in3,
dqs_int_delay_in4,
dqs_int_delay_in5,
dqs_int_delay_in6,
dqs_int_delay_in7,
dqs_int_delay_in8,
dqs_int_delay_in9,
dqs_int_delay_in10,
dqs_int_delay_in11,
dqs_int_delay_in12,
dqs_int_delay_in13,
fifo_00_rd_addr_val,
fifo_01_rd_addr_val,
fifo_10_rd_addr_val,
fifo_11_rd_addr_val,
fifo_20_rd_addr_val,
fifo_21_rd_addr_val,
fifo_30_rd_addr_val,
fifo_31_rd_addr_val,
fifo_40_rd_addr_val,
fifo_41_rd_addr_val,
fifo_50_rd_addr_val,
fifo_51_rd_addr_val,
fifo_60_rd_addr_val,
fifo_61_rd_addr_val,
fifo_70_rd_addr_val,
fifo_71_rd_addr_val,
fifo_80_rd_addr_val,
fifo_81_rd_addr_val,
fifo_90_rd_addr_val,
fifo_91_rd_addr_val,
fifo_100_rd_addr_val,
fifo_101_rd_addr_val,
fifo_110_rd_addr_val,
fifo_111_rd_addr_val,
fifo_120_rd_addr_val,
fifo_121_rd_addr_val,
fifo_130_rd_addr_val,
fifo_131_rd_addr_val,
u_data_val,
read_valid_data_1_val,
fifo_00_wr_en_val,
fifo_10_wr_en_val,
fifo_20_wr_en_val,
fifo_30_wr_en_val,
fifo_40_wr_en_val,
fifo_50_wr_en_val,
fifo_60_wr_en_val,
fifo_70_wr_en_val,
fifo_80_wr_en_val,
fifo_90_wr_en_val,
fifo_100_wr_en_val,
fifo_110_wr_en_val,
fifo_120_wr_en_val,
fifo_130_wr_en_val,
fifo_01_wr_en_val,
fifo_11_wr_en_val,
fifo_21_wr_en_val,
fifo_31_wr_en_val,
fifo_41_wr_en_val,
fifo_51_wr_en_val,
fifo_61_wr_en_val,
fifo_71_wr_en_val,
fifo_81_wr_en_val,
fifo_91_wr_en_val,
fifo_101_wr_en_val,
fifo_111_wr_en_val,
fifo_121_wr_en_val,
fifo_131_wr_en_val,
fifo_00_wr_addr_val,
fifo_10_wr_addr_val,
fifo_20_wr_addr_val,
fifo_30_wr_addr_val,
fifo_40_wr_addr_val,
fifo_50_wr_addr_val,
fifo_60_wr_addr_val,
fifo_01_wr_addr_val,
fifo_11_wr_addr_val,
fifo_21_wr_addr_val,
fifo_31_wr_addr_val,
fifo_41_wr_addr_val,
fifo_51_wr_addr_val,
fifo_61_wr_addr_val,
fifo_70_wr_addr_val,
fifo_71_wr_addr_val,
fifo_80_wr_addr_val,
fifo_81_wr_addr_val,
fifo_90_wr_addr_val,
fifo_91_wr_addr_val,
fifo_100_wr_addr_val,
fifo_101_wr_addr_val,
fifo_110_wr_addr_val,
fifo_111_wr_addr_val,
fifo_120_wr_addr_val,
fifo_121_wr_addr_val,
fifo_130_wr_addr_val,
fifo_131_wr_addr_val,
dqs0_delayed_col0_val,
dqs1_delayed_col0_val,
dqs2_delayed_col0_val,
dqs3_delayed_col0_val,
dqs4_delayed_col0_val,
dqs5_delayed_col0_val,
dqs6_delayed_col0_val,
dqs7_delayed_col0_val,
dqs8_delayed_col0_val,
dqs9_delayed_col0_val,
dqs10_delayed_col0_val,
dqs11_delayed_col0_val,
dqs12_delayed_col0_val,
dqs13_delayed_col0_val,
dqs0_delayed_col0_n_val,
dqs1_delayed_col0_n_val,
dqs2_delayed_col0_n_val,
dqs3_delayed_col0_n_val,
dqs4_delayed_col0_n_val,
dqs5_delayed_col0_n_val,
dqs6_delayed_col0_n_val,
dqs7_delayed_col0_n_val,
dqs8_delayed_col0_n_val,
dqs9_delayed_col0_n_val,
dqs10_delayed_col0_n_val,
dqs11_delayed_col0_n_val,
dqs12_delayed_col0_n_val,
dqs13_delayed_col0_n_val
);
input clk;
input clk90;
input reset_r;
input reset90_r;
input reset180_r;
input reset270_r;
input rst_dqs_div_in;
input [4:0]delay_sel;
input dqs_int_delay_in0;
input dqs_int_delay_in1;
input dqs_int_delay_in2;
input dqs_int_delay_in3;
input dqs_int_delay_in4;
input dqs_int_delay_in5;
input dqs_int_delay_in6;
input dqs_int_delay_in7;
input dqs_int_delay_in8;
input dqs_int_delay_in9;
input dqs_int_delay_in10;
input dqs_int_delay_in11;
input dqs_int_delay_in12;
input dqs_int_delay_in13;
output [3:0]fifo_00_rd_addr_val;
output [3:0]fifo_01_rd_addr_val;
output [3:0]fifo_10_rd_addr_val;
output [3:0]fifo_11_rd_addr_val;
output [3:0]fifo_20_rd_addr_val;
output [3:0]fifo_21_rd_addr_val;
output [3:0]fifo_30_rd_addr_val;
output [3:0]fifo_31_rd_addr_val;
output [3:0]fifo_40_rd_addr_val;
output [3:0]fifo_41_rd_addr_val;
output [3:0]fifo_50_rd_addr_val;
output [3:0]fifo_51_rd_addr_val;
output [3:0]fifo_60_rd_addr_val;
output [3:0]fifo_61_rd_addr_val;
output [3:0]fifo_70_rd_addr_val;
output [3:0]fifo_71_rd_addr_val;
output [3:0]fifo_80_rd_addr_val;
output [3:0]fifo_81_rd_addr_val;
output [3:0]fifo_90_rd_addr_val;
output [3:0]fifo_91_rd_addr_val;
output [3:0]fifo_100_rd_addr_val;
output [3:0]fifo_101_rd_addr_val;
output [3:0]fifo_110_rd_addr_val;
output [3:0]fifo_111_rd_addr_val;
output [3:0]fifo_120_rd_addr_val;
output [3:0]fifo_121_rd_addr_val;
output [3:0]fifo_130_rd_addr_val;
output [3:0]fifo_131_rd_addr_val;
output u_data_val;
output read_valid_data_1_val;
output fifo_00_wr_en_val;
output fifo_10_wr_en_val;
output fifo_20_wr_en_val;
output fifo_30_wr_en_val;
output fifo_40_wr_en_val;
output fifo_50_wr_en_val;
output fifo_60_wr_en_val;
output fifo_70_wr_en_val;
output fifo_80_wr_en_val;
output fifo_90_wr_en_val;
output fifo_100_wr_en_val;
output fifo_110_wr_en_val;
output fifo_120_wr_en_val;
output fifo_130_wr_en_val;
output fifo_01_wr_en_val;
output fifo_11_wr_en_val;
output fifo_21_wr_en_val;
output fifo_31_wr_en_val;
output fifo_41_wr_en_val;
output fifo_51_wr_en_val;
output fifo_61_wr_en_val;
output fifo_71_wr_en_val;
output fifo_81_wr_en_val;
output fifo_91_wr_en_val;
output fifo_101_wr_en_val;
output fifo_111_wr_en_val;
output fifo_121_wr_en_val;
output fifo_131_wr_en_val;
output [3:0]fifo_00_wr_addr_val;
output [3:0]fifo_10_wr_addr_val;
output [3:0]fifo_20_wr_addr_val;
output [3:0]fifo_30_wr_addr_val;
output [3:0]fifo_40_wr_addr_val;
output [3:0]fifo_50_wr_addr_val;
output [3:0]fifo_60_wr_addr_val;
output [3:0]fifo_70_wr_addr_val;
output [3:0]fifo_80_wr_addr_val;
output [3:0]fifo_90_wr_addr_val;
output [3:0]fifo_100_wr_addr_val;
output [3:0]fifo_110_wr_addr_val;
output [3:0]fifo_120_wr_addr_val;
output [3:0]fifo_130_wr_addr_val;
output [3:0]fifo_01_wr_addr_val;
output [3:0]fifo_11_wr_addr_val;
output [3:0]fifo_21_wr_addr_val;
output [3:0]fifo_31_wr_addr_val;
output [3:0]fifo_41_wr_addr_val;
output [3:0]fifo_51_wr_addr_val;
output [3:0]fifo_61_wr_addr_val;
output [3:0]fifo_71_wr_addr_val;
output [3:0]fifo_81_wr_addr_val;
output [3:0]fifo_91_wr_addr_val;
output [3:0]fifo_101_wr_addr_val;
output [3:0]fifo_111_wr_addr_val;
output [3:0]fifo_121_wr_addr_val;
output [3:0]fifo_131_wr_addr_val;
output dqs0_delayed_col0_val;
output dqs1_delayed_col0_val;
output dqs2_delayed_col0_val;
output dqs3_delayed_col0_val;
output dqs4_delayed_col0_val;
output dqs5_delayed_col0_val;
output dqs6_delayed_col0_val;
output dqs7_delayed_col0_val;
output dqs8_delayed_col0_val;
output dqs9_delayed_col0_val;
output dqs10_delayed_col0_val;
output dqs11_delayed_col0_val;
output dqs12_delayed_col0_val;
output dqs13_delayed_col0_val;
output dqs0_delayed_col0_n_val;
output dqs1_delayed_col0_n_val;
output dqs2_delayed_col0_n_val;
output dqs3_delayed_col0_n_val;
output dqs4_delayed_col0_n_val;
output dqs5_delayed_col0_n_val;
output dqs6_delayed_col0_n_val;
output dqs7_delayed_col0_n_val;
output dqs8_delayed_col0_n_val;
output dqs9_delayed_col0_n_val;
output dqs10_delayed_col0_n_val;
output dqs11_delayed_col0_n_val;
output dqs12_delayed_col0_n_val;
output dqs13_delayed_col0_n_val;
reg u_data_val;
wire dqs_int_delay_in0;
wire dqs_int_delay_in1;
wire dqs_int_delay_in2;
wire dqs_int_delay_in3;
wire dqs_int_delay_in4;
wire dqs_int_delay_in5;
wire dqs_int_delay_in6;
wire dqs_int_delay_in7;
wire dqs_int_delay_in8;
wire dqs_int_delay_in9;
wire dqs_int_delay_in10;
wire dqs_int_delay_in11;
wire dqs_int_delay_in12;
wire dqs_int_delay_in13;
wire [13:0]dqs_delayed_col0;
wire resetn;
wire fifo_00_empty;
wire fifo_01_empty;
wire [3:0] fifo_00_wr_addr;
wire [3:0] fifo_10_wr_addr;
wire [3:0] fifo_20_wr_addr;
wire [3:0] fifo_30_wr_addr;
wire [3:0] fifo_40_wr_addr;
wire [3:0] fifo_50_wr_addr;
wire [3:0] fifo_60_wr_addr;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -