URL
https://opencores.org/ocsvn/theia_gpu/theia_gpu/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 166 |
Rev 175 |
`timescale 1ns / 1ps
|
`timescale 1ns / 1ps
|
`include "aDefinitions.v"
|
`include "aDefinitions.v"
|
module InstructionEntryPoint
|
module InstructionEntryPoint
|
(
|
(
|
input wire Clock,
|
input wire Clock,
|
input wire Reset,
|
input wire Reset,
|
input wire iTrigger,
|
input wire iTrigger,
|
input wire[`ROM_ADDRESS_WIDTH-1:0] iInitialCodeAddress,
|
input wire[`ROM_ADDRESS_WIDTH-1:0] iInitialCodeAddress,
|
input wire [`INSTRUCTION_WIDTH-1:0] iIMemInput,
|
input wire [`INSTRUCTION_WIDTH-1:0] iIMemInput,
|
|
|
output wire oEPU_Busy,
|
output wire oEPU_Busy,
|
output wire [`ROM_ADDRESS_WIDTH-1:0] oEntryPoint,
|
output wire [`ROM_ADDRESS_WIDTH-1:0] oEntryPoint,
|
output wire oTriggerIFU,
|
output wire oTriggerIFU,
|
output wire [`ROM_ADDRESS_WIDTH-1:0] oInstructionAddr
|
output wire [`ROM_ADDRESS_WIDTH-1:0] oInstructionAddr
|
);
|
);
|
|
|
assign oInstructionAddr = (oTriggerIFU) ? oEntryPoint : iInitialCodeAddress;
|
assign oInstructionAddr = (oTriggerIFU) ? oEntryPoint : iInitialCodeAddress;
|
assign oEPU_Busy = iTrigger | oTriggerIFU;
|
assign oEPU_Busy = iTrigger | oTriggerIFU;
|
|
|
|
/*
|
|
|
|
FFD_POSEDGE_ASYNC_RESET # ( 1 ) FFD1
|
FFD_POSEDGE_ASYNC_RESET # ( 1 ) FFD1
|
(
|
|
.Clock(Clock),
|
|
.Clear( Reset ),
|
|
.D(iTrigger),
|
|
.Q(oTriggerIFU)
|
|
);
|
|
*/
|
|
FFD_POSEDGE_SYNCRONOUS_RESET # ( 1 ) FFD1
|
(
|
(
|
.Clock(Clock),
|
.Clock(Clock),
|
.Clear( Reset ),
|
.Reset( Reset ),
|
|
.Enable(1'b1),
|
.D(iTrigger),
|
.D(iTrigger),
|
.Q(oTriggerIFU)
|
.Q(oTriggerIFU)
|
);
|
);
|
|
|
assign oEntryPoint = (oTriggerIFU) ? iIMemInput[`ROM_ADDRESS_WIDTH-1:0] : `ROM_ADDRESS_WIDTH'b0;
|
assign oEntryPoint = (oTriggerIFU) ? iIMemInput[`ROM_ADDRESS_WIDTH-1:0] : `ROM_ADDRESS_WIDTH'b0;
|
|
|
endmodule
|
endmodule
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.