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

Структура на verilog

Здравствуйте уважаемые товарищи форумчане. Подскажите пожалуйста:

1. возможно ли в Верилоге создать аналог record VHDL.

2. и второй вопрос, можно ли запретить один блок или компонент и разрешить другой при синтезе проекта (смысл такой, что я создал универсальный компонент с разной разрядностью входных и выходных портов, но если выходные порты будут иметь разрядность большую чем входные то получится число меньше 1 (вх_ширина/вых_ширина) такое выражение применяется в моем описании), поэтому необходимо закоментировать один компонент и раскоментировать другой, в котором,в описании применяется другое выражение(вых_ширина/вх_ширина). Заранее благодарен.

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


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

Здравствуйте уважаемые товарищи форумчане. Подскажите пожалуйста:

1. возможно ли в Верилоге создать аналог record VHDL.

ИМХО, только ручками обращаться к битам вектора по смещению; хочется немного красивее / удобнее - через макросы, специфичные для конкретной структуры. Если надо много, но стоит ограничение на чистый V - где-то в Сети попадался perl-скрипт препроцессинга, понимавший расположенное прямо в тексте описание структур в каком-то своём формате и выдававший на выходе Verilog-код со всеми рзвёрнутыми сдвигами.

2. и второй вопрос, можно ли запретить один блок или компонент и разрешить другой при синтезе проекта (смысл такой, что я создал универсальный компонент с разной разрядностью входных и выходных портов, но если выходные порты будут иметь разрядность большую чем входные то получится число меньше 1 (вх_ширина/вых_ширина) такое выражение применяется в моем описании), поэтому необходимо закоментировать один компонент и раскоментировать другой, в котором,в описании применяется другое выражение(вых_ширина/вх_ширина). Заранее благодарен.

Смотрите в стандарте конструкцию "generate if ".

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


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

ИМХО, только ручками обращаться к битам вектора по смещению; хочется немного красивее / удобнее - через макросы, специфичные для конкретной структуры. Если надо много, но стоит ограничение на чистый V - где-то в Сети попадался perl-скрипт препроцессинга, понимавший расположенное прямо в тексте описание структур в каком-то своём формате и выдававший на выходе Verilog-код со всеми рзвёрнутыми сдвигами.

 

тогда вопрос может не в той ветке но не хотелось заводить новую тему (да простят меня админы :a14: ) : почему ISE 12.1 подсвечивает

 struct {
integer a;
reg b;
} bus;

, но при нажатии кнопки save, ругается на него.

Смотрите в стандарте конструкцию "generate if ".

 

спасибо теперь все стало ясно!!!!

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


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

почему ISE 12.1 подсвечивает
 struct {
integer a;
reg b;
} bus;

, но при нажатии кнопки save, ругается на него.

потому что запись такая есть, но вот поддержки ее нет %)

 

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


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

потому что запись такая есть, но вот поддержки ее нет %)

 

все спасибо понял :biggrin: печально....:crying:

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


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

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

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

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

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

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

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

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

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

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