OpenCores
URL https://opencores.org/ocsvn/theia_gpu/theia_gpu/trunk

Subversion Repositories theia_gpu

[/] [theia_gpu/] [branches/] [icarus_version/] [rtl/] [Module_InstructionEntryPoint.v] - Blame information for rev 221

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 158 diegovalve
`timescale 1ns / 1ps
2
`include "aDefinitions.v"
3
module InstructionEntryPoint
4
(
5
input wire                          Clock,
6
input wire                                                                 Reset,
7
input wire                                                                 iTrigger,
8
input wire[`ROM_ADDRESS_WIDTH-1:0]  iInitialCodeAddress,
9
input wire [`INSTRUCTION_WIDTH-1:0] iIMemInput,
10
 
11
output wire                          oEPU_Busy,
12
output wire [`ROM_ADDRESS_WIDTH-1:0] oEntryPoint,
13
output wire                          oTriggerIFU,
14
output wire [`ROM_ADDRESS_WIDTH-1:0] oInstructionAddr
15
);
16
 
17
assign oInstructionAddr = (oTriggerIFU) ? oEntryPoint : iInitialCodeAddress;
18
assign oEPU_Busy = iTrigger | oTriggerIFU;
19
 
20 175 diegovalve
/*
21 158 diegovalve
 
22
FFD_POSEDGE_ASYNC_RESET # ( 1 ) FFD1
23
(
24
.Clock(Clock),
25
.Clear( Reset ),
26
.D(iTrigger),
27
.Q(oTriggerIFU)
28
);
29 175 diegovalve
*/
30
FFD_POSEDGE_SYNCRONOUS_RESET # ( 1 ) FFD1
31
(
32
        .Clock( Clock ),
33
        .Reset( Reset ),
34
        .Enable(1'b1),
35
        .D(iTrigger),
36
        .Q(oTriggerIFU)
37
);
38 158 diegovalve
 
39
assign oEntryPoint = (oTriggerIFU) ? iIMemInput[`ROM_ADDRESS_WIDTH-1:0] : `ROM_ADDRESS_WIDTH'b0;
40
 
41
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.