darkniisiis 0 15 марта, 2007 Опубликовано 15 марта, 2007 · Жалоба Вот для проекта мне необходимо использовать блочную память. Под задание подходит готовый компонент ISE RAMB4_S16. Пробовал смоделировать её с помощью модельсима,но что то не пойму логику её работы, не могу получить вектор на выходе,всегда нули.Управляющие сигналы: RST-сброс ЕN-разрешение работы CLK-сигналы синхронизации WE-разрешение записи ADDR-вход адреса DI-вход данных DO-выход Подскажите пожалуста как она работает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
irum4 0 15 марта, 2007 Опубликовано 15 марта, 2007 · Жалоба Читай файл документации lib.pdf (стр.~1301) об RAMB4_Sn. Там все понятно написано. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
darkniisiis 0 15 марта, 2007 Опубликовано 15 марта, 2007 · Жалоба нет,это всё понятно,тут без вопросов. Проблема в том что при таком раскладе на выходе всё равно 0. Вроде всё делаю правильно,сигналы подаю правильно,но толка нет. Можно ли в модельсиме посмотреть внутреннее состояние памяти? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
denisys 0 15 марта, 2007 Опубликовано 15 марта, 2007 · Жалоба Можно ли в модельсиме посмотреть внутреннее состояние памяти? Содержимое памяти в моделсиме можно посмотреть с помощью окна Workspace и его закладки Memories выбрав соответствующий инстанс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
darkniisiis 0 16 марта, 2007 Опубликовано 16 марта, 2007 · Жалоба Может быть есть какие-нибудь нюансы при моделировании памяти? Подскажите пожалуйста. Делаю м модельсиме post-translate симуляцию.Такое впечатление что память вообще не воспринимает подаваемые мной сигналы, смотрю по закладке Memories,её содержимое не меняется. Сигналы подаю правильно.В чём может быть проблема? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
denisys 0 17 марта, 2007 Опубликовано 17 марта, 2007 (изменено) · Жалоба Может быть есть какие-нибудь нюансы при моделировании памяти? Подскажите пожалуйста. Делаю м модельсиме post-translate симуляцию.Такое впечатление что память вообще не воспринимает подаваемые мной сигналы, смотрю по закладке Memories,её содержимое не меняется. Сигналы подаю правильно.В чём может быть проблема? Вы используете библиотечный компонент RAMB4_S16, который описывает память так как это необходимо для моделирования, и этот компонент замечательно работает. Поэтому, следует обратить внимание именно на управляющие сигналы, которые Вы направляете на этот компонент. Кстати, как ведет себя Ваша схема при функциональном моделировании? Проблемы в post-translate симуляции могут быть следствием неверного (с точки зрения синтеза) кода... Изменено 17 марта, 2007 пользователем denisys Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
darkniisiis 0 19 марта, 2007 Опубликовано 19 марта, 2007 (изменено) · Жалоба пробую моделировать чисто библиотечный компонент без каких либо своих включений приведу пример сигналов,может я действительно в чём-то ошибаюсь,проверьте пожалуйста(для примера возьмём 2-х разрядные адрес и данные) 0011001100110011001100 clk 1111111111000000000000 we 1111111111111111111111 en 0001001000100001000000 addr 0001001000000000000000 di 0000000000000000000000 do Изменено 19 марта, 2007 пользователем darkniisiis Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSV 0 19 марта, 2007 Опубликовано 19 марта, 2007 · Жалоба Все правильно, Вы писали только по 0 адресу и только 0. Адрес и данные должны иметь нужное значение на момент прихода фронта, т.е. на предыдущем такте - так же как и с D-триггером. Надо так: 00110011 clk 11111111 we 11111111 en 00001100 addr 11001100 di По адресам 0 и 1 запишутся 1. Когда данные на выходе появятся - смотреть по документации (на память не помню). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
darkniisiis 0 19 марта, 2007 Опубликовано 19 марта, 2007 · Жалоба что то ничего не помогает. Может быть кто-нибудь даст ссылочку на необходимую документацию? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 19 марта, 2007 Опубликовано 19 марта, 2007 · Жалоба что то ничего не помогает. Мне эти "временные диаграммы" (00110011) абсолютно непонятны. Вы можете сделать скриншот окна wave симулятора и опубликовать здесь? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
darkniisiis 0 19 марта, 2007 Опубликовано 19 марта, 2007 · Жалоба xlxn_1 - we xlxn_2 - en xlxn_3 - rst xlxn_4 - clk xlxn_5 - addr xlxn_6 - DI xlxn_7 - DO Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 19 марта, 2007 Опубликовано 19 марта, 2007 · Жалоба xlxn_4 - clk Если это самое начало симуляции, т. е. левее того, что на рисунке, ничего нет, то мне все понятно. У Xilinx есть забавный баг, которому уже не один год. Заключается он в том, что модель памяти (может, еще какой-то компонент тоже -- не знаю, но на грабли с памятью коллеги наступали несколько раз) не работает, если память использует восходящий фронт тактового сигнала, а в момент начала симуляции оный тактовый сигнал устанавливается в '1'. Измените генератор тактового сигнала, чтобы он начинал генерацию с '0'. Кстати, интересный момент. Попробуйте провести эксперимент: сигналы оставьте как есть, а у памяти измените активный фронт клока. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
darkniisiis 0 20 марта, 2007 Опубликовано 20 марта, 2007 · Жалоба Попробовал изменить ночало такта,не помогло Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BSV 0 20 марта, 2007 Опубликовано 20 марта, 2007 · Жалоба Идиотский вопрос - а библиотеки-то подключены (UNISIM)? Внимательно смотрите на Warning'и в Transcript'е. Может тестбенч выложите? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 20 марта, 2007 Опубликовано 20 марта, 2007 · Жалоба Попробовал изменить ночало такта,не помогло Почему имена сигналов съехали? Если отвлечься от имен, сигналы на новой картинке расположены в том же порядке, что и на первой? Если да, то все правильно. Enable в нуле -- писаться ничего не будет, Reset в '1' -- на выходе нули. Вы как будто нарочно делаете все для того, чтобы помочь вам с решением проблемы было как можно сложнее. Как известно, правильно заданный вопрос содержит половину ответа. Если бы вы предоставили максимум информации сразу, а не то, что в первом посте ("я делаю, а у меня не получается" -- поди догадайся, что вы там делаете), то, весьма вероятно, получили бы ответ сразу. Блочная память -- девайс простой, и если она не работает, то по какой-то очень простой причине. Настойчиво вам советую прислушаться к просьбе коллеги BSV показать тестбенч. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться