URL
https://opencores.org/ocsvn/quark/quark/trunk
Subversion Repositories quark
[/] [quark/] [trunk/] [05_HDLConstruction/] [01_OldArchitecture_ReferenceOnly/] [ControlUnit/] [ControlUnit.v] - Rev 10
Compare with Previous | Blame | View Log
//////////////////////////////////////////////// // @file ControlUnit.v // @brief Control Unit of Quantum Processor // @date 9/28/2014 //////////////////////////////////////////////// module ControlUnit ( input Clock, input Reset, input [0:7] BusDataIn, input [0:15] AluResult, output IncrementPC, output WritePC, output WriteEnable, output [0:7] BusDataOut, output [0:7] NewPC, output [0:7] AluInstruction, output [0:7] AluInput1, output [0:7] AluInput2, output [0:7] REGA, output [0:7] REGB, output [0:7] REGC, output [0:7] REGX, output [0:7] REGY, output [0:7] REGZ ); wire [0:15] ExecuteCode; wire [0:7] Opcode; wire [0:7] FetchTemporalReg1; wire [0:7] FetchTemporalReg2; wire [0:7] FetchTemporalReg3; wire RequestDecode; wire DecodeIsBusy; wire LockPC; wire PCIsNotLocked; wire IncrementPC1; wire ExecuteIsBusy; wire RequestExecute; wire MemoryIsCorrupted; wire RequestUnlockPC; FetchUnit FetchUnit( .Clock (Clock), .Reset (Reset), .DecodeIsBusy (DecodeIsBusy), .RequestUnlockPC (RequestUnlockPC), .BusDataIn (BusDataIn), .Opcode (Opcode), .FetchTemporalReg1 (FetchTemporalReg1), .FetchTemporalReg2 (FetchTemporalReg2), .FetchTemporalReg3 (FetchTemporalReg3), .RequestDecode (RequestDecode), .LockPC (LockPC), .PCIsNotLocked (PCIsNotLocked), .IncrementPC (IncrementPC1) ); DecodeUnit DecodeUnit( .Clock (Clock), .Reset (Reset), .RequestDecode (RequestDecode), .ExecuteIsBusy (ExecuteIsBusy), .Opcode (Opcode), .FetchTemporalReg1 (FetchTemporalReg1), .FetchTemporalReg2 (FetchTemporalReg2), .FetchTemporalReg3 (FetchTemporalReg3), .ExecuteCode (ExecuteCode), .DecodeIsBusy (DecodeIsBusy), .RequestExecute (RequestExecute), .MemoryIsCorrupted (MemoryIsCorrupted) ); ExecuteUnit ExecuteUnit( .Clock (Clock), .Reset (Reset), .RequestExecute (RequestExecute), .AluResult (AluResult), .ExecuteCode (ExecuteCode), .FetchTemporalReg1 (FetchTemporalReg1), .FetchTemporalReg2 (FetchTemporalReg2), .FetchTemporalReg3 (FetchTemporalReg3), .REGA (REGA), .REGB (REGB), .REGC (REGC), .REGX (REGX), .REGY (REGY), .REGZ (REGZ), .AluInput1 (AluInput1), .AluInput2 (AluInput2), .AluInstruction (AluInstruction), .BusDataOut (BusDataOut), .NewPC (NewPC), .WritePC (WritePC), .ExecuteIsBusy (ExecuteIsBusy), .RequestUnlockPC (RequestUnlockPC), .WriteEnable (WriteEnable) ); assign IncrementPC = PCIsNotLocked & IncrementPC1; endmodule //////////////////////////////////////////////// // EOF ////////////////////////////////////////////////