Forum Discussion
Altera_Forum
Honored Contributor
15 years agoSopc 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 ...
Altera_Forum
Honored Contributor
15 years ago --- Quote Start --- Either you are using a too high clk frequency or you have a bad create_clock command in the TimeQuest sdc file. --- Quote End --- Fmax is about 132MHz but that is when i remove all the others VHDL and only generate a Sopc with one Write master and one SDRAM controller. The second option could be a problem. I don't have much experience with SDC file or asserting constraints. I followed TimeQuest User Guide by Ryan Scoville. do i need a diffrent ip.sdc for the sopc? Here is my SDC-File for main design:
# **************************************************************# Time Information# **************************************************************
set_time_format -unit ns -decimal_places 3
# **************************************************************# Create Clock# **************************************************************
create_clock -name {FPGA_CLK1} -period 20.833 -waveform { 0.000 10.416 }
create_clock -name {FPGA_CLK2} -period 20.833 -waveform { 0.000 10.416 }
create_clock -name {PIX_CLK} -period 20.833 -waveform { 0.000 10.416 }
# **************************************************************# Create Generated Clock# **************************************************************
derive_pll_clocks
# **************************************************************# Set Clock Latency# **************************************************************
# **************************************************************# Set Clock Uncertainty# **************************************************************
derive_clock_uncertainty
FPGA_CLK_1 and _2 are 48MHz input clk's that go straight to a PLL each. They generate a freq of 48MHz and 144MHz. The generated CLK 144MHz i use for the SOPC gives failing paths (setup) --- Quote Start --- Some suggestions: - If the SDRAM controller you are using does not support burst then don't enable bursting in the masters. --- Quote End --- It does. It supports a burst of 1,2,4,8. I set every burst on 8. --- Quote Start --- - Increase the arbitration share of each master to allow multiple back to back transfers from each master to access the SDRAM - Increase the data width of the master to match your memory controller width --- Quote End --- I'll try them, but i was trying to avoid the last suggestion because then i need to make the code a little more complex. If i increase arbitration shares, that will have no affect on the slack. or am i wrong? Aditional info: FPGA : Cyclone III EP3C10F256C8N SDRAM : IS42S16400B If more info is required plz ask. Thx for the reply's.