Вот смотрю шпаргалку по vhdl тут - https://www.ics.uci.edu/~jmoorkan/vhdlref/process.html и в ней говорится что process бывает ''clocked" типа такого:
и "combinational" типа такого:Код:process begin wait until CLK'event and CLK='1'; Q1 <= D1; end process;
A у меня вот такой случай что надо и то и другое сразу, ну я и сочинил такое:Код:process (A, B, SEL) begin Z <= B; if SEL='1' then Z <= A; end if; end process;
ppi_cs_n_int - это сигнал доступа к порту i8255 который в MSX применяется как mapper памяти, и как токо процессор обращается к i8255 нужно включить этот самый mapper аж до момента сброса (reset_inp_n = '0')Код:process(ppi_cs_n_int, reset_inp_n) begin if(reset_inp_n = '0') then slots_enable <= '0'; else if(ppi_cs_n_int'event and ppi_cs_n_int = '0') then slots_enable <= '1'; end if; end if; end process;
Так вот вопрос, может ли процесс быть наполовину ''clocked" а наполовину ''combinational" (как я сочинил)? или это неправильно и если в "sensitivity list" есть сигнал который ''clocked" то данный процесс будет выполняться строго по "clock"-у этого сигнала? ну и тогда тот кусок надо бы переписать как:
и таки интересно, как же насамом деле будет работать процесс в котором есть "clocked" сигнал но есть и другие сигналы в "sensitivity list", будет ли он запускаться при изменении этих сигналов тоже? или только по "clocked" сигналу?Код:process begin wait until ppi_cs_n_int'event and ppi_cs_n_int = '0'; slots_enable <= '1'; end process; process(reset_inp_n) begin if(reset_inp_n = '0') then slots_enable <= '0'; end if; end process;




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 
