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

Задержка элементами И в Quartus

Здравствуйте, вот если в квартусе в графике рисую для MAX7000s, например, задержку из 3-х элементов И, то он при компиляции их убирает к чертям. В RTL Viewer от них токмо остается жалкий проводок. Как сделать, чтобы они остались? пусть хоть 3 макроячеейки на это гробит. Спасибо

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


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

Здравствуйте, вот если в квартусе в графике рисую для MAX7000s, например, задержку из 3-х элементов И, то он при компиляции их убирает к чертям. В RTL Viewer от них токмо остается жалкий проводок. Как сделать, чтобы они остались? пусть хоть 3 макроячеейки на это гробит. Спасибо

 

1. Завязывайте с графическим вводом - добром это не кончится.

2. Задайте грамотно входные/выходные задержки.

3. Можно покопать документацию на предмет: synthesis keep. Но лучше задать задержки ;)

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


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

... например, задержку из 3-х элементов И, то он при компиляции их убирает к чертям. В RTL Viewer от них токмо остается жалкий проводок. Как сделать, чтобы они остались? пусть хоть 3 макроячеейки на это гробит. Спасибо

На родном языке такая техника разработки называется "хуже не придумаешь"... От партии к партии, при нагреве, при уходе питания все поползет невероятно. А через полгода Альтера, вернее ее фаундари, что-то изменит в технологии изготовления и кранты...

Убирайте все асинхронные задержки, вводите стробирование от тактовой и проблемы исчезнут сами по себе...

А уж то, что от картинок надо переходить к HDL-языкам, так это - без вариантов тоже...

подробнее - статьи у меня на сайте...

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


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

Да, я понимаю и постараюсь применить ваши советы к будущим проектам. Но с этим уж ничего не поделаешь. Пока я просто воспользовался атрибутом keep synthesis в vhdl, чтобы сформировать короткий импульс по фронту. Большое спасибо.

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


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

. Пока я просто воспользовался атрибутом keep synthesis в vhdl, чтобы сформировать короткий импульс по фронту.

У Вас тактовая есть? Так сделайте "счетчик до 1"... По импульсу его взводите, по следующему - сбрасывайте и проблем не будет... 3 состояния: сброс, 1 и 0 требуют 2 триггера... Хоть счетчик, хоть автомат... Вот и вся хитрость...

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


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

Да, я думал так сделать, но решил сделать импульс короче. Тактовая частота есть и она небольшая. Этот импульс нужен для альтернативного глобальному сброса автомата, мне желательно, чтобы после сброса автомат минимальое время находился в нач. сост. Вот так как-то. Если что-то не пойдет, то тогда, конечно, сделаю по-вашему.

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


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

Здравствуйте, вот если в квартусе в графике рисую для MAX7000s, например, задержку из 3-х элементов И, то он при компиляции их убирает к чертям. В RTL Viewer от них токмо остается жалкий проводок. Как сделать, чтобы они остались? пусть хоть 3 макроячеейки на это гробит. Спасибо

 

Это конечно - жесть.

И лучше так не делать. Если хочется экспериментировать - поищите примитив LCELL.

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


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

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

Тогда задам следующий вопрос: к этой ПЛИС подключается снаружи какой нибудь микроконтроллер? В ней есть регисты управления. Выделите один бит из этого регистра и заведите его на этот "сброс автомата". Тогда при любом "зависании" можно будет перезапустить автомат. И при этом не будет нужен общий сброс...

 

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


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

про регистры управления я не в курсе, не пнете в нужном направлении? как-то: где почитать.

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


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

про регистры управления я не в курсе, не пнете в нужном направлении? как-то: где почитать.

Речь идет о том, что Вы сами делаете в ПЛИС регистры, которыми управляете от внешенего микроконтроллера... Ведь обычно ПЛИС не бывает "сама по себе", наверняка на плате есть какой-нибудь микроконтроллер...

 

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


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

Чередуйте с ячейками LCELL, не забыв установить в свойствах компилятора неудаление этих примитивов.

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

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


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

Здравствуйте, вот если в квартусе в графике рисую для MAX7000s, например, задержку из 3-х элементов И, то он при компиляции их убирает к чертям. В RTL Viewer от них токмо остается жалкий проводок. Как сделать, чтобы они остались? пусть хоть 3 макроячеейки на это гробит. Спасибо

я бы делал на регистрах...

 

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


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

Это конечно - жесть.

И лучше так не делать. Если хочется экспериментировать - поищите примитив LCELL.

На самом деле, ко всему надо подходить с головой. Советы типа "и лучше так не делать" ничем, на самом деле, не обоснованны. В старые добрые времена, когда ещё всё собиралось на "рассыпухе" только так и делали. И всё работало! Хотя разброс параметров советской логики был такой, что современные ПЛИСины кажутся просто образцом сверхточности.

 

Так что делайте себе на здоровье, только заложите запас по задержке. А совет по поводу LCELL - верен. Только, если работаете в Квартусе (в Максе, по-моему, LCELL по умолчанию не удаляются) не забудьте поставить соотвествующую галочку в свойствах проекта. И будет вам счастье.

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


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

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

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

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

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

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

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

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

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

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