Trenz Electronic GmbH Support Forum

Community => MAX1000 community projects => Topic started by: steveg on December 20, 2017, 09:24:47 AM

Title: SD Ram Controller for MAX100
Post by: steveg on December 20, 2017, 09:24:47 AM
Hello - how do I create a controller for the 8MB SDRAM on the MAX1000 using Quartus?
Thank you
Steve
Title: Re: SD Ram Controller for MAX100
Post by: jefflieu on December 26, 2017, 03:26:52 AM
Hello,
Have you tried creating a system in Qsys? Then read/write your SDRAM controller via Avalon interface. I think you can then export the Avalon port out of Qsys.
Title: Re: SD Ram Controller for MAX100
Post by: steveg on December 26, 2017, 07:12:43 AM
Hi - I have not yet purchased a MAX1000 but I would like to purchase many. But for my application  - a camera - I will need the SDRAM. I think it can be difficult to get all the timings right so i was hoping a SD Ram controller had already been developed!
Thanks!
Title: Re: SD Ram Controller for MAX100
Post by: jefflieu on December 27, 2017, 02:52:34 AM
You can configure the SDRAM controller timing parameter in the Qsys (see attachment)
I was thinking of creating an example that includes SDRAM with MAX1000 board but not had time to do it yet.
If you'd need something to start with, follow the link in my other post.

Title: Re: SD Ram Controller for MAX100
Post by: patk on December 04, 2018, 02:03:50 AM
How did you setup the SDRAM clock to the W9864G6 chip on the max1000? I added another clock output from the MAX10 PLL to the external pin shown on the user guide, but it doesn't seem to be working.
Title: Re: SD Ram Controller for MAX100
Post by: patk on December 05, 2018, 05:39:19 PM
Looking at the startup initialization requirements for the W9864 SDRAM and the standard Intel SDRAM controller core operation there looks to be an incompatibility. Was this the FPGA core used to test the interface?
Title: Re: SD Ram Controller for MAX100
Post by: jefflieu on December 29, 2018, 01:59:27 PM
Have you got it working?
I think I've got it working here.
https://github.com/jefflieu/recon/tree/recon_2/dev/hw
The IO of the MAX10 device can't run beyond 50MHz in single ended mode.
Title: Re: SD Ram Controller for MAX100
Post by: philippe69 on November 12, 2022, 10:02:03 AM
Hello everybody,
Is someone found or wrote a sdram controller ?
I use Quartus Lite edition and the altera_avalon_new_sdram_controller was exclude from this distribution from since the quartus 17 version.
Thank's a lot
Philippe
Title: Re: SD Ram Controller for MAX100
Post by: Thomas D on November 16, 2022, 07:58:49 AM
Hi,
are you sure that the altera_avalon_new_sdram_controller was excluded from Quartus Lite 17? I have never worked with Quartus Lite 17, but with Quartus Lite since version 18.1 and in every version until 20.1.1 the altera_avalon_new_sdram_controller was included. Each time with the message "SDRAM Controller will only be supported in Quartus Prime Standard Edition in the future release."  Since 21.1 Intel has removed this IP Core from the lite and standard versions.
If you want to use this IP Core in the newer versions, you can just copy the source code of the altera_avalon_new_sdram_controller from an older version into your project (path to source code: <quartus installation path>\intelFPGA_lite\<quartus version>\ip\altera\sopc_builder_ip\altera_avalon_new_sdram_controller). The sdram controller should then be available in the platform desginer. This is how I did it in the reference design with Quartus Lite 21.1:

br
Thomas
Title: Re: SD Ram Controller for MAX100
Post by: Antti Lukats on May 19, 2023, 05:09:13 PM
are you sure it is also removed from STANDARD version?
Title: Re: SD Ram Controller for MAX100
Post by: Thomas D on May 23, 2023, 02:59:02 PM
It is not listed in platform designer (e.g. 21.1 standard version). See also the attached screenshot (20.1.1 Standard <-> 21.1.1 Standard)
Title: Re: SD Ram Controller for MAX100
Post by: philippe69 on May 31, 2023, 12:24:09 PM
Hello Everybody,
I asked to Winbond to obtain their SDRAM driver. Find it enclosed.
But, with my level, I couldn't get it to work.

