id_gene 0 29 ноября, 2005 Опубликовано 29 ноября, 2005 · Жалоба Но верилог разрешает использование обоих фронтов для запуска олвайза!! Или я не прав..? верилог разрешает, а синтез - нет. Синтезируемое подмножество использует небольшое количество всех возможных конструкций. В частности, always@(posedge clk) синтезируется в триггер. always @ (clk) реагирует на уровень. Насчет смешивания блокирующих/неблокирующих- это я поторопился. Для разных сигналов такое возможно. Только очень осторожно, и блокрирующие присвоения в триггерах не рекомендуются. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stalko 0 29 ноября, 2005 Опубликовано 29 ноября, 2005 · Жалоба ИМХО always@(GCLK) по уровню :) (сколько себя помню всегда так было), Нафиг все, работа без выходных на голову таки воздействует!! Покажу это сообщение начальнику, пусть в отпуск пускает. а если по фронту то always@(posedge GCLK) это не ВХДЛ, это по ПЕРЕДНЕМУ фронту :) . А мне хотелось бы по обоим, а Synplify конструкцию posedge GCLK or negedge GCLK не любит. :( насчет списка чувствительности, это из симуляторов, то что у казанно в алвейса и есть sensivity list, т.е. те сигнал по изменению которых запускаеться процесс удачи Смысл простой... зато название какое!! Насчет смешивания блокирующих/неблокирующих- это я поторопился. Для разных сигналов такое возможно. Только очень осторожно, и блокрирующие присвоения в триггерах не рекомендуются. Смешать разные присвоения не даст синтезатор и тут он прав, он вообще не любит смешения синхронности и асинхронности. Дело в том, что в том случае мы проверяем {A,A_C}, а потом делаем A_C=A; Если мы запишем A_C<=A, то они уже на момент проверки будут равны. Значит, либо нужно унести присвоение в границы результата проверки, что в данном случае некоректно, либо ставить небокирующие. Поправьте меня, если я заблуждаюсь. P.S. Сказал про ассинхронность, и вспомнил: как-то он нефиг делать попробовал сделать RS-триггер с помощью assign-ов, только на wire-ах. И ведь получилось!! :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 30 ноября, 2005 Опубликовано 30 ноября, 2005 · Жалоба а если по фронту то always@(posedge GCLK) это не ВХДЛ, это по ПЕРЕДНЕМУ фронту :) . А мне хотелось бы по обоим, а Synplify конструкцию posedge GCLK or negedge GCLK не любит. :( Вы в праве хотеть все, что угодно. Однако ваше желание упирается в возможности FPGA. Как вы себе представляете реализацию always (GCLK) if (GCLK == 0) MEM[A_MEM] <= DIN[15:8]; else MEM[A_MEM+1]<= DIN[7:0]; Память не работает по двум фронтам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 64 30 ноября, 2005 Опубликовано 30 ноября, 2005 · Жалоба Или Вы хотите сказать, что у меня окончательно стекла крыша, и always@(GCLK) указывает, что работать по уровню, а не по обоим фронтам? Ну, в таком случае, мне самому уже пора звонить на "скорую"... Либо, наконец, выбить хоть маленький, крохотный отпуск... ИМХО always@(GCLK) по уровню :) (сколько себя помню всегда так было), а если по фронту то always@(posedge GCLK) это не ВХДЛ, always@(GCLK) - это по любому событию. По факту это соответствует комбинационной логике. насчет списка чувствительности, это из симуляторов, то что у казанно в алвейса и есть sensivity list, т.е. те сигнал по изменению которых запускаеться процесс В Верилог-2001 задавать список для комбинационных схем не требуется, можно просто писать always @(*) или always @*. Компилятор дальше сам разберется, что к чему исходя из контекста описания тела блока. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться