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

Глупый/чайниковский вопрос по SV

Пытаюсь тут использовать в своих (сугубо личных) целях код, написанный на SV. Мало того, что я Verilog/SV не знаю (только VHDL), так еще и проект был сделан под Xilinx (я же только с Altera имел дело).

 

Есть такой кусок:

 

131    genvar i, j;
132    generate
133    for (i = 0; i < NUM_BANKS; i ++) 
134        for (j = 0; j < NUM_OPERATORS_PER_BANK; j++) begin
135            edge_detector #(

 

На него (и несколько подобных мест) выдает ошибки:

 

Error (10170): Verilog HDL syntax error at phase_generator.sv(134) near text: "for";  expecting "begin". Check for and fix any syntax errors that appear immediately before or at the specified keyword. 
Error (10644): Verilog HDL error at phase_generator.sv(133): this block requires a name

 

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

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


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

Приветствую!

 

Пытаюсь тут использовать в своих (сугубо личных) целях код, написанный на SV. Мало того, что я Verilog/SV не знаю (только VHDL), так еще и проект был сделан под Xilinx (я же только с Altera имел дело).
Как же Вам тяжело ... - говорить на языке которого не знаешь ...

 

131    genvar i, j;
132    generate
133    for (i = 0; i < NUM_BANKS; i ++) 
134        for (j = 0; j < NUM_OPERATORS_PER_BANK; j++) begin
135            edge_detector #(

...

Это заморочки конкретного синтезатора - он всего то хочет '... имя сестра - назови его имя ... ' попробуйте так :

...
133    for (i = 0; i < NUM_BANKS; i ++) begin : g_name_dla_etoro_for_bloka
134        for (j = 0; j < NUM_OPERATORS_PER_BANK; j++) begin : g_name_dla_vtorogo_for_bloka
...

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

На сколько помню именно Quartus на такое и ругается.

 

Удачи! Rob.

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


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

Как же Вам тяжело ... - говорить на языке которого не знаешь ...

Тут, скорее, как раз проблемы не в самом языке (все-таки я его немного понимаю), а в конкретной среде...

 

Это заморочки конкретного синтезатора - он всего то хочет '... имя сестра - назови его имя ... '

Именно так - я уже успел найти этот код, портированный в Quartus, и там как раз просто добавлены имена...

 

Удачи! Rob.

Большое спасибо !

 

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


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

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

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

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

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

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

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

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

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

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