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

Вопрос по Verilog'у

Господа, знатоки Verilog'а, подскажите или посоветуйте, где прочитать, что означает вот такая конструкция на Verilog'е:

  `ifdef M 
       pcke <= repeat (1) @(negedge pclk)  cke;
 `else
       #0 pcke = cke;
 `endif

В особенности интересно вот это:

  #0 pcke = cke;

Есть ли эквивалентная конструкция?

Заранее спасибо

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


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

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

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


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

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

Спасибо, а ссылочку на толковую книжку, желательно на английском, не подскажите?

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


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

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

Спасибо, а ссылочку на толковую книжку, желательно на английском, не подскажите?

стандарт

http://servis-ins.narod.ru/tmp/vhdl/ieee13...erilog_2001.rar

по проектированию очень не плоха книга HDL Chip Design Duglas Smith

 

много интересного

http://www.sunburst-design.com/papers/

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


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

#0 означает задаежку.

 

Замечание в скобках: #0 имемет смысл только для симуляции. При синтезе все

#хх игнорируются.

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


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

Господа, знатоки Verilog'а, подскажите или посоветуйте, где прочитать, что означает вот такая конструкция на Verilog'е:

  `ifdef M 
       pcke <= repeat (1) @(negedge pclk)  cke;
 `else
       #0 pcke = cke;
 `endif

В особенности интересно вот это:

  #0 pcke = cke;

Есть ли эквивалентная конструкция?

Заранее спасибо

 

#0 pcke = cke;

означает присвоить одно другому в следующем дельта цикле (чтобы избежать гонки сигналов)

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


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

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

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

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

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

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

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

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

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

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