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

 
 
> Использование BRAM16 в V4(+), кто неправ симплифай или дока (+)
des00
сообщение Oct 5 2005, 06:52
Сообщение #1


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Добрый день!
Решил использовать BRAM16 у V4, именно в общем виде (так сказать академический интерес).
В доке(ug070.pdf, стр 121) указанно что
Код
Unused Inputs
Unused Data and/or address inputs should be connected to logic “1”.

что насколько я понимаю являеться желаемой рекомендацией,
Пишу память в общем виде на ВХДЛ, описываю констрейны и --- симплифай поступает с точностью до наоборот, он падает на неиспользуемые входы лог. 0.

Так кто же прав ? smile.gif

И еще вопрос у кого нибудь симулируеться модель RAMB16 в Aldec?
у меня она работать отказываеться sad.gif в режиме двухпортовки записываю последовательность по адресам. а при чтении по адресам тупо держиться последее записанное число.
компонент описан как
Код
ram0 : ramb16_s36_s36
    port map(
 DOA  => read_data_lsb32,
 DOB  => open, -- no read
 DOPA  => read_data_msb4,
 DOPB  => open, -- no read
 ADDRA  => rd_addr,
 ADDRB  => wr_addr,
 CLKA  => in_clock,
 CLKB  => in_clock,
 DIA  => (others => '1'), -- no write
 DIB  => write_data_lsb32,
 DIPA  => (others => '1'), -- no write
 DIPB  => write_data_msb4,
 ENA  => in_rd_ctrl.rd_req,
 ENB  => '1', -- write_port always enable
 SSRA  => ram_reset,
 SSRB  => ram_reset,
 WEA  => '0',
 WEB  => wr_req
    );

Заранее спасибо!


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
v_mirgorodsky
сообщение Oct 5 2005, 09:31
Сообщение #2


Местный
***

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



На сколько я знаю, неиспользуемые выводы необходимо подтягивать к неактивному логическому уровню сигнала. Для Virtex4 BRAM16 активным уровнем является логическая единица, потому синплифай с этой точки совершенно прав подтягивая неиспользуемые выводы к логическому нулю smile.gif

Ставили в одном из промежуточных вариантов схемы блок RAMB16 когда хотели сделать ширину порта записи 16 бит, а ширину порта чтения 8 бит. В Альдеке симулировалась без каких либо проблем. В финальном варианте отказались от установки RAMB16, т.к. не хотелось жестко подвязывать блок именно к Xilinx Virtex4.

Сейчас нет под рукой даташита, потому сразу сказать в чем ошибка в описании не могу. Судя из описания проблемы, похоже на то, что запрещено обновление выходного регистра памяти.


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 5 2005, 11:20
Сообщение #3


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(v_mirgorodsky @ Oct 5 2005, 04:31)
На сколько я знаю, неиспользуемые выводы необходимо подтягивать к неактивному логическому уровню сигнала. Для Virtex4 BRAM16 активным уровнем является логическая единица, потому синплифай с этой точки совершенно прав подтягивая неиспользуемые выводы к логическому нулю smile.gif

Сейчас нет под рукой даташита, потому сразу сказать в чем ошибка в описании не могу. Судя из описания проблемы, похоже на то, что запрещено обновление выходного регистра памяти.


хммм что вы еще больше меня запутали smile.gif
у симплифай подает на неиспользуемые выходы данных и адресса (именно данных и адресса) сигналы '0', что по логике вещей являеться пассивным уровнем.
А по документации рекомендуют падавать лог. 1. Что являеться активным уровнем.

С управляющими входами все в порядке.

ЗЫ я привел не тот код, на память
вот тот что у меня
Код
  ram0 : ramb16
    generic map(
 READ_WIDTH_A => READ_WIDTH_A,
 READ_WIDTH_B => READ_WIDTH_B,
 WRITE_WIDTH_A => WRITE_WIDTH_A,
 WRITE_WIDTH_B => WRITE_WIDTH_B
    )
    port map(
 CASCADEOUTA => open,
 CASCADEOUTB => open,
 DOA  => read_data_lsb32,
 DOB  => open, -- no read
 DOPA  => read_data_msb4,
 DOPB  => open, -- no read
 ADDRA  => rd_addr,
 ADDRB  => wr_addr,
 CASCADEINA => '0',
 CASCADEINB => '0',
 CLKA  => in_clock,
 CLKB  => in_clock,
 DIA  => (others => '1'), -- no write
 DIB  => write_data_lsb32,
 DIPA  => (others => '1'), -- no write
 DIPB  => write_data_msb4,
 ENA  => '1', --in_rd_ctrl.rd_req,
 ENB  => '1', -- write_port always enable
 REGCEA  => '0', -- no paste output reg
 REGCEB  => '0',
 SSRA  => ram_reset,
 SSRB  => ram_reset,
 WEA  => "0000",
 WEB  => wr_req
    );

остальные generic по дефолту (выходной регистр отключен).
причем если подцепить на выход шину данных с порта записи, то во время записи все правильно(данные на выходе есть, режим READ_FIRST_MODE), а во время чтения те же проблемы sad.gif


--------------------
Go to the top of the page
 
+Quote Post
Elresearch
сообщение Oct 5 2005, 11:29
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 214
Регистрация: 29-12-04
Пользователь №: 1 730



А что говорит по этому поводу FPGA Editor после P&R?
У меня в Spartan3 подвязывал к 1 и все работало как надо.
Go to the top of the page
 
+Quote Post
v_mirgorodsky
сообщение Oct 7 2005, 08:20
Сообщение #5


Местный
***

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



В принципе, необходимо понимать принципы работы забугорного суппорта. Они просто тестировали память в такой конфигурации, она у них работала, так они и написали в даташите. Это не значит, что память не будет работать в другом варианте подключения, просто они должны написать нечто определенное в даташите, иначе к ним будут приходить идиотские письма от юзеров с вопросами а что же делать с неиспользуемыми пинами smile.gif

К сожалению, по существу вопроса ничего подсказать не могу sad.gif По коду все выглядит правильно cranky.gif К сожалению, времени повторить ваш експеримент сейчас нету, потому ничего больше сказать пока не могу.


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 10 2005, 04:48
Сообщение #6


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Понятно, спасибо, как будет время проверю в железе smile.gif (пока не до этого)


--------------------
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 15:32
Рейтинг@Mail.ru


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