реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Простенький проект CPLD
Serhiy_UA
сообщение Dec 7 2010, 09:46
Сообщение #31


Знающий
****

Группа: Свой
Сообщений: 721
Регистрация: 23-10-08
Из: next to Odessa
Пользователь №: 41 112



Цитата(Allregia @ Dec 6 2010, 19:51) *
Я сократил проект до минимального, при котором это проявляется, и вот он в пркрепленном файле.
Посмотрите пожалуйста - в чем проблемы?

Может и помог бы чем, да не могу загрузить файл с проектом....
Go to the top of the page
 
+Quote Post
Allregia
сообщение Dec 7 2010, 11:40
Сообщение #32


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(Serhiy_UA @ Dec 7 2010, 11:46) *
Может и помог бы чем, да не могу загрузить файл с проектом....

Нет МАХа или какие-то проблемы с моими файлами ?
Я загружаю в МАХе ttf.gdf, делаю его текущим (Control+Shift+J), затем жму Ctrl-L (или Start в окне компилятора), открываю окно симуклятора, тоже жму Start, затем "Open SCF".
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Dec 7 2010, 11:51
Сообщение #33


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Цитата(Allregia @ Dec 7 2010, 10:55) *
Привет всем еще раз. Никто не может помочь? Я застрял sad.gif

Схема у Вас простая, но лучше бы Вы дополнили её описанием входных сигналов и требованиями к выходным:
1. Входные частоты _au и _cp примерно одного диапазона?
2. Всегда ли существуют оба сигнала частоты, один из них?
3. Сигналы управления мультиплексорами поступают синхронное с одной из входных частот?
4. Допустимо ли формировать выходные сигналы с задержкой на такт (два и т.п.) относительно входных частот?


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
sazh
сообщение Dec 7 2010, 12:36
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(Allregia @ Dec 6 2010, 19:51) *
Друзья, нужно помощь!

Все тах хорошо шло и прекрасно получалось (в симуляторе MAX+plus II) пока Device стояло на Auto.
Брало они при этом MAX7000, проект сначала влазил в 7032, потом я расширил функции в в итоге влез в 7064.

я получил кучу ворнингов симулятора типа "Found Clock high time violation at aaa us at node bbb", и глитчи на его графиках (см график i2wc - это всего -навсего выход переноса счетччика!).


Это он говорит, что Вы взяли все самое худшее от схемотехники на 74 серии.
Что касается глича, так Вы нестробированный перенос задействовали. Через триггер пропустите.
Кстати, у Вас и на макетке на 74 серии на этом переносе (если синхронный счетчик) такие же пички есть.
Go to the top of the page
 
+Quote Post
Allregia
сообщение Dec 7 2010, 12:49
Сообщение #35


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(sazh @ Dec 7 2010, 14:36) *
Это он говорит, что Вы взяли все самое худшее от схемотехники на 74 серии.
Что касается глича, так Вы нестробированный перенос задействовали. Через триггер пропустите.
Кстати, у Вас и на макетке на 74 серии на этом переносе (если синхронный счетчик) такие же пички есть.


На "макетке с 74-й серией" была совсем другая схема, я же говорил - я поменял абсолютно всю концепцию.
Через триггер - попробую, но мне все равно непонятно почему эта схема прекрасно работает в симлуяторе на МАХ7000 и не работает на МАХ3000A, МАХ700S ? Некорректности в модуле LPM_COUNTER ?

Цитата(Евгений Николаев @ Dec 7 2010, 13:51) *
Схема у Вас простая, но лучше бы Вы дополнили её описанием входных сигналов и требованиями к выходным:
1. Входные частоты _au и _cp примерно одного диапазона?


Да.

Цитата
2. Всегда ли существуют оба сигнала частоты, один из них?
3. Сигналы управления мультиплексорами поступают синхронное с одной из входных частот?


Частоты существуют всегда, сигнал управления мультьиплексором - Вы про br1,br0 ? Они вообще статические, т.е. они могут меняться, но с периодом в минуты (входные частоты - десятки МГц).

Цитата
4. Допустимо ли формировать выходные сигналы с задержкой на такт (два и т.п.) относительно входных частот?


Допустимо.
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Dec 7 2010, 14:14
Сообщение #36


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Цитата(Allregia @ Dec 7 2010, 15:49) *
Частоты существуют всегда, сигнал управления мультьиплексором - Вы про br1,br0 ? Они вообще статические, т.е. они могут меняться, но с периодом в минуты (входные частоты - десятки МГц).

А я про синхронность управляющих сигналов (br[x]) относительно частот спросил вот почему - допустим, clk_au только поднялся вверх (пикосекунды какие-то), а clk_cp, например, в это время в нуле, но приходит сигнал переключения и с мультиплексора "слетает" эдакий пичок... Тоже самое про другой мультиплексор, который между одинарной и половинчатой частотами переключает.
Если на это внимания обращать не стоит, то это одно, а если важно, то так нельзя. Да и вообще, надо привыкать, что так нельзя, потому что когда-нибудь такой пичок крепко завесит какой-нибудь автомат или ещё что будет лишний раз что-нибудь делать или не делать, причём, "по настроению" и "в зависимости от фазы луны".
Поищите информацию про перенос сигналов и тактовых импульсов из одного тактового домена в другой и ваш мультиплексор станет немного сложнее, но гораздо корректнее. Тем более, что, как Вы сами говорите, задержка допустима.
P.S. выложите скриншоты ttt и t1, не у всех есть MAX+plusII...


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
sazh
сообщение Dec 7 2010, 14:23
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(Евгений Николаев @ Dec 7 2010, 17:14) *
не у всех есть MAX+plusII...


В Квартус есть опция конвертации из МАХ+ в квартус.
Go to the top of the page
 
+Quote Post
Allregia
сообщение Dec 7 2010, 14:48
Сообщение #38


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата(Евгений Николаев @ Dec 7 2010, 16:14) *
А я про синхронность управляющих сигналов (br[x]) относительно частот спросил вот почему - допустим, clk_au только поднялся вверх (пикосекунды какие-то), а clk_cp, например, в это время в нуле, но приходит сигнал переключения и с мультиплексора "слетает" эдакий пичок... Тоже самое про другой мультиплексор, который между одинарной и половинчатой частотами переключает.
Если на это внимания обращать не стоит, то это одно, а если важно, то так нельзя. Да и вообще, надо привыкать, что так нельзя, потому что когда-нибудь такой пичок крепко завесит какой-нибудь автомат или ещё что будет лишний раз что-нибудь делать или не делать, причём, "по настроению" и "в зависимости от фазы луны".


В данном случае - безразлично, но я понял о чем Вы говорите.

Сейчас тут вопрос в другом - я ничего не переключаю, сигналы br[x] статические, оба нули.
И проблема (ворниги при симуляции и глитч) возникает не в том мультиплексора, а в 17-м счетчике, при использовании его выхода переноса (на нем глитч повялется, которго нет в MAX7000)
.
Если перенос не использовать - проблемы нет, но почему с переносом проблема есть в MAX3000 и в 7000S, а в MАX7000 нет ни единого ворнинга, ни глитча при симуляциии?

Цитата
Поищите информацию про перенос сигналов и тактовых импульсов из одного тактового домена в другой и ваш мультиплексор станет немного сложнее, но гораздо корректнее. Тем более, что, как Вы сами говорите, задержка допустима.
P.S. выложите скриншоты ttt и t1, не у всех есть MAX+plusII...


OK.
Прикрепленные файлы
Прикрепленный файл  ttt.pdf ( 38.31 килобайт ) Кол-во скачиваний: 49
 
Go to the top of the page
 
+Quote Post
sazh
сообщение Dec 7 2010, 15:12
Сообщение #39


Гуру
******

Группа: Свой
Сообщений: 2 435
Регистрация: 6-10-04
Из: Петербург
Пользователь №: 804



Цитата(Allregia @ Dec 7 2010, 17:48) *
но почему с переносом проблема есть в MAX3000 и в 7000S, а в MАX7000 нет ни единого ворнинга, ни глитча при симуляциии?


Потому что у Вас по умолчанию - временное моделирование. Есть определенные правила.
Нельзя комбинаторную логику на с вход триггеров подавать.
Добавите убавите в проекте - появится, скроется. для любого семейства.
Go to the top of the page
 
+Quote Post
dvladim
сообщение Dec 7 2010, 19:39
Сообщение #40


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(Allregia @ Dec 7 2010, 17:48) *
Сейчас тут вопрос в другом - я ничего не переключаю, сигналы br[x] статические, оба нули.
И проблема (ворниги при симуляции и глитч) возникает не в том мультиплексора, а в 17-м счетчике, при использовании его выхода переноса (на нем глитч повялется, которго нет в MAX7000)

Проект не синхронный. Основная проблема - использование выходов cout в качестве клоков для других счетчиков и триггеров. В вашем проекте 1 клок, выбираемый br1 из clock_au, clock_cp, после этого мультиплексора поставьте lcell, получившийся клок используйте для всех остальных элементов. Разрешение счета делайте через enable.

А насчет отсутствия проблемы в MAX7000 - просто повезло.
Go to the top of the page
 
+Quote Post
Allregia
сообщение Dec 7 2010, 20:08
Сообщение #41


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата
Основная проблема - использование выходов cout в качестве клоков для других счетчиков и триггеров.


Т.е. лучше использовать не выход переноса а выход старшего разряда счетчика для подачи на другие счетчики ?
В таком варианте ворнингов действительно нет и при MAX3000А.

Цитата
В вашем проекте 1 клок, выбираемый br1 из clock_au, clock_cp,


Да, все остальное к нему привязано.
Цитата
после этого мультиплексора поставьте lcell, получившийся клок используйте для всех остальных элементов. Разрешение счета делайте через enable.


Спасибо завтра попробую.

Попутно еще если можно небольшой ликбез:

1) по назначению входов/выходов на пины - их можно как угодно распределять, или есть какие-то ограничения?
2) не очень понял про отдельные пины глобальных "clock, clear, enable" и что-то еще четвертое.
На их выводы можно назначать какие-то входы/выходы?
Или они должны оставаться не занятыми?
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 7 2010, 20:37
Сообщение #42


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Allregia @ Dec 8 2010, 01:08) *
1) по назначению входов/выходов на пины - их можно как угодно распределять, или есть какие-то ограничения?
Ограничения могут накладываться дизайном схемы и требуемыми временными характеристиками. Рекомендуется вначале спроектировать дизайн и только потом назначать выводы. Особенно, если от ПЛИС требуется максимальное быстродействие.
Цитата(Allregia @ Dec 8 2010, 01:08) *
2) не очень понял про отдельные пины глобальных "clock, clear, enable" и что-то еще четвертое.
На их выводы можно назначать какие-то входы/выходы?
Или они должны оставаться не занятыми?
Можно назначать как угодно, но опять же для обеспечения максимального быстродействия рекомендуется использовать эти пины по прямому назначению, т.е. clock как глобальный тактовый сигнал, clear - как глобальный сброс и т.п. Посмотрите блочную структуру ПЛИС в даташите.
Go to the top of the page
 
+Quote Post
Allregia
сообщение Dec 7 2010, 21:56
Сообщение #43


Профессионал
*****

Группа: Свой
Сообщений: 1 047
Регистрация: 28-06-07
Из: Israel
Пользователь №: 28 763



Цитата
Рекомендуется вначале спроектировать дизайн и только потом назначать выводы.


А чем руководствоваться при назначении пинов, ну кроме желания упростить трассировку платы?
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Dec 8 2010, 06:35
Сообщение #44


Знающий
****

Группа: Свой
Сообщений: 597
Регистрация: 24-05-06
Из: г. Чебоксары
Пользователь №: 17 402



Цитата(Allregia @ Dec 8 2010, 00:56) *
А чем руководствоваться при назначении пинов, ну кроме желания упростить трассировку платы?

Про тайминги уже сказали, но это не во всех проектах требуется. С маленькими CPLD иногда не хватает внутренних интерконнектов для желаемого назначения, хотя LE полно. Бывало такое, что убедившись в том, что проект влезает, заказывали плату, а только потом назначали пины и... sm.gif тут начиналось...
Я учитываю суммарную токовую нагрузку (управление светодиодами, например), импульсные синхронные нагрузки при одновременном переключении нескольких каскадов. Например, если это параллельная шина, то линии данных стараюсь делать из одного банка напряжений, а линии управления из другого, чтобы при одновременном щёлканье данными шина управления не словила чего-нибудь из-за броска напряжения на индуктивностях внутренних линий нуля и питания.
При трассировке надо учитывать межпроводниковую ёмкость и не располагать сильноточные и/или высокочастотные выходы с высокоомными входами, либо сразу же на плате их растаскивать и не вести в одной шине рядом.


--------------------
Почему разработчики систем повышенной надёжности плохо справляются с простыми проектами? :)
Go to the top of the page
 
+Quote Post
dvladim
сообщение Dec 8 2010, 16:55
Сообщение #45


Знающий
****

Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737



Цитата(Allregia @ Dec 7 2010, 23:08) *
Т.е. лучше использовать не выход переноса а выход старшего разряда счетчика для подачи на другие счетчики ?

Нет. Используйте cout как вход enable для других счетчиков.
Останется только сделать безглитчевый переключатель клоков.
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 9th July 2025 - 10:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.0157 секунд с 7
ELECTRONIX ©2004-2016