Allregia 9 1 декабря, 2010 Опубликовано 1 декабря, 2010 · Жалоба Сначала в графике делал (а-ля 74хх), потом на AHDL перешёл... Вы будете смеяться, но у меня почти все схемы с микроконтроллерами, для которых я и программы (или их часть) пишу на Си и Асме, но почему-то в данном случае мне проще нарисовать схему чем вникать в AHDL/VHDL/Verilog. В этом проекте тоже стоят два ARM7 и один DSP, так что программирования хватает (на DSP к счастью программу другие пишут, на ARMы - я). Нет, это ерунда какая-то. Переходите к нормальному синхронному дизайну, сброс будет шириной в такт и вопросов о длительности сигнала сброса возникать вообще не будет. Уже перешел :) Сброс счетчиков вообще не понадобился - они теперь как простые делители работают, крутятся по кругу. Раньше меня волновала не сама по себе длительность сброса, а чтобы она небыла больше чем полпериода тех импульсов, которые счетчик считает. Если по простому - счетчик должен был выдать сигнал после определенного числа импульсов, после фронта сигнала 100кгц. Импульсы и сигнал синхронные, но нельзя было потерять первый счетный импульс что после фронта. В поиск. Обсуждалось многократно. Если бы еще этот поиск нормально работал... Если разработчик сознательно уходит от синхронного дизайна к асинхронному, то он точно знает что делает и чем ему это грозит. В данном случае - знаю. Более того - схема на 74хх была спаяна на макетке и прекрасно работала. Просто решено было добавить некоторые дополнительные возможности да заодно упаковать все в один чип. Потому к CPLD и перешли. Он не будет спрашивать как сделать то или иное, а новичку лучше разобраться с нормальным синхронным дизайном, а уж потом заниматься с асинхронщиной. Я переделал вообще всю концепцию и сигналы все идут из CPLD, только один общий клок идет снаружи. Пока все хорошо получается, во всяком случае на экране... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvgenyNik 0 2 декабря, 2010 Опубликовано 2 декабря, 2010 · Жалоба Более того - схема на 74хх была спаяна на макетке и прекрасно работала. Просто решено было добавить некоторые дополнительные возможности да заодно упаковать все в один чип. Потому к CPLD и перешли. Во-во-во :) Как раз это и надо искоренять из своего сознания. Медленно и мучительно, путём проб и ошибок. Рассыпуха будет работать такой, какой её выпустил завод и какой Вы её спаяли на макетке. А в плисине работать будет не то, что Вы видите в редакторе, а то - как Вас поймёт синтезатор и как разложит фиттер. А конкретно на "схема на 74хх была спаяна на макетке и прекрасно работала" замечу, что Вам, наверняка, знакома ситуация (с тем же APM'ом), когда один и тот же исходник либо работает, либо нет в зависимости от того - какую оптимизацию Вы выбрали. Здесь абсолютно тоже самое: макетка это без оптимизации вообще, плиска - с оптимизацией. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 2 декабря, 2010 Опубликовано 2 декабря, 2010 · Жалоба замечу, что Вам, наверняка, знакома ситуация (с тем же APM'ом), когда один и тот же исходник либо работает, либо нет в зависимости от того - какую оптимизацию Вы выбрали. Еще как знакома! Правда, с АРМами не сильно - там Кейл шибко вумный, но вот с 430-ми - ИАР с оптимизацией иногда ТАКОГО намутит, вплоть дополной неработоспособности. А в плисине работать будет не то, что Вы видите в редакторе, а то - как Вас поймёт синтезатор и как разложит фиттер. Но тому что рисует симулятор хоть можно верить ?:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 2 декабря, 2010 Опубликовано 2 декабря, 2010 · Жалоба Но тому что рисует симулятор хоть можно верить ?:) Полностью нельзя. Примерно, как полностью нельзя верить рекламе... :) Но начинающим работать с ПЛИС, верить симулятору и применять его надо обязательно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 2 декабря, 2010 Опубликовано 2 декабря, 2010 · Жалоба Полностью нельзя. Примерно, как полностью нельзя верить рекламе... :) Но начинающим работать с ПЛИС, верить симулятору и применять его надо обязательно. это почему полностью верить нельзя симулятору? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvgenyNik 0 3 декабря, 2010 Опубликовано 3 декабря, 2010 · Жалоба это почему полностью верить нельзя симулятору? Например, в случае с объявлением регистра без инициирующего значения. Симулятор покажет одно, а в жизни может быть другое. С времянками - аналогично. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 3 декабря, 2010 Опубликовано 3 декабря, 2010 · Жалоба это почему полностью верить нельзя симулятору? Полностью, это на 100%, так я понял? Т.е. после симуляции Вы уверены во всем так, что готовы на любые жертвы? Я симулировал FSM средней сложности в MAXII+plus на тактовых частотах 80 и 100 МГц, симулятор показывает, что FSM не работает, так как надо. В QuartusII 7.2 картина аналогичная, хотя и результаты другие, т.е. уже лучше, но полного доверия нет. А в аппаратуре же, путем подборок и перестановок местами микроопераций в FSM, как бы шаманством, все же требуемый результат получен на частотах 80 и 100 МГц . Могу ли я после этого готовым к любым жертвам, т.е. к 100% уверенности? Нет, не могу, но я симулятору все равно где-то верю, и советую это начинающим, они же не работают вблизи пределов…. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 3 декабря, 2010 Опубликовано 3 декабря, 2010 · Жалоба Например, в случае с объявлением регистра без инициирующего значения. Симулятор покажет одно Симулятор покажет неопределенное состояние. И уже по барабану, что будет реально в жизни. А в аппаратуре же, путем подборок и перестановок местами микроопераций в FSM, как бы шаманством, все же требуемый результат получен на частотах 80 и 100 МГц . На столе при комнатной температуре в одном экземпляре. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 3 декабря, 2010 Опубликовано 3 декабря, 2010 · Жалоба На столе при комнатной температуре в одном экземпляре. экземпляров с FPGA много они работают на объектах ... диапазон температур коммерческий... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvgenyNik 0 3 декабря, 2010 Опубликовано 3 декабря, 2010 · Жалоба Симулятор покажет неопределенное состояние. И уже по барабану, что будет реально в жизни. Обычно да, но я написал про реальный случай, с которым столкнулся. Регистр был внутренним и представлял собой счётчик байт в контроллере SPI. Сброс регистра осуществлялся автоматически либо по подъёму CS, либо по выходу длины пакета за разумный предел. Видимо, логика этих сбросов синтезировалась так, что состояние было не неопределённым. И только явное объявление начального значения расставило всё по места. А в большинстве случаев - да, ХХХ там. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 3 декабря, 2010 Опубликовано 3 декабря, 2010 · Жалоба по подъёму CS, либо по выходу длины пакета за разумный предел. Получается, Вы просто не дождались на временном интервале формирования cs. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serhiy_UA 1 3 декабря, 2010 Опубликовано 3 декабря, 2010 · Жалоба * Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 3 декабря, 2010 Опубликовано 3 декабря, 2010 · Жалоба И только явное объявление начального значения расставило всё по места. Если я использую разные счетчики/делители - нужно ли объединить им все входы спроса, и вывести на пин глобального сброса? Если да - что с этим пином потом делать? Достаточно обычной RC-цепочки сброса, или чего посильнее надо (типа супервизора, дергуть ногой с МК и т.п) ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 6 декабря, 2010 Опубликовано 6 декабря, 2010 · Жалоба Друзья, нужно помощь! Все тах хорошо шло и прекрасно получалось (в симуляторе 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Allregia 9 7 декабря, 2010 Опубликовано 7 декабря, 2010 · Жалоба Привет всем еще раз. Никто не может помочь? Я застрял :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться