Перейти к содержанию
    

Полностью синхронный дизайн

Ясно. Т.е. придерживаем сигнал enable пока переходный процесс на входе данных регистра не завершится. Таким образом нет необходимости снижать тактовую частоту всего проекта из-за "тормознутого блока". А на сколько оправдан подобный поход? Почему бы не раскрошить КС "долгого" модуля конвеером?

 

В FPGA так часто и поступают. Но вот если делаешь ASIC проект да еще борешся за низкое энергоотребление... Тут все флип-флопы становятся явно лишними(даже на выходах блоков)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ясно. Т.е. придерживаем сигнал enable пока переходный процесс на входе данных регистра не завершится. Таким образом нет необходимости снижать тактовую частоту всего проекта из-за "тормознутого блока". А на сколько оправдан подобный поход? Почему бы не раскрошить КС "долгого" модуля конвеером?

 

Именно. Или как вариант ставим мультиплексор, который соединяет выход регистра со входом на время ненужных фронтов. Подход оправдан, если эту функцию не надо вычислять каждый такт (каждые M/N тактов). Например поставив себе в ядро процессора схему целочисленного деления, работающую в двухтактовой времянке я сэкономил примерно 20% площади этого блока по сравнению с конвейеризированным однотактовым с однотактовой задержкой. Меня просто устроила и площадь, и результат раз в два такта.

 

Понятно. Так глубоко копать мне на практике не приходилось. Собственно поэтому оценивать возможности САПР не довелось. Но тема ведь не ограничена только FPGA. И почему формулировка определения "fully synchronous design" должна страдать от несовершенства каких-то там программ и микросхем?

 

Так и именно не ограничивается. Поэтому я и не могу о своем устройстве сказать (ни о прототипе в фпга, ни об оконечном варианте в кремнии), что оно полностью синхронное. Хоть и работает от одного клока. А могу сказать что у меня глобально синхронная схема с асинхронными регистрами периферийных устройств, асинхронными блоками регистров общего назначения и внутреннего ОЗУ. Синхронность конкретного блока схемы определяется способом управления им - если запись по фронту, то он синхронный (смена состояния возможна только в момент фронта). Если по уровню - то асинхронный (смена состояния возможна сколь угодно много раз во время действия уровня). И несмотря на то, что для всех асинхронных блоков есть обвязка, которая делает переход от синхронной части к ним, я не имею права забывать, что они асинхонные, и они часть проекта.

 

Как отвлеченный пример - Вы же не будете называть схему полностью цифровой, если внутри есть ЦАП, аналоговый блок и АЦП. А снаружи все входы и выходы цифровые?

 

Фразу "полностью синхронный дизайн" не приходилось раньше встречать в литературе. Буду признателен если кините в меня ссылкой.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Работал с Ксайлинксом - V2pro, V4FX делал синхронные проекты - без строк вне процессов с первым условием по фронту.

 

всё работает с первого раза и без вопросов.

 

Сейчас альтера с циклоном - внутри плис вроде всё нормально, а вот наружу чёто не лезет - разбаланс сигналов огромный. сИ устройство не работает.

Вот и вопрос - в чём проблема??????? Это я смотрю по моделированию квартусом. Даёт ли преимущество точности моделирования моделсим, или только удобство????????????

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это я смотрю по моделированию квартусом. Даёт ли преимущество точности моделирования моделсим, или только удобство????????????

"... и вовсе это не остров - и вообще это катка с фикусом ..." CopyRight

modelsim - это среда моделирования, в ней можно моделировать модели которые вы ей даёте - качество и точность моделирования зависит от качества и точности даденой вами модели. a удобство вообще не техническое понятие.

если по конкретике то обычно при ведение проекта прибегают к функционатьному и временному моделированию.

функциональное даёт проверку корректности описания целевого устройства, временное(post P&R) - корректности функционирования проекта в целевом устройстве во времени (это если не брать моделирование синтезированной(post-synthesis) модели /проверка адекватности интерпретации синтезатора/ и моделирование системного уровня /проверка адекватности концепции (тоже может включать временную компоненту) /)

в случае post-P&R (о точности которой вы судя по всему интересуетесь ) то эта модель генерируется самим Квартусом. разница между К и М в этом случае в том что М - среда моделирования, К - среда разработки и имеет минимальние встроенные средства моделирования

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это я знаю - поведенческая и пост плейс и роутная))) модели - это из хилинга

просто в версии ISE 7.1 при работе с тестбенч вавеформ - при превышении числа сигналов за 20 были проблемы со скоростью моделирования

 

и ещё один момент - просто не понравилось, что значение внутреннего счё1тчика отобразилось без волосни в стыках положений (больших)- вот это и навело на мысль о ущербной симуляции

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это я знаю - поведенческая и пост плейс и роутная))) модели - это из хилинга

да нет это не из xилинга - это самая обычная практика

и ещё один момент - просто не понравилось, что значение внутреннего счё1тчика отобразилось без волосни в стыках положений (больших)- вот это и навело на мысль о ущербной симуляции

а волосни нет потому что функциональное моделирование, сделайте временное - будет и волосня и data-skew

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гм, у меня в циклон заводятся 8 потоков Е1, каждый идет со своей частотой, есть глобальная частота REF 2,048 МГц, которая идет с блока ссинхронизации и имеет джиттер порядка 0,002 UI. Не обходимо на выходе получить E1, идущие с частотой REF.

 

Проект был сделан на двухпортовой памяти полностью асинхронной, управление происходило с помощью сигналов чтение и запись, которые вырабатывались по соответсвующим частотам запись с частотой входного E1, чтение с частотой REF, все вроде бы работало.

 

Перешли на циклон и оказалось, что у него нет такой памяти.

 

Подскажите как можно сделать тоже самое, но на синхронной памяти?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите как можно сделать тоже самое, но на синхронной памяти?

У циклона в блоках памяти есть сигналы разрешения чтения и записи. Используйте их.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не работает, ведь там тактовые частоты заводятся.

тактовые частоты на чтение и запись могут быть разные. Со стороны чтения заводите частоту ref, а со стороны записи - "с частотой входного E1".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...