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

Subversion Repositories minsoc

[/] [minsoc/] [branches/] [rc-1.0/] [prj/] [src/] [blackboxes/] [or1200_top.v] - Blame information for rev 124

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

Line No. Rev Author Line
1 63 rfajardo
 
2
 
3
`include "or1200_defines.v"
4
 
5
module or1200_top(
6
        // System
7
        clk_i, rst_i, pic_ints_i, clmode_i,
8
 
9
        // Instruction WISHBONE INTERFACE
10
        iwb_clk_i, iwb_rst_i, iwb_ack_i, iwb_err_i, iwb_rty_i, iwb_dat_i,
11
        iwb_cyc_o, iwb_adr_o, iwb_stb_o, iwb_we_o, iwb_sel_o, iwb_dat_o,
12
`ifdef OR1200_WB_CAB
13
        iwb_cab_o,
14
`endif
15
`ifdef OR1200_WB_B3
16
        iwb_cti_o, iwb_bte_o,
17
`endif
18
        // Data WISHBONE INTERFACE
19
        dwb_clk_i, dwb_rst_i, dwb_ack_i, dwb_err_i, dwb_rty_i, dwb_dat_i,
20
        dwb_cyc_o, dwb_adr_o, dwb_stb_o, dwb_we_o, dwb_sel_o, dwb_dat_o,
21
`ifdef OR1200_WB_CAB
22
        dwb_cab_o,
23
`endif
24
`ifdef OR1200_WB_B3
25
        dwb_cti_o, dwb_bte_o,
26
`endif
27
 
28
        // External Debug Interface
29
        dbg_stall_i, dbg_ewt_i, dbg_lss_o, dbg_is_o, dbg_wp_o, dbg_bp_o,
30
        dbg_stb_i, dbg_we_i, dbg_adr_i, dbg_dat_i, dbg_dat_o, dbg_ack_o,
31
 
32
`ifdef OR1200_BIST
33
        // RAM BIST
34
        mbist_si_i, mbist_so_o, mbist_ctrl_i,
35
`endif
36
        // Power Management
37
        pm_cpustall_i,
38
        pm_clksd_o, pm_dc_gate_o, pm_ic_gate_o, pm_dmmu_gate_o,
39
        pm_immu_gate_o, pm_tt_gate_o, pm_cpu_gate_o, pm_wakeup_o, pm_lvolt_o
40
 
41
);
42
 
43
parameter dw = `OR1200_OPERAND_WIDTH;
44
parameter aw = `OR1200_OPERAND_WIDTH;
45
parameter ppic_ints = `OR1200_PIC_INTS;
46
 
47
//
48
// I/O
49
//
50
 
51
//
52
// System
53
//
54
input                   clk_i;
55
input                   rst_i;
56
input   [1:0]            clmode_i;       // 00 WB=RISC, 01 WB=RISC/2, 10 N/A, 11 WB=RISC/4
57
input   [ppic_ints-1:0]  pic_ints_i;
58
 
59
//
60
// Instruction WISHBONE interface
61
//
62
input                   iwb_clk_i;      // clock input
63
input                   iwb_rst_i;      // reset input
64
input                   iwb_ack_i;      // normal termination
65
input                   iwb_err_i;      // termination w/ error
66
input                   iwb_rty_i;      // termination w/ retry
67
input   [dw-1:0] iwb_dat_i;      // input data bus
68
output                  iwb_cyc_o;      // cycle valid output
69
output  [aw-1:0] iwb_adr_o;      // address bus outputs
70
output                  iwb_stb_o;      // strobe output
71
output                  iwb_we_o;       // indicates write transfer
72
output  [3:0]            iwb_sel_o;      // byte select outputs
73
output  [dw-1:0] iwb_dat_o;      // output data bus
74
`ifdef OR1200_WB_CAB
75
output                  iwb_cab_o;      // indicates consecutive address burst
76
`endif
77
`ifdef OR1200_WB_B3
78
output  [2:0]            iwb_cti_o;      // cycle type identifier
79
output  [1:0]            iwb_bte_o;      // burst type extension
80
`endif
81
 
82
//
83
// Data WISHBONE interface
84
//
85
input                   dwb_clk_i;      // clock input
86
input                   dwb_rst_i;      // reset input
87
input                   dwb_ack_i;      // normal termination
88
input                   dwb_err_i;      // termination w/ error
89
input                   dwb_rty_i;      // termination w/ retry
90
input   [dw-1:0] dwb_dat_i;      // input data bus
91
output                  dwb_cyc_o;      // cycle valid output
92
output  [aw-1:0] dwb_adr_o;      // address bus outputs
93
output                  dwb_stb_o;      // strobe output
94
output                  dwb_we_o;       // indicates write transfer
95
output  [3:0]            dwb_sel_o;      // byte select outputs
96
output  [dw-1:0] dwb_dat_o;      // output data bus
97
`ifdef OR1200_WB_CAB
98
output                  dwb_cab_o;      // indicates consecutive address burst
99
`endif
100
`ifdef OR1200_WB_B3
101
output  [2:0]            dwb_cti_o;      // cycle type identifier
102
output  [1:0]            dwb_bte_o;      // burst type extension
103
`endif
104
 
105
//
106
// External Debug Interface
107
//
108
input                   dbg_stall_i;    // External Stall Input
109
input                   dbg_ewt_i;      // External Watchpoint Trigger Input
110
output  [3:0]            dbg_lss_o;      // External Load/Store Unit Status
111
output  [1:0]            dbg_is_o;       // External Insn Fetch Status
112
output  [10:0]           dbg_wp_o;       // Watchpoints Outputs
113
output                  dbg_bp_o;       // Breakpoint Output
114
input                   dbg_stb_i;      // External Address/Data Strobe
115
input                   dbg_we_i;       // External Write Enable
116
input   [aw-1:0] dbg_adr_i;      // External Address Input
117
input   [dw-1:0] dbg_dat_i;      // External Data Input
118
output  [dw-1:0] dbg_dat_o;      // External Data Output
119
output                  dbg_ack_o;      // External Data Acknowledge (not WB compatible)
120
 
121
`ifdef OR1200_BIST
122
//
123
// RAM BIST
124
//
125
input mbist_si_i;
126
input [`OR1200_MBIST_CTRL_WIDTH - 1:0] mbist_ctrl_i;
127
output mbist_so_o;
128
`endif
129
 
130
//
131
// Power Management
132
//
133
input                   pm_cpustall_i;
134
output  [3:0]            pm_clksd_o;
135
output                  pm_dc_gate_o;
136
output                  pm_ic_gate_o;
137
output                  pm_dmmu_gate_o;
138
output                  pm_immu_gate_o;
139
output                  pm_tt_gate_o;
140
output                  pm_cpu_gate_o;
141
output                  pm_wakeup_o;
142
output                  pm_lvolt_o;
143
 
144
 
145
endmodule

powered by: WebSVN 2.1.0

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