[an error occurred while processing this directive]
Just Say NO to Asynchronous Design!
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

миниатюрный аудио-видеорекордер mAVR

Отправлено Eugenius 16 июня 2003 г. 20:31
В ответ на: Люди, объясните что происходит ! отправлено Мартовский Котяра 15 июня 2003 г. 03:44

Все дело в схеме. Xilinx ужасно не любит асинхронных схем.

Когда я создаю схему, придерживаюсь основных правил:
1. Вся схема должна быть полностью синхронной. Асинхронным стараюсь делать разве только глобальный сброс. Очень хорошо если все входные и выходные сигналы пропущены через триггеры, еще лучше если через триггеры в ногах (хотя, это в зависимости от задачи).

2. Делать схему максимально простой, в смысле, состоящей из структурных примитивов (конечники, счетчики, мультиплексоры, триггеры, буферы), сложные комбинаторные конструкции разделять на несколько более простых составных частей. При этом нужно четко представлять архитектуру кристалла и правила синтеза HDL-описаний в логические примитивы и примитивы кристалла.
Это позволяет упростить жизнь как синтезатору, так и, самое главное, себе любимому при построении и отладке. Тогда почти все сигналы можно узреть в пост-синтез и пост-роуте схемах и вытащить их в симулятор.

3. Обязательно нужно прописывать Constraints, хотя бы элементарный период тактовой частоты, а не просто указывать в ISE в настройках синтезатора. Если используется память, то нужно прописывать constraints и на нее (напримиер, простейшие FFS to RAM, RAM to FFS) т.к. по умолчанию Xilinx этих задержек не учитывает! На первое время, если много ошибок и схема тяжело разводится, завысить период и смотреть задержки в Timing Analyzer. Как правило, по времянкам не укладываются одни и те же цепи. Если схема достаточно "детализирована", то сразу ясно где можно подтянуть, где триггер вставить и т.д.

И вообще, есть такая замечательная директория ../Xilinx/doc/usenglish/ или On-line documentation в ISE
В первую очередь советую ознакомиться:
Syntesis and Simulation Design Guide,
Library Guide
Constraints Guide
Timing Analyzer Guide
etc...

Возможно, банальщину для тебя написал, тогда сильно не пинай :) но все же.. я с тех пор как стал так схему строить с работоспособностью схемы бед особых не знаю с любым синтезатором. Головняк по большей части с втаптыванием схем в кристалл с хорошей набивкой и/или вытягиванием времянок. Вот тут-то и придут на помощь инкрементал и модулар дизайны, гуайд моде и т.п.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru