|
|
 |
Ответов
|
Jan 26 2012, 02:40
|

Гуру
     
Группа: Свой
Сообщений: 2 291
Регистрация: 21-07-05
Пользователь №: 6 988

|
Цитата(ISK @ Jan 25 2012, 23:56)  Может что-то упустил? почти наверняка  насколько я помню, всякие * wait time исчисляются в циклах процессора/шины, так что вбитые времянки округлятся. желательно посмотреть в моделсиме или в сигнал-тапе и свериться с даташитом. Цитата нужно максимальное быстродействие. а конкретнее - максимальная тактовая или минимальная латентность? они как бы противоречат друг другу
|
|
|
|
|
Jan 26 2012, 07:52
|
Участник

Группа: Свой
Сообщений: 59
Регистрация: 9-06-05
Из: Киев
Пользователь №: 5 857

|
Не совсем понял, как времянки округлятся? в настройках tristate контроллера есть параметр Timing units = cycles. Тактовая частота 50 Мгц. Память синхронная, тактируется той же частотой, что и процессор, только со сдвижкой. Вообще-то именно с времянкой сигналов на шине всё в порядке, проверял и по даташиту, и на практике. Проблема в том что при правильных (как мне кажется) установках tristate контроллера зависает ниос.
По поводу быстродействия. Насколько я понимаю, максимально возможную скорость чтения данных из данного типа SSRAM (при правильных установках) можно сделать равной тактовой частоте (в данном случае 50 МГц, в идеале хотелось бы 200) При этом Read latency равно 3, то есть данные на выходе SSRAM появляются через 3 такта. И альтеровский авалон это правильно интерпретирует во внутреннюю шину. Что касается записи, то авалон вроде бы не поддерживает латентность, соответственно, в установках нет такого параметра как Write latency. Зато есть параметр Data hold time, что позволяет растянуть цикл записи до нужного числа тактов, в данном случае 2. Поэтому максимальная скорость записи данных будет в три раза меньше тактовой. Конечно всё это имеет смысл при потоковом чтении/записи данных.
|
|
|
|
|
Jan 27 2012, 10:05
|
Участник

Группа: Свой
Сообщений: 59
Регистрация: 9-06-05
Из: Киев
Пользователь №: 5 857

|
Цитата(vadimuzzz @ Jan 27 2012, 09:08)  раньше там был вариант и с наносекундами. скорее всего проблема среди 3-х нулей в первых показанных параметрах. Так там и сейчас можно перейти на наносекунды. Но надо в клоках  А насчёт нулей - не знаю, а чем плохо? В документации на авалон ничего об этом не сказано. Я всё-таки предполагаю что проблема где-то на уровне Quarus - Nios EDS. Вот, например, в этом же проекте была проблема с DDR3 (ошибка калибровки). Так вот решается она если перед перекомпиляцией удалить все файлы из папки DB рабочего проекта. Может и здесь что-то подобное. Но не исключено что и руки немного кривые
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|