VHDL первые шаги. Секция architecture — описание архитектуры проекта

Мы уже знакомы с тем Что такое entity, теперь, когда мы уже умеем задавать входы и выходы для нашего цифрового устройства, позаботимся об описании процесса его функционирования.

Как видно из изображения архитектура это что-то вроде «внутренностей» цифрового устройства. К примеру откроем техническую документацию (так красиво обзывают datasheet) на буфер 74hc244 и перейдём в раздел Functional diagram:

Как видно микросхема состоит из повторителей и инверторов — это и есть её архитектура. Зная это вполне можно воспользоваться редактором схем Quartus II и создать описание данного буфера на ПЛИС.

Что нужно знать об архитектуре в VHDL ? Да впринципе достаточно будет помнить, что внутри архитектуры могут быть только параллельные операторы (об этом позже). Ни о каких последовательных речь быть не может! Если возникает необходимость их использовать нужно создать процесс, который и будет этим заниматься.

Как написать архитектуру на VHDL ? Создать архитектуру можно вот так:

architecture имя_архитектуры of имя_entity
     -- тут декларируем сигналы необходимые для работы
begin
     -- тело архитектуры
     -- тут могут находиться только параллельные операторы
end имя_архитектуры;

Стоит упомянуть, что архитектура привязана к entity. Причём для одного entity может быть создано несколько архитектур с разными названиями!

Пример архитектуры для триггера:

architecture rs_trigger of trigger is
begin
    process (CLK,reset,R)
    begin
    if (reset = '1') then
        Q <= '0';
        nQ <= '0';
    elsif rising_edge(CLK) then
        if (S='1') then
            Q <= '1';
            nQ <= '0';
        elsif (R='1')
            Q <= '0';
            nQ <= '1';
        end if;
    end if;
    end process;
end rs_trigger;

Вопросы милости прошу в комментарии.

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий