Little_boo 0 25 октября, 2006 Опубликовано 25 октября, 2006 · Жалоба Спасибо большое, Rob! Проблема решилась, когда ручками оптимизировал конструкцию. Проблема была в С манере программирования - код был написан в расчете на увеличение функциональности, и в 17 разрядном регистре использовались старшие и младшие биты,а середина осталась неиспользованной. Кстати насчет версии core ето не факт, экспериментировал и с более старыми корами -результат тот же. После решения етой проблемы, возникли еще 2: во первых, некорректное построение post-fit модели. Т.е. функционально модель (я это подозреваю) верна, а вот в алдеке выглядит так же, как после неудачной оптимизации. Поясню. Тот самый злосчастный регистр содержит в себе 16 бит данных и бит статуса (сервисный пакет или данные). В пост фит модели на вход 17 разрядов FIFO приходит 16 разрядная шина ! Тем не менее с выхода идут данные, в которых бит сервиса установлен корректно, в соответствии с алгоритмом работы приемника, т.е 17 бит. вторая проблема гораздо серьезнее. То ли, я некорректно управляю коркой, то ли проблема в софте (хотя ISE у меня лицензионный, а синтезаторы я перепробовал все - Simplify 8.5, XST, Precision, Leonardo) но фифо зажевывает последнее слово. Вопщем описал я етот глюк подробно и приложил диаграмму тут: http://electronix.ru/forum/index.php?showtopic=22476&hl= буду благодарен за совет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Little_boo 0 26 октября, 2006 Опубликовано 26 октября, 2006 · Жалоба спасибо всем за поддержку, решил проблему сам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IUser 0 21 февраля, 2007 Опубликовано 21 февраля, 2007 · Жалоба Что делает операция rising_edge(write_to_fifo1) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tocha 0 21 февраля, 2007 Опубликовано 21 февраля, 2007 · Жалоба Что делает операция rising_edge(write_to_fifo1) выделяет фронт сигнала write_to_fifo1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AJIEKCEu 0 21 февраля, 2007 Опубликовано 21 февраля, 2007 · Жалоба То ж не операция а условие! if rising_edge(write_to_fifo1) then Дословно это означает примерно следуещее: передний (возрастаещему = перевод rising) фронт Выражение rising_edge(write_to_fifo1) будет принимать значение true если вход в процесс произошел по событию смены значения сигнала write_to_fifo1 с '0' на '1'. (смотри список чувствительности). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться