TimeQuest для чайников. Часть 4 (Как много интерфейсов разных)
- altera |
- constrains |
- TimeQuest |
- ПЛИС
Синхронные интерфейсы
Для разговора о задании констрейнов для синхронных интерфейсов нужно въехать в основы временного анализа. Здесь мой читатель придется уже поработать вам, т.к. пересказывать альтеровские документы у меня нет никакого желания. Да и документы эти небольшие и не сложные. Советую читать вот в таком порядке
- Clock_Setup_and_Hold_Slack_Explained.doc - что бы понять, что такое setup/hold и как они анализируются
-
an433.pdf - Constraining and Analyzing Source-Synchronous Interfaces - что бы от еще раз прочитать про задание констрейнов для синхронных интерфейсов и заодно проверить меня %)
- mnl_timequest_cookbook.pdf - в подарок краткий справочник о TimeQuest, в нем в краткой форме содержится все то, что мы уже усвоили + кое что вкусненькое.
Без изучения этих документов дальнейшие примеры будут мало полезны. Положим, что вы ознакомились с содержимым файла Clock_Setup_and_Hold_Slack_Explained.doc.
Подобьем нужную нам информацию, перед тем как идти дальше.
- Синхронные интерфейсы рассматривают передачу данных от регистров тактируемых частотой источника, до регистров тактируемых частотой приемника..
- TimeQuest не телепат, задача описания этих клоков и их временного соотношения целиком ваша.
- Для выходных интерфейсов надо помнить что у триггера есть два важных параметра Tsetup(tsu) - время предустановки данных (время в течении которого данные должны быть неизменны до фронта тактовой частоты) и Thold(th) - время удержания данных (время в течении которого данные должны быть неизменны после фронта тактовой частоты). Если эти времена нарушаются то возможны сбои в работе логики, эти сбои называются метастабильностью.
- Для входных интерфейсов надо помнить что, в зависимости от реализации источника (регистр/АЦП/память/и т.д.) могут быть следующие важные параметры. Для регистров это Tclock-to-out(tco) - время появления данных на выходе после фронта тактовой частоты. Для памяти это Tacces - время появления данных на выходе после фронта тактовой частоты, Thold - время удержания данных на выходе после фронта тактовой частоты.
- TimeQuest при анализе синхронных интерфейсов ставит клоки, относительно друг друга, в то положение, которое вы ему указали. Если вы ничего не указывали, то он ставит клоки в положение фронт в фронт.
Если вы не вы не указали любой из клоков, то вините себя, т.к. TimeQuest может выдать все что угодно.
Синхронные интерфейсы разделяются на два вида по месту происхождения источника тактирования интерфейсного устройства:
- System Synchronus - это интерфейсы, в которых тактовая частота интерфейса идет непосредственно с ПЛИС на интерфейсное устройство. К таким интерфейсам можно отнести АЦП/ЦАП, память, шину в режиме master и т.д.
- Source Synchronus - это интерфейсы, в которых тактовая частота идет от интерфейсного устройства к ПЛИС. Или от отдельного генератора к ПЛИС и интерфейсному устройству, через всякие разветвители. К таким интерфейсам можно отнести шину процессора, к которому ПЛИС подключена как slave, АЦП/ЦАП и т.д.
- блог пользователя des00
- 65434 просмотра
Новые записи в блогах
- Устранение дребезга контактов на основе вертикальных счетчиков
- Диагностика Imprecise Bus Faults в микроконтроллерах Cortex-M3/M4/M4F
- Self-powered камера
- Фоновый модулятор: беспроводная связь из ничего (перевод)
- Texas Instruments Analog Applications Journal SLYT612 "Снижение искажений в аналоговых КМОП ключах" (перевод)
- USB MSD. Часть 6. Команды SCSI (перевод)
- USB MSD. Часть 3. USB класс накопителей данных (перевод)
- Texas Instruments Application Report SBAA042 "Кодовые схемы, используемые в аналогово-цифровых преобразователях" (перевод)
- 10 принципов правильного интерфейса
- Релиз SDK на русский микропроцессор КРОЛИК
Комментарии
Спасибо Автору! Всё очень
Спасибо, поправил
Спасибо, поправил
Самоя первая картинка не
Самоя первая картинка не соответствует превью.(я так понимаю превью правильнее)
(уточнение) Самая первая
(уточнение)
Самая первая картинка на 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),
Физически это понимается
Отправить комментарий