Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблемы с MIG Spartan6
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
maxics
Учусь работать с MIG для Spartan 6. DDR 2 ГБ, x16, row 14, col 10, bank 3. Научился записывать и читать из памяти. Непонятным остается один вопрос... Адрес для обращения к памяти (29 downto 0), т.е. 30 бит. Каждая ячейка адреса содержит 1 байт. Если посчитать, то это соответствует только 1 Гб памяти. Куда делся еще 1 Гб? Помогите разобраться в этом вопросе...
Amurak
А точно каждая ячейка содержит 1 байт? х16 же, не?
maxics
Цитата(Amurak @ Oct 28 2015, 18:23) *
А точно каждая ячейка содержит 1 байт? х16 же, не?


Использую ширину порта 32 бит. Исходя из ug388: table 4-2; 4-3 видно, что каждая ячейка содержит 1 байт. Или я чего-то не так понимаю?
maxics
Что, никто с MIG не работал???
Amurak
Цитата(maxics @ Oct 28 2015, 18:32) *
Использую ширину порта 32 бит. Исходя из ug388: table 4-2; 4-3 видно, что каждая ячейка содержит 1 байт.

Не знаю, откуда вы взяли что из таблиц это видно.

Шина данных между контроллером и памятью 2 байта. Поэтому условно на каждый 30 битный адрес приходится 2 байта данных.
Andrew Su
Цитата(maxics @ Oct 29 2015, 11:01) *
Что, никто с MIG не работал???

Добрый день.
В UG388 в Features and Benefits написано:
Memory densities up to 4 Gb
В таблице Table 4-5: Memory Device Mapping
разрисовано как распределяются адреса.
Если я не ошибаюсь, то 4 Gb это не 4 Гигабайта, а 4 Гигабита
(https://ru.wikipedia.org/wiki/GB_%28%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%29)
Т.е. контроллер памяти поддерживает максимум 512Мбайт для DD3 и 256Мбайт для DDR2.
Возможно, я ошибаюсь.
maxics
Цитата(Amurak @ Oct 29 2015, 17:37) *
Не знаю, откуда вы взяли что из таблиц это видно.

Шина данных между контроллером и памятью 2 байта. Поэтому условно на каждый 30 битный адрес приходится 2 байта данных.


В таблице 4-3 показано как укладываются данные. 32 бита в адрес 0x00, следующие 32 бита в адрес 0x04 и т.д. 32/4=8. В одном адресе 8 бит! Это подтверждается экспериментом с памятью. Шина памяти между контроллером и памятью это физический уровень, а здесь контроллер с фифо, разрядность может быть другой.
Amurak
Чет меня переклинило.

Andrew Su прав. 2 Gb - это 2 гигабита. И для адресации вообще используется 28 бит.
maxics
Цитата(Amurak @ Oct 30 2015, 09:30) *
Чет меня переклинило.

Andrew Su прав. 2 Gb - это 2 гигабита. И для адресации вообще используется 28 бит.


Память MT47H128M16 – 16 Meg x 16 x 8 banks, т.е 2 Гигабайта.
Правильно-ли я понимаю, что контроллер использует только 256 Мегабайт от всей памяти? Как использовать всю память?
Amurak
Цитата(maxics @ Oct 30 2015, 09:44) *
Память MT47H128M16 – 16 Meg x 16 x 8 banks, т.е 2 Гигабайта.


16 Meg - это 16 мегабит, а не мегабайт.
maxics
Цитата(Amurak @ Oct 30 2015, 10:20) *
16 Meg - это 16 мегабит, а не мегабайт.


Мда.... действительно так(((( Спасибо, разобрался.
Andrew Su
Цитата(maxics @ Oct 30 2015, 08:44) *
Память MT47H128M16 – 16 Meg x 16 x 8 banks, т.е 2 Гигабайта.
Правильно-ли я понимаю, что контроллер использует только 256 Мегабайт от всей памяти? Как использовать всю память?


Добрый день.
Объем указанной микросхемы памяти составляет (16*1048576)*16*8 = 268435456 Байт,
где 16-разрядность шины данных, т.е. 2 Байта
8-количество банков
(16*1048576) - 16МБайт
что подтверждается данными из
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.