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 06:13:14 +00:00
|
|
|
SlowTimeout[3:0] <= 4'h3;
|
2024-10-12 05:58:23 +00:00
|
|
|
SlowIACK <= 0;
|
2024-10-12 04:01:05 +00:00
|
|
|
SlowVIA <= 1;
|
|
|
|
SlowIWM <= 1;
|
2024-10-12 05:45:42 +00:00
|
|
|
SlowSCC <= 0;
|
2024-10-12 06:09:30 +00:00
|
|
|
SlowSCSI <= 0;
|
2024-10-12 04:01:05 +00:00
|
|
|
SlowSnd <= 1;
|
2024-10-12 06:09:30 +00:00
|
|
|
SlowClockGate <= 1;
|
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
|