Jump to content

    

Recommended Posts

2 минуты назад, Plain сказал:

Вопрос наверное в том, разрешает ли САПР ПЛИС создать и использовать внутренний тактовый генератор.

В древние времена я делал. Но там была совсем просто: удвоитель частоты - делитель на два. И по кругу :))) Запуск по логическому уровню.

Share this post


Link to post
Share on other sites

Я тут вижу целых две разные проблемы, с имплементацией подобных схем.  Первая  проблема - ограничения инерконнекта плис, особенно для обратных связей, и - для дженерейтед клоков - роутинг на локальные клоковые деревья. Вторая извечная проблема  - в использовании цепи и как клок, и как данные. С точки зрения STA это очень неудобная вещь, поскольку в графе эта цепь - либо арка по данным, либо - часть дерева клока, но не и то и другое вместе. В эсико-строении данную проблему решают чаще всего двойным набором констрейнтов (в одном наборе цепь - клок, во втором - данные). Лучше так не делать, по возможности, хотя встречал дизайны где без этого никак.

Share this post


Link to post
Share on other sites
1 hour ago, zombi said:

входа выхода

Я не опечатался. Именно входа. Для мажслайсовых матриц вход снаружи (пин чипа) и выход регистра являются равнозначными входами. Второй нюанс - подумайте, что будет если включить встречно в микросхеме 2 источника (а именно это и происходит на схеме). Ну и третье обведите ту точку, как отдельный модуль и представьте, что там есть псевдологика (в данном случае net'ы) и попробуйте описать её как модуль. Подсказка на картинке.

2.png.26f98de6bf9ac4e33c177f10bdc8c8b8.thumb.png.84b68efbfd184e41c09cdaface8544e6.png

И да: выходы можно обьединять в скольки угодно точках.

49 minutes ago, Plain said:

Вопрос наверное в том, разрешает ли САПР ПЛИС создать и использовать внутренний тактовый генератор.

Почему нет? Законстрейнить правильно и пользуйтесь на здоровье. Вопрос насколько он будет гулять по частоте и какое получится skew в дереве - это другое.

8 minutes ago, Aleх said:

ограничения инерконнекта плис, особенно для обратных связей

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

9 minutes ago, Aleх said:

для дженерейтед клоков - роутинг на локальные клоковые деревья

Тоже никаких проблем. Руками прокидываете в клоковый буффер и "далее по схеме". Главное максимально близко разместить выход генератора ко входу буффера, чтобы температура не так влияла.

11 minutes ago, Aleх said:

Вторая извечная проблема  - в использовании цепи и как клок, и как данные

Это мне непонятно. Как можно данные использовать как клок?

Share this post


Link to post
Share on other sites
39 minutes ago, Nick_K said:

выход регистра являются равнозначными входами.

Ну вот как так может быть? Выход регистра является входом... :wacko2:

-----------

И мне кажется что ква ругается потому-что просто не понимает что ему подключать ко входу инвертора (inst9), или выход триггера (inst6), или выход входного пина (system_clock)...

Решите проблему с inst9, та же проблема возникнет и с inst3, решите её - встанет вопрос объединения двух выходов (inst6 & system_clock).

Share this post


Link to post
Share on other sites
1 minute ago, zombi said:

Ну вот как так может быть? Выход регистра является входом... :wacko2:

Это смотря с какой стороны смотреть. Вы ведь на вход ПЛИС подаёте данные с выхода другого компонента? Ну или выход одного регистра является входом для другого. Наличие проводника между конечными точками не сильно играет роль. А в данном случае многие забывают, что между практически всеми элементами внутри ПЛИС находится матрица интерконнекта, которая (увы) построена не на реле -> чистый проводник, а с использованием тех же транзисторов. И у неё есть свои входы и выходы, которые и являются инверсными по отношению к остальным элементам.

Share this post


Link to post
Share on other sites
29 minutes ago, Nick_K said:

Это мне непонятно. Как можно данные использовать как клок?

Встречается не часто, но встречается. Посмотрите на первую схему в первом посте. Выход четвертого (самого правого) флопа - заходит на клок первого флопа. Это явно цепь клока, и для нее (гипотетически, если бы синков было не один, а много) можно потребовать собственное дерево клока. И в то же время - эта цепь заходит на вход счетчика, мукса, и еще какой то логики. Получается, это явно цепь данных, для которой можно требовать у STA соблюдения каких то ограничений задержек. Так что же это - цепь клока, или цепь данных? У тула от такого башню сорвать может, поэтому необходим двойной комплект констрейнтов - в одном комплекте эта цепь объявлена дженерейтед клоком, а во втором - это обычные данные (а клок не объявлен).

 

p.s.

Я даже больше скажу - если не предпринимать дополнительных мер, тул, увидев, что цепь заходит и на клоковый вход флопа, и на логику, может подумать, что логика - это клок-гейт (точнее клокгатор - clockgator).

Edited by Aleх

Share this post


Link to post
Share on other sites

Приветствую!

1 hour ago, Maverick_ said:

RobFPGA какую частоту сделать таким образом? не упростит ли синтезатор ткую петлю?

А кто ему разрешит такое "рукоблудство"!  Запретим!  налогами констрейнами обложим! :rtfm:
 Ну а требуемая частота  выбирается  количеством (и качеством)  элементов задержки в цепочке. Я в том же топике приводил результаты  компиляции  и timing анализа.  Понятное дело это будет  далеко не атомный стандарт частоты по точности и стабильности.  :prankster2: Так что естественно все надо будет проверять в реальных условиях на конкретном чипе. 

Удачи! Rob.

Share this post


Link to post
Share on other sites
1 hour ago, RobFPGA said:

А кто ему разрешит такое "рукоблудство"!  Запретим!  налогами констрейнами обложим! :rtfm:

Вопрос - а вот такой генератор, тоже можно в плис получить (обконстрейнить, запретить оптимизировать)?

e267c37cf3ec4d4abafda12404535814.jpg

Share this post


Link to post
Share on other sites

А в чем проблема?

Каждый из элементов описываете в виде:

lcell L0 (.in(q0 & cd & y1), .out(y0_n));

assign y0 = ~y0_n;

ну и выбрасывание lcell должно быть запрещено.

PS. Это все для Altera и о STA можно забыть.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this