AlphaMil 0 Posted August 26, 2011 · Report post Уважаемые, есть автомат состояний, в котором в одном из состояний инкрементируется адрес блочной памяти, здесь же задержанное на такт значение из памяти умножается на другое значение, стоит регистр, т. е. задержка на два такта, и опять умножение -еще такт. К переходу на следующее состояние не все значения успевают просуммироваться, да и в начале 3 такта суммируется белеберда. Подскажите, как это все увязать, сча сделал счетчик, которы управляет суммированием, но это через одно место... Quote Ответить с цитированием Share this post Link to post Share on other sites
iosifk 0 Posted August 26, 2011 · Report post Уважаемые, есть автомат состояний, в котором в одном из состояний инкрементируется адрес блочной памяти, здесь же задержанное на такт значение из памяти умножается на другое значение, стоит регистр, т. е. задержка на два такта, и опять умножение -еще такт. К переходу на следующее состояние не все значения успевают просуммироваться, да и в начале 3 такта суммируется белеберда. Подскажите, как это все увязать, сча сделал счетчик, которы управляет суммированием, но это через одно место... могу предложить у меня на сайте, в статьях - "Краткий Курс HDL", раздел про автоматы... Удачи! Quote Ответить с цитированием Share this post Link to post Share on other sites
xvr 0 Posted August 26, 2011 · Report post Ищите в гугле по ключевому слову pipeline Quote Ответить с цитированием Share this post Link to post Share on other sites
porty 0 Posted August 26, 2011 · Report post какие частоты? плис? память? Если меньше 10мгц и современная плис то скорее всего проблемы с организацией, скорее всего банальная описка или ляп в исходниках. Или асинхронный дизайн явно или не явно. Данные откуда берутся и управляющие сигналы? из вне или внутри? Они защёлкиваются по тактовой или нет? Quote Ответить с цитированием Share this post Link to post Share on other sites
AlphaMil 0 Posted August 26, 2011 · Report post Дело не в частотах и памяти. Вопрос системный - как увязать задержку в памяти на n тактов, плюс обработку отсчета на нескольких регистрах (в первом посте 3 такта задержка на отсчет) и переходы автомата состояния. Вопрос как раз и есть в организации: делать два автомата раздельно для шины адреса и накопления результатов обработки отсчетов или как по другому... Quote Ответить с цитированием Share this post Link to post Share on other sites
xvr 0 Posted August 26, 2011 · Report post Дело не в частотах и памяти. Вопрос системный - как увязать задержку в памяти на n тактов, плюс обработку отсчета на нескольких регистрах (в первом посте 3 такта задержка на отсчет) и переходы автомата состояния. Вопрос как раз и есть в организации: Добавить задержку в 3 такта туда, где данные (или адрес) идут с опережением. Пути данных надо выравнивать :rolleyes: Quote Ответить с цитированием Share this post Link to post Share on other sites
AlphaMil 0 Posted August 28, 2011 · Report post Задержка то задержкой. А как потом автомат состояний в следующее состояние переводить? Тоже задерживать? Вводить новое состояние? Может нужно делать два автомата? Раздельно для адреса и данных? Quote Ответить с цитированием Share this post Link to post Share on other sites
ViKo 0 Posted August 28, 2011 · Report post Сделать конвейер на столько тактов, чтобы всё успевало перемножиться и сложиться. Сделать один автомат на все эти состояния. Непонятно, если "не все значения успевают просуммироваться", то почему "дело не в частотах"? А еще - память бывает двухпортовая. Quote Ответить с цитированием Share this post Link to post Share on other sites
AlphaMil 0 Posted August 28, 2011 · Report post 2 ViKo Я как раз и использую двухпортовую память. На одной частоте данные пишутся, на другой читаются и обрабатываются. Не все значения успевают просуммироваться из-за того, что автомат переходит в следующее состояние, где они, допустим, делятся на другое число... Выходит надо делать автомат с промежуточными состояниями, на которых делать задержку в n-тактов. (Прочиталось из памяти, перемножилось, перемножилось, просуммировалось)? Quote Ответить с цитированием Share this post Link to post Share on other sites
des00 0 Posted August 29, 2011 · Report post Выходит надо делать автомат с промежуточными состояниями, на которых делать задержку в n-тактов. (Прочиталось из памяти, перемножилось, перемножилось, просуммировалось)? ну а почему собственно и нет ? вы видите другой возможный вариант с точки зрения логики здравого смысла ? Quote Ответить с цитированием Share this post Link to post Share on other sites
iosifk 0 Posted August 29, 2011 · Report post Выходит надо делать автомат с промежуточными состояниями, на которых делать задержку в n-тактов. (Прочиталось из памяти, перемножилось, перемножилось, просуммировалось)? Написал же вам, где смотреть... В дополнительных блоках применяете по два сигнала - Старт и Финиш. В начале операции ваш автомат дает Старт и ждет Финиш... Читайте, я же все в статьях подробно расписал... Давно бы уже все вычитали и не морочали людям голову... Удачи! Quote Ответить с цитированием Share this post Link to post Share on other sites
AlphaMil 0 Posted August 29, 2011 · Report post Уважаемый iosifk. Я приветствую любую работу, но не под таким соусом. На Вашем сайте (www.iosifk.narod.ru) в указанном разделе предлагается купить диск. Если я правильно понял, разработанный в 2008 году... Я не для посылок делал эту тему... Извините за флуд. Quote Ответить с цитированием Share this post Link to post Share on other sites
iosifk 0 Posted August 29, 2011 · Report post Если я правильно понял, разработанный в 2008 году... Я не для посылок делал эту тему... Написал же Вам - в статьях... Не хотите диск - скачивайте статьи и читайте на здоровье... А от того, что я 2008 году написан текст и примеры - ну так что -же в этом страшного? Quote Ответить с цитированием Share this post Link to post Share on other sites