Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] Driving a DDR3 using MIG-7

Status
Not open for further replies.

aminpix

Member level 3
Joined
Sep 30, 2008
Messages
54
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,288
Activity points
1,773
Hi
I am using Vivado 2015.1 and I try to use a DDR3 RAM, connected to the Artix-7. I have two input clocks, 25 Mhz and 27 Mhz.

Any body can help me to assign proper frequencies for system clock and reference clock.
I tried to use internal PLL of the FPGA, but somebody told me in MIG the input clock must be external and I can not use PLL.
 

ads-ee

Super Moderator
Staff member
Joined
Sep 10, 2013
Messages
7,820
Helped
1,811
Reputation
3,632
Reaction score
1,772
Trophy points
1,393
Location
USA
Activity points
59,028
The MIG design contains the MMCM/PLL for the clocks required for the controller. The 25 and 27 MHz are not allowed as input clocks for the DDR 3 controller wizard (100 MHz is the lowest). I suspect you will have worse jitter performance with the 25 MHz than with a 100 MHz, which will reduce you're margins with an 800 MHz DDR3 design.

If you insist on using the 25 MHz then you need to modify the MMCM/PLL cores that are in the DDR3 controller and regenerate them using the 25 MHz input clock instead of the default value of something like 100/200 MHz. Look at the mig_7serires_v2_2_infrastructure.v file produced in the ddr3.srcs\sources_1\ip\mig_7series_0\mig_7series_0\user_design\rtl\clocking directory.

You could also cascade the PLL and the DDR3 controller MMCM/PLL which isn't optimal for jitter.
 

aminpix

Member level 3
Joined
Sep 30, 2008
Messages
54
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,288
Activity points
1,773
If I use the internal PLL of the FPGA (I assume Clock Wizard), what should I do? Should I generate 200 MHz and connect to the system clock?
 

ads-ee

Super Moderator
Staff member
Joined
Sep 10, 2013
Messages
7,820
Helped
1,811
Reputation
3,632
Reaction score
1,772
Trophy points
1,393
Location
USA
Activity points
59,028
Actually I just took a look at ug586 and there seems to be some stipulations on the allowed frequencies of the refclk and the sysclk, which you can't violate, which means that you probably can't use 25 MHz to generate a internal refclk and sysclk, as it states that the input clock has to be from a CCIO pin in the DDR3 bank.
 

aminpix

Member level 3
Joined
Sep 30, 2008
Messages
54
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,288
Activity points
1,773
You are right, we can not use the IP and drive the DDR3 with 25 MHz, I changed the IP. It was a huge project but now I can use it.
Thank you very much.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top