Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Dual-Port Block Memory
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Aleksandr_KPI
Здравствуйте, возникла такая проблема. В проекте, с которым мне нужно разобратся, используется Dual-Port Block Memory. При подаче питания, в эту память загружаются коды. Через порт А. А потом в зависимости от адреса на порту B, считываются. То есть порт А настроен на запись, а порт B на чтение. Проблема в том что мне не удается смоделировать работу чтения и записи в эту память. Подскажите что я не так далаю.

Джеймс
Вы хоть скажите, для какого это семейства ПЛИС и в чем моделируете...
P.S. Почему clock прерывается? почему WE постоянно высокий? и какой у него вообще активный уровень? почему адреса чтения не повторяют адреса записи? почему наконец данные для записи не меняются (все время 01)?
Aleksandr_KPI
Цитата
Вы хоть скажите, для какого это семейства ПЛИС и в чем моделируете...

Для ПЛИС семейства Virtex V50PQ240 нужно смоделировать в Xilinx Foundation 4.1

Цитата
Почему clock прерывается?

Это один из вариантов, который тоже не заработал. Сначала по перепадам на входе CLKA по адресам 1C8, 112, 1D0 заносятся данные 01. потом по перепадам на входе CLKB из адресов 112 и 1С8 пытаюсь считать значение 01.

Цитата
почему WE постоянно высокий?

Так в описании указано.
Цитата
The data on the DIN port is written into the memory location selected by the address on the active edge of the clock when WE is active


Цитата
и какой у него вообще активный уровень

Активный уровень единица.

Цитата
почему адреса чтения не повторяют адреса записи?

Повторяются адреса 112 и 1С8.

Цитата
почему наконец данные для записи не меняются (все время 01)

Я всего лиш хочу разобраться как это работает, получить хоть что-то на выходе. В данном случае 01.
Чиповод
А сигнал WEB у Вас есть? Или это кореген так сгененрировал память, только для чтения из порта B?
Aleksandr_KPI
Сигнала WEB нет, по порту В происходит только чтение.
Чиповод
По сигналам вроде бы все валидно. Надо бы убедится что симулятор правильно подгрузил корку памяти. Но Foundation настолько древний софт, что я не знаю кто тут что сможет подсказать, может Вам модельсимчик для симуляции взять?
Aleksandr_KPI
Попробывал сделать то же самое, но в Xilinx ISE 11. Проблема таже. Удалось посмотреть, что данные в память заносятся, но не считываются. Кто нибуть успешно использовал Ip Core Dual Port Mamory RAM?
Джеймс
Не знаю, почему не работает, но я бы вам советовал после окончания записи "уронить" WE в '0' и не прерывать clock-и.

UPD. Стоп! А почему РАЗНАЯ ширина шин адресов и данных на двух портах??
ADDRA[9:0]
ADDRB[8:0]

DIN[7:0]
DOUT[15:0]
Чиповод
Цитата(Джеймс @ Sep 22 2011, 19:31) *
UPD. Стоп! А почему РАЗНАЯ ширина шин адресов и данных на двух портах??
Ага, ну корегены и не такие чудеса могут вытворять, типа преобразование рязрядности шин.
Sergey_Bekrenyov
Недавно использовал в ISE12.2 А порты ena и enb Вы используете?
litv
Цитата(Sergey_Bekrenyov @ Oct 2 2011, 14:45) *
Недавно использовал в ISE12.2 А порты ena и enb Вы используете?

For Aleksandr_KPI specially.

Недавно мной раскопан в древнегипетской пещере софт Xilinx XACT 6.0 за 1995 год.
Помогите промоделировать блок памяти.
Да кстати схемный ввод у меня - система Viewlogic и только она.
Также напоминаю что использовать Xilinx ISE 13.2 мне запрещено по религиозным соображениям.
С нетерпением жду.... 1111493779.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.