Warp-SE/cpld/SET.v

41 lines
778 B
Coq
Raw Permalink Normal View History

2024-10-11 20:41:31 +00:00
module SET(
input CLK,
2024-10-11 21:28:08 +00:00
input nPOR,
2024-10-11 20:41:31 +00:00
input BACT,
input [11:1] A,
input SetCSWR,
output reg SlowIACK,
output reg SlowVIA,
output reg SlowIWM,
output reg SlowSCC,
output reg SlowSCSI,
output reg SlowSnd,
output reg SlowClockGate,
output reg [3:0] SlowTimeout);
reg SetWRr; always @(posedge CLK) SetWRr <= BACT && SetCSWR;
always @(posedge CLK) begin
2024-10-11 21:28:08 +00:00
if (!nPOR) begin
2024-10-12 04:19:33 +00:00
SlowTimeout[3:0] <= 4'h3;
2024-10-12 04:15:33 +00:00
SlowIACK <= 0;
2024-10-12 04:01:05 +00:00
SlowVIA <= 1;
SlowIWM <= 1;
SlowSCC <= 1;
2024-10-12 04:15:33 +00:00
SlowSCSI <= 1;
2024-10-12 04:01:05 +00:00
SlowSnd <= 1;
2024-10-12 04:27:06 +00:00
SlowClockGate <= 0;
2024-10-11 21:28:08 +00:00
end else if (SetWRr) begin
2024-10-11 20:41:31 +00:00
SlowTimeout[3:0] <= A[11:8];
SlowIACK <= A[7];
SlowVIA <= A[6];
SlowIWM <= A[5];
SlowSCC <= A[4];
SlowSCSI <= A[3];
SlowSnd <= A[2];
SlowClockGate <= A[1];
end
end
endmodule