maybe Trenz could help us by providing us with a driver and a design using it ;-))
Title: Re: SD Ram Controller for MAX100
Post by: dicas3d on June 21, 2023, 08:37:05 PM
Anyone get the SDRAM controller working on quartus prime lite 22.1.1.
Quote from: Thomas D on November 16, 2022, 07:58:49 AM
Hi,
are you sure that the altera_avalon_new_sdram_controller was excluded from Quartus Lite 17? I have never worked with Quartus Lite 17, but with Quartus Lite since version 18.1 and in every version until 20.1.1 the altera_avalon_new_sdram_controller was included. Each time with the message "SDRAM Controller will only be supported in Quartus Prime Standard Edition in the future release."  Since 21.1 Intel has removed this IP Core from the lite and standard versions.
If you want to use this IP Core in the newer versions, you can just copy the source code of the altera_avalon_new_sdram_controller from an older version into your project (path to source code: <quartus installation path>\intelFPGA_lite\<quartus version>\ip\altera\sopc_builder_ip\altera_avalon_new_sdram_controller). The sdram controller should then be available in the platform desginer. This is how I did it in the reference design with Quartus Lite 21.1:

  • https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/Modules_and_Module_Carriers/2.5x6.15/TEI0001/Reference_Design/21.1/test_board (https://shop.trenz-electronic.de/de/Download/?path=Trenz_Electronic/Modules_and_Module_Carriers/2.5x6.15/TEI0001/Reference_Design/21.1/test_board)

br
Thomas

As provided in this post?
Title: Re: SD Ram Controller for MAX100
Post by: Thomas D on June 27, 2023, 05:02:55 PM
Hi
@philippe69
we can't help you with these files from winbond, sorry. You should ask winbond for help.

@dicas3d
I have already used the sdram controller in Quartus Lite 22.1.1 as described in my older post and it works the same as in 21.1.

br
Thomas
Title: Re: SD Ram Controller for MAX100
Post by: philippe69 on December 27, 2023, 09:24:43 AM
I found a solution.
1/ Install the altera_avalon_new_sdram_controller from the 20.1 Quartus
Copy the sdram controller in the quartus folder :
C:\intelFPGA_lite\22.1\ip\altera\sopc_builder_ip\altera_avalon_new_sdram_controller

In bonus, you can get the altera_avalon_new_sdram_controller from the 17.0 Quartus to obtain the sdram list used in the max1000.
Copy TEI0001_sdram_controller.qprs memory in the altera_avalon_new_sdram_controller.qprs file

In the file C:\intelFPGA_lite\22.1\ip\altera_components.ipx add the altera_avalon_new_sdram_controller
<component
   name="altera_avalon_new_sdram_controller"
   file="sopc_builder_ip/altera_avalon_new_sdram_controller/altera_avalon_new_sdram_controller_hw.tcl"
   displayName="SDRAM Controller"
   version="20.1"
   ...

After these operation you will see the SDRAM ip in the QSYS Memory and interface IP Catalog.

2/ Create your design in QSYS
The important thing to know is in the altpll use for the sdram clock MUST have -5000ps of clock phase shift (see the screen capture)
I saw that in the test_board design provides by Trenz :
https://shop.trenz-electronic.de/trenzdownloads/Trenz_Electronic/Modules_and_Module_Carriers/2.5x6.15/TEI0001/Reference_Design/20.1/test_board/TEI0001-test_board-quartus_20.1.1-20210709113644.zip

3/ Find enclose my simple design that is using :
- A Nios programe to light the 4 first leds. It uses user button
- a sdram use
- a verilog program to light the 4 last led

Philippe69