Jump to content
    

Снова вопросы начинающего... VErilog

ничего :)

написать вместо

if ((din == FarBPackage.nextCRC16_D24({FifoMemory[WrPntr_p-1],din[15:8]},0))

вот это

if ((din == tObj.nextCRC16_D24({FifoMemory[WrPntr_p-1],din[15:8]},0))

 

з.ы. Скажите а чем вам не понравилось идея подключать (инклудить) функции?

 

@E: CG100 :"C:\My\My_work\Almaz\HDL\FAR_BOS\SDR\SDR_Model_FPGA\fifo_anal_rec_my.v":90:40:90:43|Reference to unknown variable tObj

 

 

инклюдить щаз буду пытаться... некрасиво ето как-то

Share this post


Link to post
Share on other sites

@E: CG100 :"C:\My\My_work\Almaz\HDL\FAR_BOS\SDR\SDR_Model_FPGA\fifo_anal_rec_my.v":90:40:90:43|Reference to unknown variable tObj

инклюдить щаз буду пытаться... некрасиво ето как-то

Ваша правда, такое в квартусе не компиляется. А вот с

din == FarBPackage.nextCRC16_D24

всё ок :-)

Share this post


Link to post
Share on other sites

Ваша правда, такое в квартусе не компиляется. А вот с

din == FarBPackage.nextCRC16_D24

всё ок :-)

 

повезло Вам.

у меня Xil :05:

Share this post


Link to post
Share on other sites

повезло Вам.

у меня Xil :05:

 

инклуд файл сделайте, либо, если SV поддерживается сделайте честный пакет.

либо возьмите прецижен синтезатор.

 

Удачи.

Share this post


Link to post
Share on other sites

инклуд файл сделайте, либо, если SV поддерживается сделайте честный пакет.

либо возьмите прецижен синтезатор.

 

Удачи.

 

Работаю Ise8.2 + Synplify 8.5

у меня получился довольно сложный проект, (кстати инклуд не получилось заставить работать, может подскажете как :) ), и в свете етого и высказываний CaPpuCcino по поводу некачественной реализации Verilog в Synplify, вообще щаз подумываю о возврате всего проекта обратно в VHDL. Насколько я понял (и по экспериментам) оптимизация в Precision гораздо хуже, а у меня все будет на пределе, 3-й военный спартан надо заставить работать на частоте 180 МГц (8b10, crc, fifo,сложная логика- 5 уровней вложенности if then). Боюсь что Precision просто хуже разведет, кроме того со смешанным дизайном один геморрой - уже второй день в кучу собрать не могу, он то не синтезится, то не маппится.

Share this post


Link to post
Share on other sites

Насколько я понял (и по экспериментам) оптимизация в Precision гораздо хуже

можно по-подробнее о плохости оптимизации в Пресижине (если есть ссылки на критику, в том числе частную, и/либо о собственном опыте по сравнению с альтернативными синтезаторами)

Share this post


Link to post
Share on other sites

Работаю Ise8.2 + Synplify 8.5

у меня получился довольно сложный проект, (кстати инклуд не получилось заставить работать, может подскажете как :) ), и в свете етого и высказываний CaPpuCcino по поводу некачественной реализации Verilog в Synplify, вообще щаз подумываю о возврате всего проекта обратно в VHDL. Насколько я понял (и по экспериментам) оптимизация в Precision гораздо хуже, а у меня все будет на пределе, 3-й военный спартан надо заставить работать на частоте 180 МГц (8b10, crc, fifo,сложная логика- 5 уровней вложенности if then). Боюсь что Precision просто хуже разведет, кроме того со смешанным дизайном один геморрой - уже второй день в кучу собрать не могу, он то не синтезится, то не маппится.

вот тут о том как сделать инклуд этих фунций

http://electronix.ru/forum/index.php?s=&am...st&p=287932

 

:biggrin:

Share this post


Link to post
Share on other sites

можно по-подробнее о плохости оптимизации в Пресижине (если есть ссылки на критику, в том числе частную, и/либо о собственном опыте по сравнению с альтернативными синтезаторами)

 

Ссылок на других авторов не дам, специально не сохранял, экспериментировал над своим проектом.

 

Коммутатор данных на Virtex2 1000, загрузка кристалла 92%. Там несколько каналов обмена с Tiger Shark и ядро обработки данных. Щаз в Синплифае каналы разводятся на 150 DDR, ядро на 130 МГц. (а там 32 разрядные шины и обработка). Попытался подключить Пресижн - тактовая в IO упала чуть ли не до 75 DDR.

Возможно я что-то не настроил, разбираться было некогда да и большого желания не было. В синплифае я тоже ничего не настраиваю, выставляю констрейны трассировки и все. Может быть в проекте были просто критичные конструкции, которые синтезатор просто не понял.

Разбираться я не стал, а в свете того факта, что корявый синтаксис VHDL позволяет реализовать все возможные программные конструкции, а красивый Verilog для такой же функциональности требует бесконечного количества обновлений языка, за которым никогда не успевают разработчики синтезаторов, я просто плюнул на Пресижен и в новом проекте написал все параметризованные модули в VHDL, а все сложные и алгоритмические в Verilog. Сейчас чувствую весь новый проект из Verilog-a сползает обратно в VHDL.

 

 

 

P.s. Получается что претензия к качеству синтеза проекта написанного на VHDL, мда, но все равно, как в том анекдоте: "...ложка нашлась, а осадок остался."

Share this post


Link to post
Share on other sites

Коммутатор данных на Virtex2 1000, загрузка кристалла 92%. Там несколько каналов обмена с Tiger Shark и ядро обработки данных. Щаз в Синплифае каналы разводятся на 150 DDR, ядро на 130 МГц. (а там 32 разрядные шины и обработка). Попытался подключить Пресижн - тактовая в IO упала чуть ли не до 75 DDR.

ещё коварный вопрос: а приведённую частоту вы брали из того, что выдают синтезаторы, или уже после разводки и размещения в кристалле?

Share this post


Link to post
Share on other sites

Разбираться я не стал, а в свете того факта, что корявый синтаксис VHDL позволяет реализовать все возможные программные конструкции, а красивый Verilog для такой же функциональности требует бесконечного количества обновлений языка, за которым никогда не успевают разработчики синтезаторов, я просто плюнул на Пресижен и в новом проекте написал все параметризованные модули в VHDL, а все сложные и алгоритмические в Verilog. Сейчас чувствую весь новый проект из Verilog-a сползает обратно в VHDL.

 

Не верю (с) Станиславский. если не сложно покажите параметризованный вхдл код, который невозможно перевести на верилог. :) А то может зря я с SV связался :)))

 

ЗЫ. Кстати, если мне память не изменяет, обновление красивого верилога было в 95, 2001, 2005 году, тогда как корявого, по вашим словам вхдля 93, 2000, 2002.

Share this post


Link to post
Share on other sites

ЗЫ. тогда как ... вхдля 93, 2000, 2002.

и ещё одно ожидается (кстати из года в год начиная с 2006-ого). что они там так тормозят с выпуском нового стандарта?..

Share this post


Link to post
Share on other sites

Не верю (с) Станиславский. если не сложно покажите параметризованный вхдл код, который невозможно перевести на верилог. :) А то может зря я с SV связался :)))

 

ЗЫ. Кстати, если мне память не изменяет, обновление красивого верилога было в 95, 2001, 2005 году, тогда как корявого, по вашим словам вхдля 93, 2000, 2002.

 

я не говорил что в VHDL есть конструкции, которых нельзя реализовать в SV. Я говорил, что есть конструкции, которые нельзя реализовать в Verilog 2001. Именно SV я называл надстройкой к верилогу. А Synplify SV не поддерживает. И мне кажется, что так как Precision хуже разводит VHDL, он также хуже разводит и Verilog.

Что же касается конструкции, которая вызвала сложности то вот модуль:

 

-- type SregTrBlockStMash_type is (IdleSt, TransmitSt);

SregTrBlockStMashine: process(ClkDivSwitch)

begin

if (ClkDivSwitch'event and ClkDivSwitch = '1') then

if Reset = '1' then

TransReady <= '0';

SregTrBlockStMash_p <= IdleSt;

else

case SregTrBlockStMash_p is

when IdleSt =>

TransReady <= '0';

TransDone_p <= (others => '0');

DetConnLoop: for i in 0 to (Trans_num - 1) loop

if NeedToTr = '1' and BusGrant_p(i) = '1' then

TransReady <= '1';

SregTrBlockStMash_p <= TransmitSt;

end if;

end loop DetConnLoop;

 

when TransmitSt =>

DisconnLoop: for i in 0 to (Trans_num - 1) loop

if NeedToTr = '0' then

if BusGrant_p(i) = '1'then

TransDone_p(i) <= '1';

else

SregTrBlockStMash_p <= IdleSt;

end if;

end if;

end loop DisconnLoop;

 

when others => null;

 

end case;

end if;

end if;

end process;

 

 

ещё коварный вопрос: а приведённую частоту вы брали из того, что выдают синтезаторы, или уже после разводки и размещения в кристалле?

 

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

Share this post


Link to post
Share on other sites

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

извините, помню, что подобную тему обсуждали, но не помню с кем (время, дела)

Share this post


Link to post
Share on other sites

2 a123-flex

 

за копи пастил, посмотрю чуть позже, щас времени мало.

Share this post


Link to post
Share on other sites

2 a123-flex

 

за копи пастил, посмотрю чуть позже, щас времени мало.

да че там смотреть та ?

параметрированный цикл внутри машины состояний

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...