реклама на сайте
подробности

 
 
> Модернизация xapp134/xapp200 (SDRAM) для конкретных задач, Прошу поддержки после попыток самонаписания SDRAM контроллера
Timon_
сообщение Apr 13 2009, 18:42
Сообщение #1





Группа: Участник
Сообщений: 9
Регистрация: 26-01-09
Пользователь №: 43 934



Начну с того, что принесли мне плату с запаянным на ней ПЛИС-кой XC3S200 (Spartan 3, Xilinx) и SDRAM память K4S641632K (Samsung), а в нагрузку дали побаловаться TFT дисплей фирмы NEC - NL6448BC26-09 (8.4").
Вообщем поставил себе следующую задачу: данные, поступающие из вне, записывать в СДРАМ память и выводить их на ЖКИ монитор. Причем поступать данные могут одновременно с выводом записанных данных на ТФТ матрицу.
Вообщем первой моей победой был запуск ТФТ матрицы. Здесь подробно останавливаться не буду. Проблемы начались, когда начал запускать СДРАМ. После недельки проб и ошибок и лазания по форуму удалось-таки записать и считать (и сравнить с записанными) данные, но без режима регенерации, т.е. просто однократно запись->чтение->ок->зажигаем светодиод. Побаловался с различными режимами бурста и латентностью. Но это оказалось детским лепетом. После 2-3-х недельного написания программы, исправления ошибок, синтеза вылезла проблема - проект не влазит в кристал sad.gif . Изучил форумы, дабы удостовериться - в этот кристал запихивали СДРАМ контроллер, ЛайфЕзернет, 2 RS232 и еще чего-то. В итоге "сел в лужу" и "выпал в осадок"...
... ТЕПЕРЬ ПРОШУ ПОМОЩИ У ПРОФИ.
На форуме встречал советы переделки xapp200. (xapp134 не советуют, хотя никто не объяснил толком, чем он плох, кроме упоминания фраз "горбатая корка" и "другой принцип построения контроллера").
Сам на VHDL пишу не так давно (самоучка, так что сильно не пинайте!), по образованию электроник, поэтому постоянно сталкиваюсь с проблемами...

Свой контроллер писал по следующему принципу:
Он имеет 4 состояния:

1. Инициализация: пауза 200мкс - выполнение стандартных команд с загрузкой МОДЕ-регистра.

2. Режим чтения: в этом режиме читаются данные из СДРАМ памяти по 160 16-битных слов из каждого банка (в сумме 640 = одна строка ТФТ дисплея) и заносится в блочную память на кристале. В последующем уже контроллер ТФТ дисплея читает данные из данной блочной памяти и выводит данные на экран дисплея (своеобразный ФИФО). Так повторяется 640 раз (для разрешения 640х480).

3. Режим записи: аналогично режиму чтения в этом режиме в СДРАМ записываются данные (16х640) из блочной памяти на кристале, предварительно загруженные в неё из вне.

4. Режим регенерации: в этом режиме выполняется полный цикл регенерации памяти (4095 циклов для 64Мб).

5. Режим IDLE: в этом режиме происходит проверка заполненности блочной памяти на кристалле (для записи и для чтения). Если из блочной памяти считана информация (строка) и выведена на дисплей - то выполняется загрузка следующей строки в блочную память. Если заполнена блочная память для записи (640 слов) то выполняется режим записи. Если на экран выведен полный кадр - то контроллер переходит в режим регенерации.

Вот вообщем то и все основные задачи, которые нужны мне для работы.
Некоторые пояснения: в каждом состоянии режим выполняется полностью, т.е. в режиме чтения считывается строка полностью (160+160+160+160=640). Аналогично в режиме записи записывается строка полностью (160+160+160+160=640).

Это мое видение решение задачи пока не удалось, в связи с этим встретив советы по переделке корок xapp134/200, прошу помощи по доработке указанных корок......

Хотя в них после изучения для меня есть еще много непонятного.

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Cont
сообщение May 8 2009, 07:58
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 112
Регистрация: 10-11-06
Из: Москва
Пользователь №: 22 176



1) У меня ISE 10.1 там MIG в корэгене СДРАМ не поддерживает. Что делать? ставить 9-ю?
2) Уже разрабатывал контроллер. В качестве основы взял альтеровскую корку (понятно, нехорошо это :-) ). Есть у них sdr_sdram reference design. Ссылку не помню((
Go to the top of the page
 
+Quote Post
Maverick
сообщение May 8 2009, 15:03
Сообщение #3


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Это написано Userguide (ссылка на него ниже) для ISE 10.1.03
The Memory Interface Generator (MIG) generates DDRII SRAM, DDR SDRAM, DDR2 SDRAM, QDRII SRAM, and RLDRAM II interfaces for Virtex®-4 FPGAs and generates DDR SDRAM, DDR2 SDRAM, QDRII SRAM, and and DDRII SRAM interfaces for Virtex-5 FPGAs. It also generates DDR and DDR2 SDRAM interfaces for Spartan®-3, Spartan-3A, Spartan-3E, and Spartan-3A DSP FPGAs. The tool takes inputs such as the memory interface type, FPGA family, FPGA devices, frequencies, data width, memory mode register values, and so forth, from the user through a graphical user interface (GUI). The tool generates RTL, SDC, UCF, and document files as output. RTL or EDIF (EDIF is created after running a script file, where the script file is a tool output) files can be integrated with other design files.

ссылка

Для ускоррения разработки может стоит и поставить ISE 9.1.03 или 9.2.03 или даже более поздние версии (насколько я помню там MIG поставляется отдельно) но это Вам решать самому smile.gif

Ниже приведен скриншот где искать сам MIG в ISE 10.1.03
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Timon_   Модернизация xapp134/xapp200 (SDRAM) для конкретных задач   Apr 13 2009, 18:42
- - DmitryR   А поискать готовый контроллер религия не позволяет...   Apr 14 2009, 05:17
- - Александр_Алексеев   На opencores.org есть проект для SDRAM на VHDL, я ...   Apr 14 2009, 05:30
- - Maverick   Цитата(Timon_ @ Apr 13 2009, 21:42) По ...   Apr 14 2009, 05:55
|- - vik0   Цитата(Maverick @ Apr 14 2009, 08:55) По ...   Apr 14 2009, 06:09
|- - Maverick   Цитата(vik0 @ Apr 14 2009, 09:09) Так он,...   Apr 14 2009, 07:40
- - Kuzmi4   Если времени жалко - мерём Миг от Xilinx и радуемс...   Apr 14 2009, 10:17
- - Timon_   ЦитатаЕсли нет - охота именно самому - то вот непл...   Apr 15 2009, 18:20
- - Александр_Алексеев   Кажется второй, там два исходника на VHDL, в загол...   Apr 16 2009, 05:56
- - Timon_   Александр_Алексеев, если Вам не трудно, вышлите мн...   May 6 2009, 18:32
|- - Boris_TS   Цитата(Timon_ @ May 6 2009, 21:32) Объясн...   May 6 2009, 19:49
- - Timon_   А что в исе10 уже другая версия МИГ? Если да, то н...   May 9 2009, 11:54
- - Cont   Можно ли продолжать разработку в 10-й версии, но о...   May 12 2009, 08:34


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd September 2025 - 14:58
Рейтинг@Mail.ru


Страница сгенерированна за 0.01395 секунд с 7
ELECTRONIX ©2004-2016