MegaVolt 29 30 апреля, 2020 Опубликовано 30 апреля, 2020 · Жалоба 2 минуты назад, Plain сказал: Вопрос наверное в том, разрешает ли САПР ПЛИС создать и использовать внутренний тактовый генератор. В древние времена я делал. Но там была совсем просто: удвоитель частоты - делитель на два. И по кругу :))) Запуск по логическому уровню. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 30 апреля, 2020 Опубликовано 30 апреля, 2020 · Жалоба Я тут вижу целых две разные проблемы, с имплементацией подобных схем. Первая проблема - ограничения инерконнекта плис, особенно для обратных связей, и - для дженерейтед клоков - роутинг на локальные клоковые деревья. Вторая извечная проблема - в использовании цепи и как клок, и как данные. С точки зрения STA это очень неудобная вещь, поскольку в графе эта цепь - либо арка по данным, либо - часть дерева клока, но не и то и другое вместе. В эсико-строении данную проблему решают чаще всего двойным набором констрейнтов (в одном наборе цепь - клок, во втором - данные). Лучше так не делать, по возможности, хотя встречал дизайны где без этого никак. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 30 апреля, 2020 Опубликовано 30 апреля, 2020 · Жалоба 1 hour ago, zombi said: входа выхода Я не опечатался. Именно входа. Для мажслайсовых матриц вход снаружи (пин чипа) и выход регистра являются равнозначными входами. Второй нюанс - подумайте, что будет если включить встречно в микросхеме 2 источника (а именно это и происходит на схеме). Ну и третье обведите ту точку, как отдельный модуль и представьте, что там есть псевдологика (в данном случае net'ы) и попробуйте описать её как модуль. Подсказка на картинке. И да: выходы можно обьединять в скольки угодно точках. 49 minutes ago, Plain said: Вопрос наверное в том, разрешает ли САПР ПЛИС создать и использовать внутренний тактовый генератор. Почему нет? Законстрейнить правильно и пользуйтесь на здоровье. Вопрос насколько он будет гулять по частоте и какое получится skew в дереве - это другое. 8 minutes ago, Aleх said: ограничения инерконнекта плис, особенно для обратных связей Никогда не видел таких проблем. Разве что времянки очень сильно магут уплывать в сильно утилизированном проекте. 9 minutes ago, Aleх said: для дженерейтед клоков - роутинг на локальные клоковые деревья Тоже никаких проблем. Руками прокидываете в клоковый буффер и "далее по схеме". Главное максимально близко разместить выход генератора ко входу буффера, чтобы температура не так влияла. 11 minutes ago, Aleх said: Вторая извечная проблема - в использовании цепи и как клок, и как данные Это мне непонятно. Как можно данные использовать как клок? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 30 апреля, 2020 Опубликовано 30 апреля, 2020 · Жалоба 39 minutes ago, Nick_K said: выход регистра являются равнозначными входами. Ну вот как так может быть? Выход регистра является входом... ----------- И мне кажется что ква ругается потому-что просто не понимает что ему подключать ко входу инвертора (inst9), или выход триггера (inst6), или выход входного пина (system_clock)... Решите проблему с inst9, та же проблема возникнет и с inst3, решите её - встанет вопрос объединения двух выходов (inst6 & system_clock). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 30 апреля, 2020 Опубликовано 30 апреля, 2020 · Жалоба 1 minute ago, zombi said: Ну вот как так может быть? Выход регистра является входом... Это смотря с какой стороны смотреть. Вы ведь на вход ПЛИС подаёте данные с выхода другого компонента? Ну или выход одного регистра является входом для другого. Наличие проводника между конечными точками не сильно играет роль. А в данном случае многие забывают, что между практически всеми элементами внутри ПЛИС находится матрица интерконнекта, которая (увы) построена не на реле -> чистый проводник, а с использованием тех же транзисторов. И у неё есть свои входы и выходы, которые и являются инверсными по отношению к остальным элементам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zombi 0 30 апреля, 2020 Опубликовано 30 апреля, 2020 · Жалоба 13 minutes ago, Nick_K said: И да: выходы можно обьединять в скольки угодно точках. Это как? Можете пример привести? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 30 апреля, 2020 Опубликовано 30 апреля, 2020 (изменено) · Жалоба 29 minutes ago, Nick_K said: Это мне непонятно. Как можно данные использовать как клок? Встречается не часто, но встречается. Посмотрите на первую схему в первом посте. Выход четвертого (самого правого) флопа - заходит на клок первого флопа. Это явно цепь клока, и для нее (гипотетически, если бы синков было не один, а много) можно потребовать собственное дерево клока. И в то же время - эта цепь заходит на вход счетчика, мукса, и еще какой то логики. Получается, это явно цепь данных, для которой можно требовать у STA соблюдения каких то ограничений задержек. Так что же это - цепь клока, или цепь данных? У тула от такого башню сорвать может, поэтому необходим двойной комплект констрейнтов - в одном комплекте эта цепь объявлена дженерейтед клоком, а во втором - это обычные данные (а клок не объявлен). p.s. Я даже больше скажу - если не предпринимать дополнительных мер, тул, увидев, что цепь заходит и на клоковый вход флопа, и на логику, может подумать, что логика - это клок-гейт (точнее клокгатор - clockgator). Изменено 30 апреля, 2020 пользователем Aleх Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prostoRoman 0 30 апреля, 2020 Опубликовано 30 апреля, 2020 · Жалоба Решено by RobFPGA Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AndreiF 0 1 мая, 2020 Опубликовано 1 мая, 2020 · Жалоба 19 часов назад, prostoRoman сказал: Решено by RobFPGA Спасибо, prostoRoman. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 1 мая, 2020 Опубликовано 1 мая, 2020 · Жалоба RobFPGA какую частоту сделать таким образом? не упростит ли синтезатор ткую петлю? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 34 1 мая, 2020 Опубликовано 1 мая, 2020 · Жалоба Приветствую! 1 hour ago, Maverick_ said: RobFPGA какую частоту сделать таким образом? не упростит ли синтезатор ткую петлю? А кто ему разрешит такое "рукоблудство"! Запретим! налогами констрейнами обложим! Ну а требуемая частота выбирается количеством (и качеством) элементов задержки в цепочке. Я в том же топике приводил результаты компиляции и timing анализа. Понятное дело это будет далеко не атомный стандарт частоты по точности и стабильности. Так что естественно все надо будет проверять в реальных условиях на конкретном чипе. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 1 мая, 2020 Опубликовано 1 мая, 2020 · Жалоба 1 hour ago, RobFPGA said: А кто ему разрешит такое "рукоблудство"! Запретим! налогами констрейнами обложим! Вопрос - а вот такой генератор, тоже можно в плис получить (обконстрейнить, запретить оптимизировать)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 1 мая, 2020 Опубликовано 1 мая, 2020 · Жалоба А в чем проблема? Каждый из элементов описываете в виде: lcell L0 (.in(q0 & cd & y1), .out(y0_n)); assign y0 = ~y0_n; ну и выбрасывание lcell должно быть запрещено. PS. Это все для Altera и о STA можно забыть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Avex 1 1 мая, 2020 Опубликовано 1 мая, 2020 · Жалоба @dvladim Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zig 36 2 мая, 2020 Опубликовано 2 мая, 2020 · Жалоба Генератор от Altera с исходниками на Verilog в Chapter 14. Random and Pseudorandom Functions Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться