topor_topor 0 February 7, 2014 Posted February 7, 2014 · Report post так я понял правильно. Вот тут уточняющий вопрос: а пичек - это же всего лишь 1 фронт, и мне казалось если пичек короткий, то его просто пропустят, а если "длинны" то зачтут как 1 клок. Я правильно рассуждаю? Я только архитектуру рисую, какие сигналы мне нужны, на уровне смысла этих сигналов. Неправильно... Пичёк - это 2 фронта (наростающий и падающий). Что значит короткий? Для кого короткий, а для кого и переход в новое состояние...даже метастабильное.... Я вот даже бекенд делаю...и мне иногда сигналов с таким смыслом напрограмируют в верилоге, шо хз как их физически реализовать.... Quote Share this post Link to post Share on other sites More sharing options...
SM 14 February 7, 2014 Posted February 7, 2014 · Report post и мне казалось если пичек короткий, то его просто пропустят, а если "длинны" то зачтут как 1 клок. Я правильно рассуждаю? Неправильно. Если он короткий, его зачтут за один период клока, например 1ГГц, и он нарушит все мыслимые сетапы. А если длинный - то за один период клока, например, 1 МГц. Его пропустят, если он СВЕРХкороткий, например 10ГГц, да и то не факт, что пропустят, чем современнее ПЛИС, тем более высокочастотные сигналы она принимает. Слово "кажется" недопустимо для лексикона разработчика электронного устройства, коим является загруженная конфигурацией ПЛИС. Quote Share this post Link to post Share on other sites More sharing options...
Golikov 0 February 7, 2014 Posted February 7, 2014 · Report post Во всех процессорах с которыми я работал приходилось настраивать входной клок. Вы не настраиваете входной клок, как и внутренний генератор. К настройке ПЛЛ, делителей и прочего, с ожиданием - понятный момент, о чем было ниже в том сообщении. Я только в АВР вспомнил настройку битов определяющих тип внешнего кварца, и вводящих доп задержки перед стартом. Наверное для того и введены теперь внутренние генераторы клока, так как производитель знает их характеристики, и может выдержать правильную паузу... никакой магии блин. Неправильно... Пичёк - это 2 фронта (наростающий и падающий). Что значит короткий? Для кого короткий, а для кого и переход в новое состояние...даже метастабильное.... фронта два, но для работы счетчика и триггера нам интересует же только один. Метастабильное состояние рано или поздно же кончится, даже без клоков, правильно? Это я к тому что даже в случае пичков они будут либо пропускаться либо обрабатываться, пусть с задержкой, но будут же? Кстати, а вот счетчик из 2 Триггеров, где выход одного идет как клок для другого. Если первый находиться в метастабильном состоянии, что со второым происходит? Он выход первого воспринимает как медленно ползучий сигнал и может тоже свалиться в метастабильность? Я вот даже бекенд делаю...и мне иногда сигналов с таким смыслом напрограмируют в верилоге, шо хз как их физически реализовать.... потому архитектура делается еще до схемы, и даже до выбора проц или плис, и ее рецензируют все. Понятно дело что все программисты хотят чтобы все сделал схемотехник, а он только кнопку старт приделал. Как впрочем схемотехники тоже любят цифровые фильтры рекомендовать.... Неправильно. Если он короткий, его зачтут за один период клока, например 1ГГц, и он нарушит все мыслимые сетапы. как 1 фронт может иметь частоту? Слово "кажется" недопустимо для лексикона разработчика электронного устройства, коим является загруженная конфигурацией ПЛИС. ну это от разработчика зависит, я не боюсь предполагать что я могу чего-то не знать;) Quote Share this post Link to post Share on other sites More sharing options...
SM 14 February 7, 2014 Posted February 7, 2014 · Report post Это я к тому что даже в случае пичков они будут либо пропускаться либо обрабатываться, пусть с задержкой, но будут же? Такое ощущение что Вы специально прикидываетесь не понимающим.... Вот был фронт, за ним спайк через 100 ps. Из 1000 триггеров проекта 500 успели принять новое корректное состояние, другие 400 не успели, оставшиеся 100 - залетели в метастабильность с выходом в случайное значение 0/1. И что дальше будет на следующем такте? как 1 фронт может иметь частоту? Он же происходит после предыдущего, или перед следующим. Это же клок. Quote Share this post Link to post Share on other sites More sharing options...
Golikov 0 February 7, 2014 Posted February 7, 2014 · Report post ничего они такого не делают. Более того, они распределенные по всему кристаллу, образуя структуру дерева. Их задача - доставить клок с минимальном перекосом времени ко всем точкам кристалла, а вовсе не привести его в порядок. Считается, что клок на входе соответствует требованиям даташита, и из этого все остальное рассчитывается, то есть, если клок на входе не соответствует, то и работа не гарантируется ничего вообще. вот они гады. А я думал что они разводят максимально быстро во все части ПЛИС, а также вялые фронты делаю бодрыми. КАЖЕТСЯ:), где то я про такое читал, или вот например схема с 2 инверторами, или на клок ставить их считается плохо? Такое ощущение что Вы специально прикидываетесь не понимающим.... Он же происходит после предыдущего, или перед следующим. Это же клок. Я просто долго выясняю правильно ли я понимаю. То есть если взять линию на которой 0 долго долго, и вдруг прошел 1 пичек, то никаких проблем (кроме возможно метастабильности не будет), пичек либо обработается либо нет. И если не будет серии пичков с запредельной частотой, никто не умрет. теперь вроде правильно, да? Quote Share this post Link to post Share on other sites More sharing options...
topor_topor 0 February 7, 2014 Posted February 7, 2014 · Report post фронта два, но для работы счетчика и триггера нам интересует же только один. Метастабильное состояние рано или поздно же кончится, даже без клоков, правильно? Это я к тому что даже в случае пичков они будут либо пропускаться либо обрабатываться, пусть с задержкой, но будут же? Кстати, а вот счетчик из 2 Триггеров, где выход одного идет как клок для другого. Если первый находиться в метастабильном состоянии, что со второым происходит? Он выход первого воспринимает как медленно ползучий сигнал и может тоже свалиться в метастабильность? Что может быть в метастабильном состоянии - дискусия не имеющая конца (вот одни напр. одни считают, что вставление буфера на выход метастабильного тригера уменьшает время метастабильности, а другие наоборот итд.) В общем случае, считайте что метастабильность везде порождает тольеко метастабильность. Quote Share this post Link to post Share on other sites More sharing options...
Golikov 0 February 7, 2014 Posted February 7, 2014 · Report post В общем случае, считайте что метастабильность везде порождает тольеко метастабильность. печально.... я раньше считал что когда триггер попал в такое состояние он не может определиться с выходом. А все другие триггеры видят его просто по разному. Одни считают его нулем, другие считают в тоже самое время его единицей, а получается что он и другие триггеры может загадить... Quote Share this post Link to post Share on other sites More sharing options...
SM 14 February 7, 2014 Posted February 7, 2014 · Report post То есть если взять линию на которой 0 долго долго, и вдруг прошел 1 пичек, то никаких проблем (кроме возможно метастабильности не будет) Ну если одновременная метастабильность в половине триггеров проекта, в которых должно было по алгоритму работы поменяться значение, с уходом этих триггеров в случайное состояние, не проблема, то в общем то, никаких проблем :) Вероятность, что они "загадят" следующие триггеры, низка. Но ведь ОНИ САМИ выйдут в случайное состояние к следующему такту! Quote Share this post Link to post Share on other sites More sharing options...
topor_topor 0 February 7, 2014 Posted February 7, 2014 · Report post вот они гады. А я думал что они разводят максимально быстро во все части ПЛИС, а также вялые фронты делаю бодрыми. КАЖЕТСЯ:), где то я про такое читал, или вот например схема с 2 инверторами, или на клок ставить их считается плохо? Я просто долго выясняю правильно ли я понимаю. То есть если взять линию на которой 0 долго долго, и вдруг прошел 1 пичек, то никаких проблем (кроме возможно метастабильности не будет), пичек либо обработается либо нет. И если не будет серии пичков с запредельной частотой, никто не умрет. теперь вроде правильно, да? 1) клоковое дерево далеко не быстро доносит клок до конечных тригеров а с insertion delay (это гдето в районе 5-15нс может быть). Это дерево только минимальное skew (<1нс) гарантирует на концах дерева. 2) клоковое дерево рассчитывается исходя в т.ч. и длительности фронтов на входе. Если они не расчётные - то и параметры дерева не соблюдаются и все тайминги в результате тож... Правда это програмистам ПЛИС не известно :( 3) "если взять линию на которой 0 долго долго, и вдруг прошел 1 пичек, то никаких проблем" Если это линия данных - то никаких проблем (собственно по этому синхронный дизайн все любят) если это ресет или клок - то каюк 4) 2 инвертора вместо буфера в клоковом дереве - рекомендуется и это хорошо Quote Share this post Link to post Share on other sites More sharing options...
Golikov 0 February 7, 2014 Posted February 7, 2014 · Report post Ну если одновременная метастабильность в половине триггеров проекта, а если говорит про весь проект который в ресете, и у нас есть один какой-то счетчик который пытается дождаться стабильного клока? Есть схемы счетчиков устойчивые к метостабильности? Правда это програмистам ПЛИС не известно :( Может это и не плохо. Те кому это известно принимают все меры чтобы с клоком все было хорошо, и избавляют таких как я от головной боли... Жаль что буферы не помогают, у меня была хорошая теория что буфер - усилитель, который питается хорошим сигналом, и если к нему на вход что-то непонятное падает, он либо туда, либо суда это загонит, причем перещелк будет быстрым. Видать теория несостоятельна.... 4) 2 инвертора вместо буфера в клоковом дереве - рекомендуется и это хорошо а люди схем никогда 2 инвертера буферами не называют? Может меня опять подводят термины:)? Quote Share this post Link to post Share on other sites More sharing options...
topor_topor 0 February 7, 2014 Posted February 7, 2014 · Report post Может это и не плохо. Те кому это известно принимают все меры чтобы с клоком все было хорошо, и избавляют таких как я от головной боли... Жаль что буферы не помогают, у меня была хорошая теория что буфер - усилитель, который питается хорошим сигналом, и если к нему на вход что-то непонятное падает, он либо туда, либо суда это загонит, причем перещелк будет быстрым. Видать теория несостоятельна.... Всегда хорошо когда за спиной есть "дядя" клоторый всё подчистит, поправит... Если лично отвечать за выпуск 1000000 чипов в год то так не покатит.... Конечно специализация это хорошо, но она должна быть не в виде - я не знаю что знает он. А в виде я тоже всё знаю, но он умеет быстрее и аккуратнее Quote Share this post Link to post Share on other sites More sharing options...
SM 14 February 7, 2014 Posted February 7, 2014 · Report post Есть схемы счетчиков устойчивые к метостабильности? Есть, если он считает в коде Грея, то есть на каждом такте меняется один, и только один бит из всех. Но это не так делается, он должен считать на гарантировано стабильном на этот момент клоке, например внутреннем ПЛИСовом, от которого она загружается. Если такого клока нет, то такой сигнал сброса надо обеспечить снаружи аппаратными средствами. А в виде я тоже всё знаю, но он умеет быстрее и аккуратнее Вот-вот!!! Именно, о чем я тоже пытаюсь сказать... Quote Share this post Link to post Share on other sites More sharing options...
Golikov 0 February 7, 2014 Posted February 7, 2014 · Report post Всегда хорошо когда за спиной есть "дядя" клоторый всё подчистит, поправит... Если лично отвечать за выпуск 1000000 чипов в год то так не покатит.... Конечно специализация это хорошо, но она должна быть не в виде - я не знаю что знает он. А в виде я тоже всё знаю, но он умеет быстрее и аккуратнее философский вопрос. Над нашим продуктом работает большая команда. Я на краю отдела инжиниринга, дальше идет группа которая пишет драйверы, потом идет группа интерфейсов, потом обработки результатов, группа визуализации, еще есть штатные математики, физики, конструкторы. Не знаю есть ли человек который лично отвечает за тираж нашего продукта, скорее всего нет, но что я не могу знать все я гарантирую:) О многом имею общее представления, о некотором как показала практика ошибочное. Я лично гарантирую корректность своего участка, в том числе узнавая смежные области, но алгоритмы для меня первичны. Есть, если он считает в коде Грея, то есть на каждом такте меняется один, и только один бит из всех. Но это не так делается, он должен считать на гарантировано стабильном на этот момент клоке, например внутреннем ПЛИСовом, от которого она загружается. Если такого клока нет, то такой сигнал сброса надо обеспечить снаружи аппаратными средствами. понятно, видать оно у нас так и решается%) добрый дядя все сделал за меня снаружи:). Зато теперь я еще немного узнал:) Вот-вот!!! Именно, о чем я тоже пытаюсь сказать... вы крутые, у меня так не выходит, максимум могу поконкурировать с группой драйверов, и дать пару глупых советов схемотехникам... помучить конструктора (только потому что у меня это хобби), да и все наверное... Quote Share this post Link to post Share on other sites More sharing options...
SM 14 February 7, 2014 Posted February 7, 2014 · Report post добрый дядя все сделал за меня снаружи:). Только большой вопрос, правильно ли, и полно ли Вы используете все эти сигналы, которые Вам этот дядя дал для того, чтобы схема работала надежно и всегда. Дяди в таких случаях не занимаются отключением клоков на время их стабилизации, они заводят на ПЛИС резеты, учитывающие эти времена.... Причем их можно еще и использовать некорректно, например синхронными в то время, когда синхронизироваться не от чего еще :) Так что разработчик ПЛИС обязан знать, как она себя будет вести в момент старта, пока еще клок кривой, и в прочих нештатных ситуациях. Quote Share this post Link to post Share on other sites More sharing options...
Golikov 0 February 7, 2014 Posted February 7, 2014 · Report post ну в конкретно этой ситуации все просто. У нас есть еще внешний проц, и он держит ПЛИС до загрузки, инициализируется сам, настраивается свои PLL, когда все хорошо, отпускает плис, потом та настраивает ПЛЛ, и только потом разрешает внутренний клок. Пользовательские ресеты сделаны через регистр и управляются с проца, и изначально вся схема в ресете. А интерфейс с процом имеет внешний синхросигнал, так что все равно в каком он состоянии на момент когда проц решает с ним поговорить. Quote Share this post Link to post Share on other sites More sharing options...