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

Subversion Repositories rtf65002

[/] [rtf65002/] [trunk/] [rtl/] [verilog/] [byte_rti.v] - Blame information for rev 5

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

Line No. Rev Author Line
1 5 robfinch
// RTI processing states for eight bit mode
2
//
3
BYTE_RTI9:
4
        if (unCachedData) begin
5
                cyc_o <= 1'b1;
6
                stb_o <= 1'b1;
7
                sel_o <= 4'hF;
8
                adr_o <= {radr,2'b00};
9
                state <= BYTE_RTI10;
10
        end
11
        else if (dhit) begin
12
                cf <= rdat8[0];
13
                zf <= rdat8[1];
14
                im <= rdat8[2];
15
                df <= rdat8[3];
16
                bf <= rdat8[4];
17
                vf <= rdat8[6];
18
                nf <= rdat8[7];
19
                sp <= sp_inc;
20
                radr <= {24'h1,sp_inc[7:2]};
21
                radr2LSB <= sp_inc[1:0];
22
                state <= BYTE_RTI1;
23
        end
24
        else
25
                dmiss <= `TRUE;
26
BYTE_RTI10:
27
        if (ack_i) begin
28
                cyc_o <= 1'b0;
29
                stb_o <= 1'b0;
30
                sel_o <= 4'h0;
31
                cf <= dati[0];
32
                zf <= dati[1];
33
                im <= dati[2];
34
                df <= dati[3];
35
                bf <= dati[4];
36
                vf <= dati[6];
37
                nf <= dati[7];
38
                sp <= sp_inc;
39
                radr <= {24'h1,sp_inc[7:2]};
40
                radr2LSB <= sp_inc[1:0];
41
                state <= BYTE_RTI1;
42
        end
43
BYTE_RTI1:
44
        if (unCachedData) begin
45
                cyc_o <= 1'b1;
46
                stb_o <= 1'b1;
47
                sel_o <= 4'hF;
48
                adr_o <= {radr,2'b00};
49
                state <= RTI2;
50
        end
51
        else if (dhit) begin
52
                radr <= {24'h1,sp_inc[7:2]};
53
                radr2LSB <= sp_inc[1:0];
54
                sp <= sp_inc;
55
                pc[7:0] <= rdat8;
56
                state <= BYTE_RTI3;
57
        end
58
        else
59
                dmiss <= `TRUE;
60
BYTE_RTI2:
61
        if (ack_i) begin
62
                cyc_o <= 1'b0;
63
                stb_o <= 1'b0;
64
                sel_o <= 4'h0;
65
                adr_o <= 34'h0;
66
                radr <= {24'h1,sp_inc[7:2]};
67
                radr2LSB <= sp_inc[1:0];
68
                sp <= sp_inc;
69
                pc[7:0] <= dati;
70
                state <= BYTE_RTI3;
71
        end
72
BYTE_RTI3:
73
        if (unCachedData) begin
74
                cyc_o <= 1'b1;
75
                stb_o <= 1'b1;
76
                sel_o <= 4'hF;
77
                adr_o <= {radr,2'b00};
78
                state <= BYTE_RTI4;
79
        end
80
        else if (dhit) begin
81
                radr <= {24'h1,sp_inc[7:2]};
82
                radr2LSB <= sp_inc[1:0];
83
                sp <= sp_inc;
84
                pc[15:8] <= rdat8;
85
                state <= BYTE_RTI5;
86
        end
87
        else
88
                dmiss <= `TRUE;
89
BYTE_RTI4:
90
        if (ack_i) begin
91
                cyc_o <= 1'b0;
92
                stb_o <= 1'b0;
93
                sel_o <= 4'h0;
94
                adr_o <= 34'h0;
95
                radr <= {24'h1,sp_inc[7:2]};
96
                radr2LSB <= sp_inc[1:0];
97
                sp <= sp_inc;
98
                pc[15:8] <= dati;
99
                state <= BYTE_RTI5;
100
        end
101
BYTE_RTI5:
102
        if (unCachedData) begin
103
                cyc_o <= 1'b1;
104
                stb_o <= 1'b1;
105
                sel_o <= 4'hF;
106
                adr_o <= {radr,2'b00};
107
                state <= BYTE_RTI6;
108
        end
109
        else if (dhit) begin
110
                radr <= {24'h1,sp_inc[7:2]};
111
                radr2LSB <= sp_inc[1:0];
112
                sp <= sp_inc;
113
                pc[23:16] <= rdat8;
114
                state <= BYTE_RTI7;
115
        end
116
        else
117
                dmiss <= `TRUE;
118
BYTE_RTI6:
119
        if (ack_i) begin
120
                cyc_o <= 1'b0;
121
                stb_o <= 1'b0;
122
                sel_o <= 4'h0;
123
                adr_o <= 34'h0;
124
                radr <= {24'h1,sp_inc[7:2]};
125
                radr2LSB <= sp_inc[1:0];
126
                sp <= sp_inc;
127
                pc[23:16] <= dati;
128
                state <= BYTE_RTI7;
129
        end
130
BYTE_RTI7:
131
        if (unCachedData) begin
132
                cyc_o <= 1'b1;
133
                stb_o <= 1'b1;
134
                sel_o <= 4'hF;
135
                adr_o <= {radr,2'b00};
136
                state <= BYTE_RTI8;
137
        end
138
        else if (dhit) begin
139
                pc[31:24] <= rdat8;
140
                state <= IFETCH;
141
        end
142
        else
143
                dmiss <= `TRUE;
144
BYTE_RTI8:
145
        if (ack_i) begin
146
                cyc_o <= 1'b0;
147
                stb_o <= 1'b0;
148
                sel_o <= 4'h0;
149
                adr_o <= 34'h0;
150
                pc[31:24] <= dati;
151
                state <= IFETCH;
152
        end

powered by: WebSVN 2.1.0

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