Nano Hash - криптовалюты, майнинг, программирование

Два генвара в одном генарте за цикл?

Приведенный ниже вид цикла генерации действителен в системе verilog.

genvar i,j;

for (i=0,j=5; i<5 && j<10; i++,j++) begin:M1

    integer t;

    initial begin

    t = i*j;

end

endgenerate
14.08.2018

  • Нет, это не работает для меня. ошибка при компиляции самого себя. 16.08.2018

Ответы:


1

Неа. Я даже не уверен, каким должно быть поведение этого кода или в каком порядке они выполняются.

genvar i,j;
for (i = 0; i <5; i++) begin
    for (j = 5; j < 10; j++) begin
        $display("%d", i*j);
    end
end

вам не нужно 'endgenerate' в конце.

14.08.2018

2

В вашем примере вы мало что можете сделать с genvars.

Следующий код имитирует то, что вы просили, но он может работать не со всеми симуляторами. Он работает с synopsys vcs, но не работает с icarus.

module g;
   genvar i;
   for (i=0; i<5; i++) begin:M
      if (i == 0) begin:B
         parameter j = 5;
      end
      else begin:B
         parameter j = g.M[i-1].B.j + 1;
      end

      integer t;
      initial begin
         t = i*B.j;
         $display(i, B.j, t);
      end
   end // block: M
endmodule // g

идея состоит в том, чтобы объявить параметр j внутри цикла генерации, чтобы его значение было приращением значения, объявленного в предыдущей итерации. Вам нужно добавить именованный блок «B» для условного объявления.

20.08.2018
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..