Перейти к содержанию
    

Пытаюсь оживить на своей плате CIII SDRAM (MT48LC32M16A2P-75).

Собрал систему:

post-52939-1323754761_thumb.jpg

все вектора установил на on_chip_mem.

Далее завожу Eclipce пишу прогу:

 

#include "sys/alt_stdio.h"
#include "system.h"
#include "io.h"
#include "alt_types.h"

int main()
{ 
  alt_putstr("Hello from Nios II!\n");

  volatile alt_u16 a[1024];
  alt_u16 i;
  /* Event loop never exits. */


for (i=0;i<=1023;i++)
{

      IOWR_16DIRECT(SDRAM_0_BASE, i, i);

  };
while (1)
  {
for (i=0;i<=1023;i++)
{

      a[i]=IORD_16DIRECT(SDRAM_0_BASE, i);

  };

  };


  return 0;
}

 

В итоге имеем:

post-52939-1323754770_thumb.jpg post-52939-1323754837_thumb.jpg

Может кто подскажет в чем дело?

Если указать вектора на SDRAM, то есно Ниос не стартует :rolleyes:

 

Ну и собственно констрейны:

set_time_format -unit ns -decimal_places 3

derive_clock_uncertainty

#**************************************************************
# Create Clock
#**************************************************************

create_clock -name {clk_0} -period 20 -waveform { 0.000 10 } [get_ports {clk_0}]
derive_pll_clocks -create_base_clocks

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то я не понял...

Вы On-Chip RAM тактируете от PLL, а SDRAM от внешнего генератора?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то я не понял...

Вы On-Chip RAM тактируете от PLL, а SDRAM от внешнего генератора?

УПС :blush: не заметил. Сейчас попробую второй чип припаять и попробовать 32х.р. вариант.

UPD: А Fast input/output registers обязательно использовать нужно? Пока так на 100 МГц работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Заработал у меня СДРАМ. Ниос грузился, читалось, писалось, но потом все блин сломалось :smile3046:

Сейчас ситуация такая:

Пока работаю из он-чип памяти. Пишу, читаю как в предыдущем посте и вот что получается:

post-52939-1324014002_thumb.jpg post-52939-1324014334_thumb.jpg

Причем если делаю запись по адресу, а потом сразу чтение из данного адреса, то данные правильные.

вот настройки

post-52939-1324014215_thumb.jpg post-52939-1324014222_thumb.jpg

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас вроде опять все работает. Но возникли некоторые вопросы.

1. Как активировать Burst режим памяти? Сейчас работа идет одиночными транзакциями (Ниос без кеша данных)

post-52939-1324272305_thumb.jpg

2. Когда рисовал схему завел DQML, DQMH параллельно на обе микросхемы (16х) можно ли будет при таком раскладе сделать 32х вариант?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас вроде опять все работает. Но возникли некоторые вопросы.

1. Как активировать Burst режим памяти? Сейчас работа идет одиночными транзакциями (Ниос без кеша данных)

а куда он будет пачки складывать, если кэша нет?

 

2. Когда рисовал схему завел DQML, DQMH параллельно на обе микросхемы (16х) можно ли будет при таком раскладе сделать 32х вариант?

http://imageshack.us/photo/my-images/217/2sdram.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответы!

Но поставил кеш, поэкспериментировал с размерами, галочками берст, но так и не удалось увидеть в СигналТапе данного явления :rolleyes:

post-52939-1324276666_thumb.jpg

И еще.. в режиме дебага (все выполняется из СДРАМ). шагаю по программе.

#include <stdio.h>
#define len    8000000
int main()
{
volatile unsigned    int a [len+1];
volatile unsigned    int c [len+1];
volatile unsigned    int i;

int n_err=0;
int b=0;

printf("Start SDRAM TEST\n");
printf("Write\n");
    for (i=0;i<len;i++)
    {
        a[i]=i;
        c[i]=0;

    }

 

Стоит зайти в цикл for так каждый шаг занимает по 5 секунд (из он чип нормально шагает, правда и буфер намного меньше). Если прыгать по брейкпойнтам то все тоже нормально. С чем это может быть связанно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но поставил кеш, поэкспериментировал с размерами, галочками берст, но так и не удалось увидеть в СигналТапе донного явления :rolleyes:

это зависит от версии квартуса, одно время поддержки burst в sdr sdram не было. я сам только в ddr его видел. в спецификациях на текущую версию burst есть

Стоит зайти в цикл for так каждый шаг занимает по 5 секунд (из он чип нормально шагает, правда и буфер намного меньше). Если прыгать по брейкпойнтам то все тоже нормально. С чем это может быть связанно?

да, замечал, м.б. не 5 сек, но лагает. списал на тормознутость усб-бластера под линуксом

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чет никак burst не получается. Уже сделал так: Основная память - он чип (все вектора на нее). завожу ДМА на запись в СДРАМ из другой он чип.

post-52939-1324366533_thumb.jpg post-52939-1324366603_thumb.jpg

 

Может какой секрет есть ? :rolleyes:

Q11.1sp1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Решил дописать стабильно работающий проект и впоролся в такую ошибку при отладке

 

.gdbinit: No such file or directory.
Reading symbols from E:/name.elf...done.
info threads
* 1 Thread <main>  _start () at HAL/src/crt0.S:237

 

 

с чем это может быть связано? в режиме Run проект работает. Иногда запускается и дебаг но ооочень редко...

Форум альтеры помог найти только собратьев по несчастью... ОС 7 (к сожалению)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте коллеги, подскажите что за ошибка?

Ошибка сборки BSP.

Попробуйте регенерировать заново.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ошибка сборки BSP.

Попробуйте регенерировать заново.

Пытался несколько раз генерировать, переставлял все с нуля, не чего не помогает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пытался несколько раз генерировать, переставлял все с нуля, не чего не помогает.

Пришлите сообщения из консоли.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...