2015-07-27 2 views
-1

Поскольку в VHDL процесс представляет собой набор последовательных операторов, и если вы пишете несколько процессов, эти из них выполняются одновременно, можно синхронизировать. их?Синхронизация процесса VHDL

В качестве примера

architeture my_arch_is of my_entity is 
begin 
    proc_1 : process(...) 
    begin 
     -- code 
    end process; 

    proc_2 : process(...) 
    begin 
     -- code 
    end process; 

    proc_3 : process(...) 
    begin 
     -- code 
    end process; 
end architecture; 

Что я хотел бы достичь, состоит в следующем, процесс 1 является своего рода селектор (т.е. он присваивает немного под конкретное событие) процесс 2 и 3 вместо того, чтобы вычислить параллельно два возможных результата, в основном я хотел бы вычислить селектор, и оба результата, и используя другую конструкцию vhdl, скажут что-то вроде «если селектор равен 0, возьмите результат процесса 2, иначе возьмите результат процесса 3», как мультиплексор.

Возможно ли сделать что-то подобное (если это имеет смысл, конечно)?

ответ

1

Да, возможно. И если вы используете, например, условный оператор для выбора одного из двух результатов, учитывая значение бита, предоставленное процессом 1, оно фактически будет синтезировано как мультиплексор.

+0

Я знаю, что это тривиальный вопрос ... но так как я новичок, у меня все еще есть проблемы с пониманием процесса и тем, как они работают. Должен ли я создать четвертый процесс для выбора? Я думаю о да, поскольку условный оператор является последовательным заявлением, но, чтобы быть уверенным. – user8469759

+0

Для этого вам не нужно создавать четвертый процесс. Для этой цели вы можете использовать любое из операторов параллельного присваивания. Условное присвоение - одно из них. – wahab

+0

Снова ... я думаю, что идея должна быть чем-то вроде ... каждый процесс присваивает свои СОБСТВЕННЫЕ сигналы, а заключительная условная инструкция должна устанавливать окончательный сигнал. Разве нет? Я не могу работать над одним и тем же сигналом в нескольких блоках процесса? – user8469759

Смежные вопросы