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

Проблема с синтезом. Память под Synplify 8.2.1

Но верилог разрешает использование обоих фронтов для запуска олвайза!! Или я не прав..?

 

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

В частности, always@(posedge clk) синтезируется в триггер.

always @ (clk) реагирует на уровень.

 

Насчет смешивания блокирующих/неблокирующих- это я поторопился. Для разных сигналов такое возможно. Только очень осторожно, и блокрирующие присвоения в триггерах не рекомендуются.

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


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

ИМХО always@(GCLK) по уровню :) (сколько себя помню всегда так было),

Нафиг все, работа без выходных на голову таки воздействует!!

Покажу это сообщение начальнику, пусть в отпуск пускает.

а если по фронту то always@(posedge GCLK)

это не ВХДЛ,

это по ПЕРЕДНЕМУ фронту :) . А мне хотелось бы по обоим, а Synplify конструкцию posedge GCLK or negedge GCLK не любит. :(

насчет списка чувствительности, это из симуляторов, то что у казанно в алвейса и есть sensivity list, т.е. те сигнал по изменению которых запускаеться процесс удачи

Смысл простой... зато название какое!! :biggrin:

 

 

Насчет смешивания блокирующих/неблокирующих- это я поторопился. Для разных сигналов такое возможно. Только очень осторожно, и блокрирующие присвоения в триггерах не рекомендуются.

Смешать разные присвоения не даст синтезатор и тут он прав, он вообще не любит смешения синхронности и асинхронности.

Дело в том, что в том случае мы проверяем {A,A_C}, а потом делаем A_C=A;

Если мы запишем A_C<=A, то они уже на момент проверки будут равны. Значит, либо нужно унести присвоение в границы результата проверки, что в данном случае некоректно, либо ставить небокирующие.

Поправьте меня, если я заблуждаюсь.

 

P.S. Сказал про ассинхронность, и вспомнил: как-то он нефиг делать попробовал сделать RS-триггер с помощью assign-ов, только на wire-ах. И ведь получилось!! :)

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


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

а если по фронту то 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];

Память не работает по двум фронтам.

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


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

Или Вы хотите сказать, что у меня окончательно стекла крыша, и always@(GCLK) указывает, что работать по уровню, а не по обоим фронтам? Ну, в таком случае, мне самому уже пора звонить на "скорую"... Либо, наконец, выбить хоть маленький, крохотный отпуск...

 

ИМХО always@(GCLK) по уровню :) (сколько себя помню всегда так было),

а если по фронту то always@(posedge GCLK)

это не ВХДЛ,

always@(GCLK) - это по любому событию. По факту это соответствует комбинационной логике.

 

насчет списка чувствительности, это из симуляторов, то что у казанно в алвейса и есть sensivity list, т.е. те сигнал по изменению которых запускаеться процесс

В Верилог-2001 задавать список для комбинационных схем не требуется, можно просто писать always @(*) или always @*. Компилятор дальше сам разберется, что к чему исходя из контекста описания тела блока.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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