TimeQuest для чайников. Часть 4 (Как много интерфейсов разных)

Синхронные интерфейсы

Для разговора о задании констрейнов для синхронных интерфейсов нужно въехать в основы временного анализа. Здесь мой читатель придется уже поработать вам, т.к. пересказывать альтеровские документы у меня нет никакого желания. Да и документы эти небольшие и не сложные. Советую читать вот в таком порядке

  1. Clock_Setup_and_Hold_Slack_Explained.doc - что бы понять, что такое setup/hold и как они анализируются
  2. an433.pdf - Constraining and Analyzing Source-Synchronous Interfaces - что бы от еще раз прочитать про задание констрейнов для синхронных интерфейсов и заодно проверить меня %)
  3. mnl_timequest_cookbook.pdf - в подарок краткий справочник о TimeQuest, в нем в краткой форме содержится все то, что мы уже усвоили + кое что вкусненькое.

Без изучения этих документов дальнейшие примеры будут мало полезны. Положим, что вы ознакомились с содержимым файла Clock_Setup_and_Hold_Slack_Explained.doc.

Подобьем нужную нам информацию, перед тем как идти дальше.

  1. Синхронные интерфейсы рассматривают передачу данных от регистров тактируемых частотой источника, до регистров тактируемых частотой приемника..
  2. TimeQuest не телепат, задача описания этих клоков и их временного соотношения целиком ваша.
  3. Для выходных интерфейсов надо помнить что у триггера есть два важных параметра Tsetup(tsu) - время предустановки данных (время в течении которого данные должны быть неизменны до фронта тактовой частоты) и Thold(th) - время удержания данных (время в течении которого данные должны быть неизменны после фронта тактовой частоты). Если эти времена нарушаются то возможны сбои в работе логики, эти сбои называются метастабильностью.
  4. Для входных интерфейсов надо помнить что, в зависимости от реализации источника (регистр/АЦП/память/и т.д.) могут быть следующие важные параметры. Для регистров это Tclock-to-out(tco) - время появления данных на выходе после фронта тактовой частоты. Для памяти это Tacces - время появления данных на выходе после фронта тактовой частоты, Thold - время удержания данных на выходе после фронта тактовой частоты.
  5. TimeQuest при анализе синхронных интерфейсов ставит клоки, относительно друг друга, в то положение, которое вы ему указали. Если вы ничего не указывали, то он ставит клоки в положение фронт в фронт.

Если вы не вы не указали любой из клоков, то вините себя, т.к. TimeQuest может выдать все что угодно.

Синхронные интерфейсы разделяются на два вида по месту происхождения источника тактирования интерфейсного устройства:

  1. System Synchronus - это интерфейсы, в которых тактовая частота интерфейса идет непосредственно с ПЛИС на интерфейсное устройство. К таким интерфейсам можно отнести АЦП/ЦАП, память, шину в режиме master и т.д.
  2. Source Synchronus - это интерфейсы, в которых тактовая частота идет от интерфейсного устройства к ПЛИС. Или от отдельного генератора к ПЛИС и интерфейсному устройству, через всякие разветвители. К таким интерфейсам можно отнести шину процессора, к которому ПЛИС подключена как slave, АЦП/ЦАП и т.д.
ПредпросмотрAttachmentSize
Clock_Setup_and_Hold_Slack_Explained.doc191.5 КБ
mnl_timequest_cookbook.pdf481.87 КБ
an433.pdf1.38 МБ

Комментарии

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Спасибо Автору! Всё очень

Спасибо Автору! Всё очень понятно описано! Нужно поправить ссылку на картинку под строкой ...С помошью Report Worst Case Path смотрим что же происходит в интерфейсе.
des00 аватар

Спасибо, поправил

Спасибо, поправил

Самоя первая картинка не

Самоя первая картинка не соответствует превью.(я так понимаю превью правильнее)

(уточнение) Самая первая

(уточнение)

Самая первая картинка на 3й странице не соответствует превью.(я так понимаю превью правильнее)

set_output_delay -clock

set_output_delay -clock [get_clocks {oclk}] -min -5.0 [get_ports {data[*]}]

как получается что мин делай отрицательная, как понять это физически???? 

я понимаю она вычислялась по формуле OmD = min tD (EXT) – tH (EXT) – max tCS (EXT),  

des00 аватар

Физически это понимается

Физически это понимается очень просто. Любые задержки задаются относительно фронтов таковой частоты приемника данных. В одном случае мы задаем запас для времени предустановки, в другом случая для времени удержания.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Syntax highlight code surrounded by the {syntaxhighlighter SPEC}...{/syntaxhighlighter} tags, where SPEC is a Syntaxhighlighter options string or "class="OPTIONS" title="the title".
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <p> <span> <s> <strike> <div> <h1> <h2> <h3> <h4> <h5> <h6> <img> <map> <area> <hr> <br> <br /> <ul> <ol> <li> <dl> <dt> <dd> <table> <caption> <tbody> <tr> <td> <em> <b> <u> <i> <strong> <del> <ins> <sub> <sup> <quote> <blockquote> <pre> <address> <code> <cite> <embed> <object> <param> <strike>
  • Использовать как разделитель страниц.

Подробнее о форматировании