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

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


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

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



Цитата
Сначала в графике делал (а-ля 74хх), потом на AHDL перешёл...


Вы будете смеяться, но у меня почти все схемы с микроконтроллерами, для которых я и программы (или их часть) пишу на Си и Асме, но почему-то в данном случае мне проще нарисовать схему чем вникать в AHDL/VHDL/Verilog.
В этом проекте тоже стоят два ARM7 и один DSP, так что программирования хватает (на DSP к счастью программу другие пишут, на ARMы - я).

Цитата(dvladim @ Dec 1 2010, 20:51) *
Нет, это ерунда какая-то. Переходите к нормальному синхронному дизайну, сброс будет шириной в такт и вопросов о длительности сигнала сброса возникать вообще не будет.


Уже перешел smile.gif Сброс счетчиков вообще не понадобился - они теперь как простые делители работают, крутятся по кругу.
Раньше меня волновала не сама по себе длительность сброса, а чтобы она небыла больше чем полпериода тех импульсов, которые счетчик считает.
Если по простому - счетчик должен был выдать сигнал после определенного числа импульсов, после фронта сигнала 100кгц. Импульсы и сигнал синхронные, но нельзя было потерять первый счетный импульс что после фронта.
Цитата
В поиск. Обсуждалось многократно.


Если бы еще этот поиск нормально работал...

Цитата
Если разработчик сознательно уходит от синхронного дизайна к асинхронному, то он точно знает что делает и чем ему это грозит.


В данном случае - знаю. Более того - схема на 74хх была спаяна на макетке и прекрасно работала. Просто решено было добавить некоторые дополнительные возможности да заодно упаковать все в один чип. Потому к CPLD и перешли.

Цитата
Он не будет спрашивать как сделать то или иное, а новичку лучше разобраться с нормальным синхронным дизайном, а уж потом заниматься с асинхронщиной.


Я переделал вообще всю концепцию и сигналы все идут из CPLD, только один общий клок идет снаружи. Пока все хорошо получается, во всяком случае на экране...
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Dec 2 2010, 09:04
Сообщение #17


Знающий
****

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



Цитата
Более того - схема на 74хх была спаяна на макетке и прекрасно работала. Просто решено было добавить некоторые дополнительные возможности да заодно упаковать все в один чип. Потому к CPLD и перешли.

Во-во-во smile.gif Как раз это и надо искоренять из своего сознания. Медленно и мучительно, путём проб и ошибок.
Рассыпуха будет работать такой, какой её выпустил завод и какой Вы её спаяли на макетке. А в плисине работать будет не то, что Вы видите в редакторе, а то - как Вас поймёт синтезатор и как разложит фиттер.
А конкретно на "схема на 74хх была спаяна на макетке и прекрасно работала" замечу, что Вам, наверняка, знакома ситуация (с тем же APM'ом), когда один и тот же исходник либо работает, либо нет в зависимости от того - какую оптимизацию Вы выбрали. Здесь абсолютно тоже самое: макетка это без оптимизации вообще, плиска - с оптимизацией.


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


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

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



Цитата
замечу, что Вам, наверняка, знакома ситуация (с тем же APM'ом), когда один и тот же исходник либо работает, либо нет в зависимости от того - какую оптимизацию Вы выбрали.


Еще как знакома! Правда, с АРМами не сильно - там Кейл шибко вумный, но вот с 430-ми - ИАР с оптимизацией иногда ТАКОГО намутит, вплоть дополной неработоспособности.

Цитата
А в плисине работать будет не то, что Вы видите в редакторе, а то - как Вас поймёт синтезатор и как разложит фиттер.


Но тому что рисует симулятор хоть можно верить ?smile.gif
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Dec 2 2010, 18:21
Сообщение #19


Знающий
****

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



Цитата(Allregia @ Dec 2 2010, 20:50) *
Но тому что рисует симулятор хоть можно верить ?smile.gif

Полностью нельзя. Примерно, как полностью нельзя верить рекламе... smile.gif
Но начинающим работать с ПЛИС, верить симулятору и применять его надо обязательно.

Go to the top of the page
 
+Quote Post
Maverick
сообщение Dec 2 2010, 19:37
Сообщение #20


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Цитата(Serhiy_UA @ Dec 2 2010, 20:21) *
Полностью нельзя. Примерно, как полностью нельзя верить рекламе... smile.gif
Но начинающим работать с ПЛИС, верить симулятору и применять его надо обязательно.

это почему полностью верить нельзя симулятору?


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Dec 3 2010, 05:51
Сообщение #21


Знающий
****

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



Цитата(Maverick @ Dec 2 2010, 22:37) *
это почему полностью верить нельзя симулятору?

Например, в случае с объявлением регистра без инициирующего значения. Симулятор покажет одно, а в жизни может быть другое.
С времянками - аналогично.


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


Знающий
****

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



Цитата(Maverick @ Dec 2 2010, 22:37) *
это почему полностью верить нельзя симулятору?

Полностью, это на 100%, так я понял? Т.е. после симуляции Вы уверены во всем так, что готовы на любые жертвы?

Я симулировал FSM средней сложности в MAXII+plus на тактовых частотах 80 и 100 МГц, симулятор показывает, что FSM не работает, так как надо.
В QuartusII 7.2 картина аналогичная, хотя и результаты другие, т.е. уже лучше, но полного доверия нет.
А в аппаратуре же, путем подборок и перестановок местами микроопераций в FSM, как бы шаманством, все же требуемый результат получен на частотах 80 и 100 МГц .
Могу ли я после этого готовым к любым жертвам, т.е. к 100% уверенности? Нет, не могу, но я симулятору все равно где-то верю, и советую это начинающим, они же не работают вблизи пределов….
Go to the top of the page
 
+Quote Post
sazh
сообщение Dec 3 2010, 07:05
Сообщение #23


Гуру
******

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



Цитата(Евгений Николаев @ Dec 3 2010, 08:51) *
Например, в случае с объявлением регистра без инициирующего значения. Симулятор покажет одно


Симулятор покажет неопределенное состояние. И уже по барабану, что будет реально в жизни.


Цитата(Serhiy_UA @ Dec 3 2010, 09:24) *
А в аппаратуре же, путем подборок и перестановок местами микроопераций в FSM, как бы шаманством, все же требуемый результат получен на частотах 80 и 100 МГц .


На столе при комнатной температуре в одном экземпляре.
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Dec 3 2010, 07:22
Сообщение #24


Знающий
****

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



Цитата(sazh @ Dec 3 2010, 10:05) *
На столе при комнатной температуре в одном экземпляре.

экземпляров с FPGA много они работают на объектах ...
диапазон температур коммерческий...
Go to the top of the page
 
+Quote Post
EvgenyNik
сообщение Dec 3 2010, 07:39
Сообщение #25


Знающий
****

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



Цитата(sazh @ Dec 3 2010, 10:05) *
Симулятор покажет неопределенное состояние. И уже по барабану, что будет реально в жизни.

Обычно да, но я написал про реальный случай, с которым столкнулся. Регистр был внутренним и представлял собой счётчик байт в контроллере SPI. Сброс регистра осуществлялся автоматически либо по подъёму CS, либо по выходу длины пакета за разумный предел. Видимо, логика этих сбросов синтезировалась так, что состояние было не неопределённым. И только явное объявление начального значения расставило всё по места.
А в большинстве случаев - да, ХХХ там.


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


Гуру
******

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



Цитата(Евгений Николаев @ Dec 3 2010, 10:39) *
по подъёму CS, либо по выходу длины пакета за разумный предел.


Получается, Вы просто не дождались на временном интервале формирования cs.
Go to the top of the page
 
+Quote Post
Serhiy_UA
сообщение Dec 3 2010, 08:05
Сообщение #27


Знающий
****

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



*
Go to the top of the page
 
+Quote Post
Allregia
сообщение Dec 3 2010, 09:27
Сообщение #28


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

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



Цитата
И только явное объявление начального значения расставило всё по места.

Если я использую разные счетчики/делители - нужно ли объединить им все входы спроса, и вывести на пин глобального сброса?
Если да - что с этим пином потом делать? Достаточно обычной RC-цепочки сброса, или чего посильнее надо (типа супервизора, дергуть ногой с МК и т.п) ?
Go to the top of the page
 
+Quote Post
Allregia
сообщение Dec 6 2010, 16:51
Сообщение #29


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

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



Друзья, нужно помощь!

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

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

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

Есть еще несколько вопросов, но о них потом.

Заранее большое спасибо.
Прикрепленные файлы
Прикрепленный файл  ttt.rar ( 47.53 килобайт ) Кол-во скачиваний: 35
 
Go to the top of the page
 
+Quote Post
Allregia
сообщение Dec 7 2010, 07:55
Сообщение #30


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

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



Привет всем еще раз. Никто не может помочь? Я застрял sad.gif
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 Текстовая версия Сейчас: 10th July 2025 - 09:43
Рейтинг@Mail.ru


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