Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

BeMicro SDK MDDR controller

Arrow Europe offers a controller for the mobile low power SDRAM on the BeMicro SDK kit exclusively: www[/U][/U] arroweurope com/markets-solutions/solutions/bemicro/bemicro-sdk html.

However, I can find no information related to its use and the pdf that comes with it is vague. The download consists of verilog and an SDC timing file, the latter of which I am very unfamiliar with. I am sure that the timing constraints are incorrect, as I get the following error while trying to download software to the board.

Downloaded 20 KB in 0.3s (66.6KB/s)

Verifying 04000000 ( 0%)

Verify failed between address 0x4000000 and 0x4003597

The PDF has the follwing instructions for timing requirements:

After the controller has been added to an SOPC system the system must be generated. Then, before compiling the FPGA, the SDC file containing the timing constraints has to be adjusted. First, add the SDC file to the list of SDC files to be processed. Then use an editor to modify the data in the first section of the SDC file according to your needs. Detailed information about that can be found in the comment lines of the SDC file.

The first section of the SDC file is as follows:

# set the name of the PLL that sources the controller clock

set sysClock "nios2_bemicro_sopc_inst|the_pll|sd1|pll7"

# set the hierarchical path to the memory controller

set mddrInstanceHierName "nios2_bemicro_sopc_inst|the_mddr|mddr_ctrl"

# timing values

# set external clock cycle time

set t(ext_clk) 20.0

# address and control inputs timing requirements

set t(IS) 1.1

set t(IH) 1.1

# DQ and DM timing requirement in relation ton DQS

set t(DS) 0.58

set t(DH) 0.58

# max. and min. access window of DQ in relation to CK_N/CK_P for CAS latency of 2

set t(ACmax) 6.5

set t(ACmin) 2.0

# max. and min. board delay

set t(board,max) 1.0

set t(board,min) 1.0

# specifiy board delays

set t(board,CK_N) 1.0

set t(board,CK_P) 1.0

set t(board,LDQS) 1.0

set t(board,UDQS) 1.0

I don't know how to interpret this and would appreciate some help.

Thank you!

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I'd like to second this question and add my own problems.

    The mddr controller creates more pins then is in the sdc file. In particular mddr(d0-12) has pins for both input and output, while the sdc has simply one place for them. The same applies for LQDS and UQDS. I haven't been able to figure out which one is meant to be an input and which one an output.