mirror of
https://github.com/MiSTer-devel/SlugCross_MiSTer.git
synced 2026-04-19 03:05:34 +00:00
55 lines
1.5 KiB
Verilog
55 lines
1.5 KiB
Verilog
`timescale 1ns / 1ps
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
// Company:
|
|
// Engineer:
|
|
//
|
|
// Create Date: 12/01/2018 06:24:58 PM
|
|
// Design Name:
|
|
// Module Name: TopStateMachineLogic
|
|
// Project Name:
|
|
// Target Devices:
|
|
// Tool Versions:
|
|
// Description:
|
|
//
|
|
// Dependencies:
|
|
//
|
|
// Revision:
|
|
// Revision 0.01 - File Created
|
|
// Additional Comments:
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
module TopStateMachineLogic(
|
|
input clk,
|
|
input btnUDLR,
|
|
input btnC,
|
|
input WinDetect,
|
|
input LossDetect,
|
|
input [3:0] Q,
|
|
|
|
output reset,
|
|
output btnCenable,
|
|
output btnUDLRenable,
|
|
output TimerEnable,
|
|
output flashSlug,
|
|
output flashBorder,
|
|
output [3:0] D
|
|
);
|
|
|
|
assign D[0] = (Q[0] & ~WinDetect & ~LossDetect & ~btnC & ~btnUDLR) | (Q[0] & ~WinDetect & ~LossDetect & btnC) | (Q[2] & btnC) |
|
|
(Q[3] & btnC) | (Q[0] & ~WinDetect & LossDetect) | (Q[0] & WinDetect & LossDetect) | (Q[0] & WinDetect & ~LossDetect);
|
|
assign D[1] = (Q[0] & ~WinDetect & ~LossDetect & ~btnC & btnUDLR) | (Q[1] & ~WinDetect & ~LossDetect);
|
|
assign D[2] = (Q[1] & ~WinDetect & LossDetect) | (Q[2] & ~btnC);
|
|
assign D[3] = (Q[1] & WinDetect & ~LossDetect) | (Q[3] & ~btnC);
|
|
|
|
assign reset = Q[0];
|
|
assign btnCenable = ~Q[1];
|
|
assign btnUDLRenable = Q[0] | Q[1];
|
|
assign TimerEnable = Q[1];
|
|
assign flashSlug = Q[2];
|
|
assign flashBorder = Q[3];
|
|
|
|
|
|
endmodule
|