ок ну вот фрагмент мультиплексора с регистром:
Код
-- Row counter register
row_counter_reg: entity work.dffn
generic map (
n => 10
)
port map (
clk => clk,
en => row_cnt_reg_en,
rst => rst,
d => row_cnt_reg_in,
q => row_cnt_reg_out
);
-- Row counter register control Mux
with row_cnt_inc select
row_cnt_reg_in <= row_cnt_reg_out when "00",
row_cnt_reg_out + 1 when "01",
"0000000000" when "10",
(others => '0') when others;
для управления использую row_cnt_reg_en и row_cnt_inc.
в поле чувствительности процесса автомата управления сигнал row_cnt_reg_out, в зависимости от его значения поднимаю row_cnt_reg_en и ставлю нужное значение на row_cnt_inc
ну а еслиб асинхронщина была то и с версией софта 9.1 проблемы бы были..
п.с. автомат управления работает на том же клоке что и регистры
Сообщение отредактировал BlackOps - Aug 10 2010, 06:29