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

Создание линий задержек в ALTERA MAX+Plus II

Начал осваивать ПЛИС. Из доступных оказались ALTERA EPM7032(64). Откопал на дисках версию 9.4, и пользуюсь пока ей. Языки программирования для ПЛМ еще не освоил, но наваял схему в графическом редакторе. Вроде разобрался с симулятором. Но вот проблема, не могу скоструировать удвоитель частоты на элементах XOR во вложенной схеме. Наверное компилятор оптимизирует лишние винтели и, при подаче на "input" последовательности импульсов на выходе "output" только лог. "0". а по идее должны быть импульсы с частотой, в два раза большей чем на "input" и длительностью, равной сумме задержек на трех первых элементах XOR. Есть какие нибудь способы решить проблему?

post-3659-1139845477_thumb.jpg

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


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

Подсказали коллеги на телесистемах, оказывается вместо трех первых XORов надо поставить одну LCEL, и компилятор ее не оптимизирует.

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


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

Подсказали коллеги на телесистемах, оказывается вместо трех первых XORов надо поставить одну LCEL, и компилятор ее не оптимизирует.

 

Если не сложно, кинте ссылочку, где вам это объяснили.

А вообще если я правильно понял, то вы пытаетесь за счет задержек элементов получить результат?

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

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


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

Если не сложно, кинте ссылочку, где вам это объяснили.

 

http://www.telesys.ru/ в разделе электроники

 

А вот в тему еще файл прикладываю - аплоад/докс. Продвинутый путеводитель по Max+2. Информация старовата (2001 год), но разписано все дельно. Надеюсь кому-нибудь пригодится.

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


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

http://www.telesys.ru/ в разделе электроники

 

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

Изменено пользователем KykyryzzZ

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


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

Начал осваивать ПЛИС. Из доступных оказались ALTERA EPM7032(64). ... Есть какие нибудь способы решить проблему?

 

Вопрос начинающему: зачем Вам удвоение частоты?

Принцип работы ПЛИС состоит в том, что должны выполняться как минимум 2 правила:

1. Проекты должны быть выполнены как синхронные.

2. "Патронов не жалеть".

 

Поэтому попробуйте найти тактовую частоту и под нее все засинхронизировать.

Или, если хочется привязаться к внешней частоте, то синхронизируйтесь под передний или под задний ее фронты.

Найдите книгу Антонова по МаксПлюсу или Комолова по Квартусу.

Удачи!

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


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

Начал осваивать ПЛИС. Из доступных оказались ALTERA EPM7032(64). ... Есть какие нибудь способы решить проблему?

 

Вопрос начинающему: зачем Вам удвоение частоты?

Принцип работы ПЛИС состоит в том, что должны выполняться как минимум 2 правила:

1. Проекты должны быть выполнены как синхронные.

2. "Патронов не жалеть".

 

Поэтому попробуйте найти тактовую частоту и под нее все засинхронизировать.

Или, если хочется привязаться к внешней частоте, то синхронизируйтесь под передний или под задний ее фронты.

Найдите книгу Антонова по МаксПлюсу или Комолова по Квартусу.

Удачи!

 

В данный момент я хочу получить 40 МГц внутри ПЛИС из 20. В последствии, может быть, я захочу получить 100 МГц из 50. Что для этого лучше - городить внешний генератор на 100 МГц, или все устроить внутри чипа, и оградить себя от кучи проблем по настройке схемы и разводке PCB?

 

На счет принципов - я говорил, что начал осваивать ПЛИС а не цифровую схемотехнику

 

 

 

Подсказали коллеги на телесистемах, оказывается вместо трех первых XORов надо поставить одну LCEL, и компилятор ее не оптимизирует.

 

Если не сложно, кинте ссылочку, где вам это объяснили.

А вообще если я правильно понял, то вы пытаетесь за счет задержек элементов получить результат?

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

 

Поищите с ключевым словом "prottoss". У меня не так много постов. А смысл искать? Мне сказали буквально: "поставь одну LCEL вместо трех XOR". Я поставил, все работает, еду дальше...

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


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

В данный момент я хочу получить 40 МГц внутри ПЛИС из 20. В последствии, может быть, я захочу получить 100 МГц из 50. Что для этого лучше - городить внешний генератор на 100 МГц, или все устроить внутри чипа, и оградить себя от кучи проблем по настройке схемы и разводке PCB?

 

На счет принципов - я говорил, что начал осваивать ПЛИС а не цифровую схемотехнику....

 

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

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

 

..... А смысл искать? Мне сказали буквально: "поставь одну LCEL вместо трех XOR". Я поставил, все работает, еду дальше...

 

Продолжаем, "На счет принципов".

Вам написали, что получие очень нестабильные параметры. А это значит, что Ваш проект будет работать когда ОН (а не Вы) захочет. Полетят setup-hold, как Вы будете объяснять это компилятору?

А термин "все работает" - ???? это очень странный термин.

 

