URL
https://opencores.org/ocsvn/quark/quark/trunk
Subversion Repositories quark
[/] [quark/] [trunk/] [05_HDLConstruction/] [01_OldArchitecture_ReferenceOnly/] [ControlUnit/] [ControlUnit.v] - Rev 9
Go to most recent revision | 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 ////////////////////////////////////////////////
Go to most recent revision | Compare with Previous | Blame | View Log