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

ГУРУ VHDL ПОМОГИТЕ ПОЖАЛУЙСТА!

Делаю проект, по маленьким кусочкам работал,

собрал целиком - такое г... :(

Почти ни чего не трассируется,

может кто помочь, подсказать что в проекте не так работает?

P.S. Проект написан в ISE 6.3 на VHDL, с использованием CoreGen FIFO и примитивов xilinx.

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


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

Делаю проект, по маленьким кусочкам работал,

собрал целиком - такое г... :(

Почти ни чего не трассируется,

может кто помочь, подсказать что в проекте не так работает?

P.S. Проект написан в ISE 6.3 на VHDL, с использованием CoreGen FIFO и примитивов xilinx.

 

Можно гавно - расшифровать подробнее ?? что не работает и т.д.

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


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

Делаю проект, по маленьким кусочкам работал,

собрал целиком - такое г... :(

Почти ни чего не трассируется,

Что вы там наворотили с клоками? Дальше map у меня дело не пошло.

WARNING:MapLib:154 - An IBUFG is inserted between IPAD and CLKDLLE symbol "DD1" (output signal=CLKo). Such IBUFG should be explicitly placed.

WARNING:MapLib:214 - BUFGP symbol "DD0" (output signal=CLK) is not driven by a pad.

WARNING:DesignRules:368 - Netcheck: Sourceless. Net DD0/IBUFG has no source.

В результате от дизайна ничего не осталось. Все нафиг выкинуто.

 

[немного погодя]

 

Вы неправильно используете DLL.

На входе надо буфер IBUFG вместо BUFGP. В цепи обратной связи нужен буфер BUFG, у вас же нет никакого.

Для примитивов (IBUFG, CLKDLL, BUFG) значение атрибута BOX_TYPE лучше установить в PRIMITIVE.

Вы зря игнорируете выход Locked CLKDLL. Я его обычно подмешиваю к глобальному сбросу. Почему у вас нет глобального сброса?

Всю колбасу из 64 блоков iofd и iofd_lvds D* можно красиво заменить оператором generate.

 

[еще немного погодя]

 

И зачем вам DLL в коде, если вы ее не используете?

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


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

Делаю проект, по маленьким кусочкам работал,

собрал целиком - такое г... :(

Почти ни чего не трассируется,

Что вы там наворотили с клоками? Дальше map у меня дело не пошло.

WARNING:MapLib:154 - An IBUFG is inserted between IPAD and CLKDLLE symbol "DD1" (output signal=CLKo). Such IBUFG should be explicitly placed.

WARNING:MapLib:214 - BUFGP symbol "DD0" (output signal=CLK) is not driven by a pad.

WARNING:DesignRules:368 - Netcheck: Sourceless. Net DD0/IBUFG has no source.

В результате от дизайна ничего не осталось. Все нафиг выкинуто.

 

[немного погодя]

 

Вы неправильно используете DLL.

На входе надо буфер IBUFG вместо BUFGP. В цепи обратной связи нужен буфер BUFG, у вас же нет никакого.

Для примитивов (IBUFG, CLKDLL, BUFG) значение атрибута BOX_TYPE лучше установить в PRIMITIVE.

Вы зря игнорируете выход Locked CLKDLL. Я его обычно подмешиваю к глобальному сбросу. Почему у вас нет глобального сброса?

Всю колбасу из 64 блоков iofd и iofd_lvds D* можно красиво заменить оператором generate.

 

[еще немного погодя]

 

И зачем вам DLL в коде, если вы ее не используете?

 

DLL я всетаки использую для умножения на 2 (см. прилагаемый исправленный проект)

Вообще согласен со всеми замечаниями,

исправил,

заробобтало, но с ограничениями...

Ладно XST выкинул вхолдную часть DLp и DLm сигналов,

так у него частота работы меньше 35МГц, хотя мне надо 160!

 

На нашем форуме советовали использовать Leonardo, т.к. у него с задержками гораздо лучше получается, так вот Leonardo - вообще работает не с верхней частью проекта, а толко с io_lvds

:( почему ? (Это конеччно не в тему, но хотелось бы узнать)

 

Вот результирующий проект,

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


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

Задайте констрейн PERIOD на входной клок в ucf. Потом смотрите отчет TimingAnalizer'а, где у вас большие задержки.

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


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

Делаю проект, по маленьким кусочкам работал,

собрал целиком - такое г... :(

Почти ни чего не трассируется,

может кто помочь, подсказать что в проекте не так работает?

P.S. Проект написан в ISE 6.3 на VHDL, с использованием CoreGen FIFO и примитивов xilinx.

 

1. ISE 7.1.02i рулит! Но ввиду своей правильности он даже нашел ошибки при синтезе, ;(

2. Не Серьезно для проекта в 300 тысячник (даже если он практически пустой как у Вас) не делать timing constraints - хотя бы на тактовый. может не знаете как сделать - выделяете Ваш усф и в процессах запускаете Create Timing Constrains. Дальше проше пареной репы - но перед этим нужно пройти этап трансляции.

3. ДЛЛ так не будет работать, имхо. Feed back вроде всегда через bufg делалось.

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


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

3. ДЛЛ так не будет работать, имхо. Feed back вроде всегда через bufg делалось.

У меня используется оба варианта обратной связи (feedback без bufg и с bufg). Все зависит от того, требуется ли выравнивание фазы входного и выходного тактового сигнала. Один блок DLL я использую просто для синтеза частоты, bufg не используется. По поводу этого ISE пишет:

 

WARNING:LIT - CLKFB pin of DCM symbol "i_SDCM" is driven by pin CLK2X of

DCM symbol "i_SDCM". Proper phase relationship to the original clock

cannot be guaranteed if the driver is not an IBUF or BUFGMUX. Timing analysis

results may not be valid.

 

Т. е. просто не гарантируется соотношение фаз. Все работает нормально, если не требуется обеспечить синхронность выходных тактовых сигналов DLL по отношению к входному.

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


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

Задавал на тактовой PERIOD = 6 - безполезно!,

а насчет малого проекта, так это не весь!

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


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

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

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

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

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

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

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

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

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

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