parameterPAGES_REL_MASK='h3ff,// address mask to set DQM and DQS patterns
parameterCMDA_EN_REL='h022,// address to enable('h823)/disable('h822) command/address outputs
parameterCMDA_EN_REL_MASK='h3fe,// address mask for command/address outputs
parameterEXTRA_REL='h024,// address to set extra parameters (currently just inv_clk_div)
parameterSDRST_ACT_REL='h024,// address to activate('h825)/deactivate('h8242) active-low reset signal to DDR3 memory
parameterSDRST_ACT_REL_MASK='h3fe,// address mask for reset DDR3
parameterCKE_EN_REL='h026,// address to enable('h827)/disable('h826) CKE signal to memory
parameterCKE_EN_REL_MASK='h3fe,// address mask for command/address outputs
parameterEXTRA_REL='h028,// address to set extra parameters (currently just inv_clk_div)
parameterEXTRA_REL_MASK='h3ff// address mask for extra parameters
)(
inputclk,
...
...
@@ -85,7 +89,10 @@ module ddrc_control #(
outputld_delay,// write dly_data to dly_address, one mclk active pulse
outputdly_set,// transfer (activate) all delays simultaneosly, 1 mclk pulse
// control: additional signals
outputcmda_tri,// tri-state all command and address lines to DDR chip
outputcmda_en,// tri-state all command and address lines to DDR chip
outputddr_rst,// generate DDR3 memory reset signal
outputddr_cke,// control DDR3 memory CKE signal
outputinv_clk_div,// invert clk_div to ISERDES
output[7:0]dqs_pattern,// DQS pattern during write (normally 8'h55)
output[7:0]dqm_pattern,// DQM pattern (just for testing, should be 8'h0)
...
...
@@ -108,6 +115,12 @@ module ddrc_control #(
localparamPAGES_ADDR_MASK=CONTROL_ADDR_MASK|PAGES_REL_MASK;// address mask to set DQM and DQS patterns
localparamCMDA_EN_ADDR=CONTROL_ADDR|CMDA_EN_REL;// address to enable('h823)/disable('h822) command/address outputs
localparamCMDA_EN_ADDR_MASK=CONTROL_ADDR_MASK|CMDA_EN_REL_MASK;// address mask for command/address outputs
localparamSDRST_ACT_ADDR=CONTROL_ADDR|SDRST_ACT_REL;// address to activate('h825)/deactivate('h8242) active-low reset signal to DDR3 memory
localparamSDRST_ACT_ADDR_MASK=CONTROL_ADDR_MASK|SDRST_ACT_REL_MASK;// address mask for reset DDR3
localparamCKE_EN_ADDR=CONTROL_ADDR|CKE_EN_REL;// address to enable('h827)/disable('h826) CKE signal to memory
localparamCKE_EN_ADDR_MASK=CONTROL_ADDR_MASK|CKE_EN_REL_MASK;// address mask for CKE
localparamEXTRA_ADDR=CONTROL_ADDR|EXTRA_REL;// address to set extra parameters (currently just inv_clk_div)
localparamEXTRA_ADDR_MASK=CONTROL_ADDR_MASK|EXTRA_REL_MASK;// address mask for extra parameters
...
...
@@ -133,6 +146,9 @@ module ddrc_control #(
reg[1:0]port1_page_r;// port 1 buffer write page (to be controlled by arbiter later, set to 2'b0)
reg[1:0]port1_int_page_r;// port 1 PHY-side buffer read page (to be controlled by arbiter later, set to 2'b0)
regcmda_en_r;// enable (tri-state off) all command and address lines to DDR chip
regddr_rst_r;// generate DDR3 memory reset
regddr_cke_r;// enable CKE to memory
reginv_clk_div_r;// invert clk_div to ISERDES
assignld_delay=dly_ld_r;
...
...
@@ -141,7 +157,7 @@ module ddrc_control #(
assigndly_addr=waddr_fifo_out_r[6:0];//WARNING: [Synth 8-3936] Found unconnected internal register 'waddr_fifo_out_r_reg' and it is trimmed from '12' to '7' bits. [ddrc_control.v:101]