Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> VHDL

Как использовать цикл и выход в VHDL

В предыдущем уроке мы научились задерживать время с помощью wait for. утверждение. Мы также узнали о цикле процесса. Теперь мы знаем, что если мы позволим этому, процесс «поток» навсегда зациклится внутри процесса.

Но что, если мы хотим сделать что-то только один раз в начале процесса? А затем в конце зациклиться на каком-то другом коде? Простейший цикл в VHDL можно создать с помощью loop заявление.

Эта запись в блоге является частью серии учебных пособий по основам VHDL.

Синтаксис простого цикла:

loop
end loop;

Такой цикл будет продолжаться бесконечно или до тех пор, пока exit; встречается. exit можно использовать для выхода из любого цикла.

Упражнение

В этом видеоуроке вы узнаете, как создать простой цикл и как выйти из него:

Окончательный код, который мы создали в этом руководстве:

entity T03_LoopTb is
end entity;

architecture sim of T03_LoopTb is
begin

    process is
    begin
 
        report "Hello!";
        
        loop
            report "Peekaboo!";
            exit;
        end loop;
        
        report "Goodbye!";
        wait;
        
    end process;

end architecture;

Вывод в консоль симулятора, когда мы нажали кнопку запуска в ModelSim:

VSIM 2> run
# ** Note: Hello!
#    Time: 0 ns  Iteration: 0  Instance: /t03_looptb
# ** Note: Peekaboo!
#    Time: 0 ns  Iteration: 0  Instance: /t03_looptb
# ** Note: Goodbye!
#    Time: 0 ns  Iteration: 0  Instance: /t03_looptb

Анализ

При запуске финального кода в симуляторе мы увидели, что первый «Hello!» был напечатан на консоли ModelSim. Затем «Пикабу!» между loop; и end loop; был напечатан. На следующей строке программа попала в exit; оператора, что приводит к выходу программы из цикла. Наконец, «До свидания!» был напечатан. После этого больше ничего не происходит, потому что программа навсегда приостановлена ​​на wait; заявление.

Мы можем видеть из временных меток распечаток, что все произошло во время моделирования 0 нс. Как мы узнали из предыдущего урока, все, кроме wait инструкции занимают нулевое время.

Вывод

Перейти к следующему руководству »


VHDL

  1. Как использовать процедуру в процессе в VHDL
  2. Как использовать нечистую функцию в VHDL
  3. Как использовать функцию в VHDL
  4. Как использовать процедуру в VHDL
  5. Как создать таймер в VHDL
  6. Как использовать константы и общую карту в VHDL
  7. Как использовать создание экземпляра карты портов в VHDL
  8. Как бесплатно установить симулятор и редактор VHDL
  9. Микроконтроллер PIC18:что это такое и как его использовать
  10. Что такое позиционное обозначение и как мы его используем в ассемблере?