Перейти к содержанию
    

Увязывание автомата состояний с папятью и умножителями

Уважаемые, есть автомат состояний, в котором в одном из состояний инкрементируется адрес блочной памяти, здесь же задержанное на такт значение из памяти умножается на другое значение, стоит регистр, т. е. задержка на два такта, и опять умножение -еще такт. К переходу на следующее состояние не все значения успевают просуммироваться, да и в начале 3 такта суммируется белеберда. Подскажите, как это все увязать, сча сделал счетчик, которы управляет суммированием, но это через одно место...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемые, есть автомат состояний, в котором в одном из состояний инкрементируется адрес блочной памяти, здесь же задержанное на такт значение из памяти умножается на другое значение, стоит регистр, т. е. задержка на два такта, и опять умножение -еще такт. К переходу на следующее состояние не все значения успевают просуммироваться, да и в начале 3 такта суммируется белеберда. Подскажите, как это все увязать, сча сделал счетчик, которы управляет суммированием, но это через одно место...

 

могу предложить у меня на сайте, в статьях - "Краткий Курс HDL", раздел про автоматы...

Удачи!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

какие частоты? плис? память? Если меньше 10мгц и современная плис то скорее всего проблемы с организацией, скорее всего банальная описка или ляп в исходниках. Или асинхронный дизайн явно или не явно. Данные откуда берутся и управляющие сигналы? из вне или внутри? Они защёлкиваются по тактовой или нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дело не в частотах и памяти. Вопрос системный - как увязать задержку в памяти на n тактов, плюс обработку отсчета на нескольких регистрах (в первом посте 3 такта задержка на отсчет) и переходы автомата состояния. Вопрос как раз и есть в организации: делать два автомата раздельно для шины адреса и накопления результатов обработки отсчетов или как по другому...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дело не в частотах и памяти. Вопрос системный - как увязать задержку в памяти на n тактов, плюс обработку отсчета на нескольких регистрах (в первом посте 3 такта задержка на отсчет) и переходы автомата состояния. Вопрос как раз и есть в организации:

Добавить задержку в 3 такта туда, где данные (или адрес) идут с опережением. Пути данных надо выравнивать :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задержка то задержкой. А как потом автомат состояний в следующее состояние переводить? Тоже задерживать? Вводить новое состояние? Может нужно делать два автомата? Раздельно для адреса и данных?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделать конвейер на столько тактов, чтобы всё успевало перемножиться и сложиться. Сделать один автомат на все эти состояния.

Непонятно, если "не все значения успевают просуммироваться", то почему "дело не в частотах"?

 

А еще - память бывает двухпортовая.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 ViKo

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

Не все значения успевают просуммироваться из-за того, что автомат переходит в следующее состояние, где они, допустим, делятся на другое число...

Выходит надо делать автомат с промежуточными состояниями, на которых делать задержку в n-тактов. (Прочиталось из памяти, перемножилось, перемножилось, просуммировалось)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выходит надо делать автомат с промежуточными состояниями, на которых делать задержку в n-тактов. (Прочиталось из памяти, перемножилось, перемножилось, просуммировалось)?

ну а почему собственно и нет ? вы видите другой возможный вариант с точки зрения логики здравого смысла ? :biggrin:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выходит надо делать автомат с промежуточными состояниями, на которых делать задержку в n-тактов. (Прочиталось из памяти, перемножилось, перемножилось, просуммировалось)?

 

Написал же вам, где смотреть...

В дополнительных блоках применяете по два сигнала - Старт и Финиш. В начале операции ваш автомат дает Старт и ждет Финиш...

Читайте, я же все в статьях подробно расписал... Давно бы уже все вычитали и не морочали людям голову...

Удачи!

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый iosifk. Я приветствую любую работу, но не под таким соусом. На Вашем сайте (www.iosifk.narod.ru) в указанном разделе предлагается купить диск. Если я правильно понял, разработанный в 2008 году...

Я не для посылок делал эту тему...

Извините за флуд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если я правильно понял, разработанный в 2008 году...

Я не для посылок делал эту тему...

 

Написал же Вам - в статьях... Не хотите диск - скачивайте статьи и читайте на здоровье... А от того, что я 2008 году написан текст и примеры - ну так что -же в этом страшного?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...