module switchtest (
input [7:0] sw,
output [7:0] led
);
assign led[7:0] = sw[7:0];
endmodule
MIX@ писал(а):Проблема в том, что сигналы нужно выставлять на нескольких линиях с некоторой задержкой относительно друг друга. Я не очень представляю, как делать такой FSM, так что хотелось бы увидеть работающий пример.
always @(posedge clk) begin // состояния автомата будут меняться не чаще, чем 1 раз за 25 нс
............
case (FSM_state)
0: begin
D <= 20'hFEDCB; // выставляем значение первого сигнальчика
A <= 16'h0123; // одновременно выставляем значение второго сигнальчика
FSM_state <= FSM_state + 1'b1; // через 25 нс очнёмся в состоянии 1
end
1: begin
СE <= 1'b0; // выставляем значение третьего сигнальчика
FSM_state <= FSM_state + 1'b1; // через 25 нс очнёмся в состоянии 2
end
2: begin
if (i >= 2) begin // выполнится через 25*3=75 нс
WE <= 1'b0; // выставляем значение четвертого сигнальчика
i <= 0; // обнуляем счетчик
FSM_state <= FSM_state + 1'b1; // через 25 нс очнёмся в состоянии 3
end
else
i <= i + 1;
end
............
endcase
end
MIX@ писал(а):Благодарю за пояснения.
Ещё вопрос: нужно ли при чтении подключать синхронизатор к шине данных SRAM ? Имею в виду защиту от метастабильных состояний выводов.
Интегральный вычислитель писал(а):http://embedded.ifmo.ru/images/sdk61/CD_v122_sdk61r1_191205.zip
IZH7IZH писал(а):Интегральный вычислитель писал(а):http://embedded.ifmo.ru/images/sdk61/CD_v122_sdk61r1_191205.zip
Ссылка не работает.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0