Forum Discussion

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

Sopc Help

hi again,

I'm using a SDRAM controller in SOPC. but things are not working right.

Failing paths, buffer of templates are getting full , ...

I'm using master write and master read MM-templates from the site.

I connected 3 read's and 5 writes to the SDRAM Controller. What else do i need to do?

Can anyone plz help me with a good tutorial or a easy reference design ?

Regards

Edit: For any help i added a pic of the sopc

14 Replies

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

    --- Quote Start ---

    do i need a diffrent ip.sdc for the sopc? Here is my SDC-File for main design:

    --- Quote End ---

    Sopc builder should have generated automatically a .sdc file for your system.

    You must include it in your Quartus project.

    Also make sure your checked the "Timing driven synthesis" in Analysis&Synthesis settings and follow the other guidelines reported by timing optimization advisor.

    If all this fails maybe the 144MHz frequency is really too high for your device.

    Final note: probably this is not your current problem, but usually you must drive the sdram clock pin with a phase lead relative to clock used by sopc system.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Sopc builder should have generated automatically a .sdc file for your system.

    You must include it in your Quartus project.

    --- Quote End ---

    You have to enable the settings for that? Cauze i can't find it in the main

    directory.

    --- Quote Start ---

    Also make sure your checked the "Timing driven synthesis" in Analysis&Synthesis settings and follow the other guidelines reported by timing optimization advisor.

    --- Quote End ---

    I did.

    --- Quote Start ---

    Final note: probably this is not your current problem, but usually you must drive the sdram clock pin with a phase lead relative to clock used by sopc system.

    --- Quote End ---

    Probably you need to apply that in the sdc aswell. How?
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    You have to enable the settings for that? Cauze i can't find it in the main directory.

    --- Quote End ---

    AFAIK sopc builder generates the sdc file by default, together with the .qip file which contains the hdl file references. At least this is true for the Quartus version 9.0sp2 I use.

    Did you select TimeQuest as time analyzer?

    Regarding the sdram clock phase, I remember it must be calculated somehow like this (although I'm not completely sure):

    - pre-compile the project with 0 phase shift

    - search the PLL offset in the timing analysis report

    - search the sdram clock combinatorial delay from pll output to clock pin

    - the sdram clock phase lead must be set that the sum of pll offset and combinatorial delay is a bit longer than the sdram setup time

    - recompile the Quartus project

    I use the same SDRAM as yours and EP3C40: with Fclk=100MHz I set dram clk phase = -27degrees = -0.75ns. As a rule of thumb you can also try -0.75ns which for your 148MHz would mean a phase lead of 40deg.

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

    --- Quote Start ---

    AFAIK sopc builder generates the sdc file by default, together with the .qip file which contains the hdl file references. At least this is true for the Quartus version 9.0sp2 I use.

    Did you select TimeQuest as time analyzer?

    --- Quote End ---

    I only see the SDC wich i made. I don't have one generated by SOPC builder. I use version 8.0.

    I'll try shifting the SDRAM CLK but I probably need to reduce the speed of

    the avalon bus with all those components on it. I was running it at 144MHz.