Я же задал вопрос - зачем нужно удваивать частоту, если нет сигнала с частотой выше чем 20 МГц?

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


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

Продолжаем, "На счет принципов".

Вам написали, что получие очень нестабильные параметры. А это значит, что Ваш проект будет работать когда ОН (а не Вы) захочет. Полетят setup-hold, как Вы будете объяснять это компилятору?

А термин "все работает" - ???? это очень странный термин.

 

Я же задал вопрос - зачем нужно удваивать частоту, если нет сигнала с частотой выше чем 20 МГц?

 

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

 

OFF: Интересно, как это ПНИ и прочее на гигагерцовых частотах работают :-)

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


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

Я делал подобную схему, только элементы задержки были в виде цепочки из 2 тригеров, которые сами себя асинхронно сбрасывали, после установки первого по фронту исходного клока. Ниче, вроде пару лет устройство в 2 экз. работает, но в цеховых условиях... На самом деле iosifk говорит верно, для LCELL задержка плавает, генератор на 20МГц или 40МГц - 1 корпус, ниче городить не надо, а проблемм может быть значительно меньше, особенно если температурный диапазон от - до +. Как вариант можно поставить FPGA с внутренним PLL.

Изменено пользователем Stas

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


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

По поводу нестабильных параметров - Вы хотите сказать что задержка в одной LCELL - это не стабильный параметр?

Именно! Заведите сигнал со входа через макроячейку на выход и посмотрите задержку. Потом понагревайте или поохлаждайте чип и еще раз посмотрите, как меняется задержка. Будете удивлены.

 

Температура не единственный фактор. Еще влияет напряжение питания и имеются разбросы от партии к партии. Крайне не рекомендуется так делать на ПЛИС, о чем Вам и толкуют. Зря спорите.

 

OFF: Интересно, как это ПНИ и прочее на гигагерцовых частотах работают :-)

Они не на ПЛИС сделаны.

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


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

[ name=dxp' date='Feb 14 2006, 20:28' post='87156]
[ name=prottoss' post='87149' date='Feb 14 2006, 19:11]

По поводу нестабильных параметров - Вы хотите сказать что задержка в одной LCELL - это не стабильный параметр?

Именно! Заведите сигнал со входа через макроячейку на выход и посмотрите задержку. Потом понагревайте или поохлаждайте чип и еще раз посмотрите, как меняется задержка. Будете удивлены.

 

Температура не единственный фактор. Еще влияет напряжение питания и имеются разбросы от партии к партии. Крайне не рекомендуется так делать на ПЛИС, о чем Вам и толкуют. Зря спорите.

 

Но тогда я не смогу предсказать временнОе поведение всей схемы, прошитой в ПЛИС, так получается? То есть я не могу точно (в требуемых мне пределах) предсказать время прохождения сигнала от входа ПЛИС до выхода? Я не имею ввиду, пока питание, а только термостабильность. Опять же говорю, что у всех логических схем, которые я знаю, в даташитах указаны нормируемые тайминги в определенном диапазоне температур

 

[ name=prottoss' post='87149' date='Feb 14 2006, 19:11]

OFF: Интересно, как это ПНИ и прочее на гигагерцовых частотах работают :-)

Они не на ПЛИС сделаны.

 

Но они сделаны на вентилях, у которых есть временнЫе параметры.

 

2DXP & iosifk

 

А как вы прокомментируете в даташите на ALTERA MAX 7000 параметры о рекомендуемой температуре, и в таблицах с таймингами параметры MAX и MIN? От чего зависит MAX и MIN? Я думаю что от совокупности изменения некоторых внешних относительно ПЛИС параметров, включая и диапазон изменения рекомендуемых температур

Изменено пользователем prottoss

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


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

Я делал подобную схему, только элементы задержки были в виде цепочки из 2 тригеров, которые сами себя асинхронно сбрасывали, после установки первого по фронту исходного клока. Ниче, вроде пару лет устройство в 2 экз. работает, но в цеховых условиях... На самом деле iosifk говорит верно, для LCELL задержка плавает, генератор на 20МГц или 40МГц - 1 корпус, ниче городить не надо, а проблемм может быть значительно меньше, особенно если температурный диапазон от - до +. Как вариант можно поставить FPGA с внутренним PLL.

 

То бишь на одном корпусе 74 серии это реализовать проще и лучше? То есть, я понимаю так, что ПЛИС не очень термостабильные устройства. И что у простой серии, допустим 74АС, температурные показатели на порядок выше нежели у ПЛИС, предназначенных в первую очередь для того чтобы объеденить всю рассыпуху в одном компактном корпусе?

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


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

Да не на 74, а поставить генератор на 40МГц, железный такой, DIP14(8).

На счет вменнОго поведения, сказано же, схема должна быть по возможности СИНХРОННОЙ, все триггера переключаются одновременно в т.ч. и те, что на выходе.

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


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

Как-то мельком в теме прошло упоминание внутрикристальных блоков PLL. А ведь умножение частоты рекомендовано делать именно с их помощью.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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