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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [orpsocv2/] [boards/] [xilinx/] [s3adsp1800/] [rtl/] [verilog/] [xilinx_s3adsp_ddr2/] [s3adsp_ddr2_controller_iobs_0.v] - Blame information for rev 568

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 568 julius
//*****************************************************************************
2
// DISCLAIMER OF LIABILITY
3
//
4
// This file contains proprietary and confidential information of
5
// Xilinx, Inc. ("Xilinx"), that is distributed under a license
6
// from Xilinx, and may be used, copied and/or disclosed only
7
// pursuant to the terms of a valid license agreement with Xilinx.
8
//
9
// XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION
10
// ("MATERIALS") "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
11
// EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING WITHOUT
12
// LIMITATION, ANY WARRANTY WITH RESPECT TO NONINFRINGEMENT,
13
// MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE. Xilinx
14
// does not warrant that functions included in the Materials will
15
// meet the requirements of Licensee, or that the operation of the
16
// Materials will be uninterrupted or error-free, or that defects
17
// in the Materials will be corrected. Furthermore, Xilinx does
18
// not warrant or make any representations regarding use, or the
19
// results of the use, of the Materials in terms of correctness,
20
// accuracy, reliability or otherwise.
21
//
22
// Xilinx products are not designed or intended to be fail-safe,
23
// or for use in any application requiring fail-safe performance,
24
// such as life-support or safety devices or systems, Class III
25
// medical devices, nuclear facilities, applications related to
26
// the deployment of airbags, or any other applications that could
27
// lead to death, personal injury or severe property or
28
// environmental damage (individually and collectively, "critical
29
// applications"). Customer assumes the sole risk and liability
30
// of any use of Xilinx products in critical applications,
31
// subject only to applicable laws and regulations governing
32
// limitations on product liability.
33
//
34
// Copyright 2005, 2006, 2007, 2008 Xilinx, Inc.
35
// All rights reserved.
36
//
37
// This disclaimer and copyright notice must be retained as part
38
// of this file at all times.
39
//*****************************************************************************
40
//   ____  ____
41
//  /   /\/   /
42
// /___/  \  /   Vendor             : Xilinx
43
// \   \   \/    Version            : 3.6.1
44
//  \   \        Application        : MIG
45
//  /   /        Filename           : s3adsp_ddr2_controller_iobs_0.v
46
// /___/   /\    Date Last Modified : $Date: 2010/11/26 18:25:41 $
47
// \   \  /  \   Date Created       : Mon May 2 2005
48
//  \___\/\___\
49
// Device       : Spartan-3/3A/3A-DSP
50
// Design Name  : DDR2 SDRAM
51
// Purpose      : This module has the IOB instantiations to address and control 
52
//                signals.
53
//*****************************************************************************
54
 
55
`include "s3adsp_ddr2_parameters_0.v"
56
`timescale 1ns/100ps
57
 
58
module s3adsp_ddr2_controller_iobs_0
59
  (
60
   input                      clk0,
61
   input                      ddr_rasb_cntrl,
62
   input                      ddr_casb_cntrl,
63
   input                      ddr_web_cntrl,
64
   input                      ddr_cke_cntrl,
65
   input                      ddr_csb_cntrl,
66
   input                      ddr_odt_cntrl,
67
   input [`ROW_ADDRESS-1:0]   ddr_address_cntrl,
68
   input [`BANK_ADDRESS-1:0]  ddr_ba_cntrl,
69
   input                      rst_dqs_div_int,
70
   output                     ddr_rasb,
71
   output                     ddr_casb,
72
   output                     ddr_web,
73
   output [`BANK_ADDRESS-1:0] ddr_ba,
74
   output [`ROW_ADDRESS-1:0]  ddr_address,
75
   output                     ddr_cke,
76
   output                     ddr_csb,
77
   output                     ddr_odt0,
78
   output                     rst_dqs_div,
79
   input                      rst_dqs_div_in,
80
   output                     rst_dqs_div_out
81
   );
82
 
83
 
84
   wire                       ddr_odt_reg;
85
   wire [`ROW_ADDRESS-1:0]    ddr_address_iob_reg;
86
   wire [`BANK_ADDRESS-1:0]   ddr_ba_reg;
87
   wire                       ddr_web_q;
88
   wire                       ddr_rasb_q;
89
   wire                       ddr_casb_q;
90
   wire                       ddr_cke_q;
91
   wire                       ddr_cke_int;
92
 
93
//---- *******************************************  ----
94
//----  Includes the instantiation of FD for cntrl  ----
95
//----            signals                           ----
96
//---- *******************************************  ----
97
 
98
   (* IOB = "FORCE" *) FD iob_web
99
     (
100
      .Q (ddr_web_q),
101
      .D (ddr_web_cntrl),
102
      .C (~clk0)
103
      )/* synthesis syn_useioff = 1 */;
104
 
105
   (* IOB = "FORCE" *) FD iob_rasb
106
     (
107
      .Q (ddr_rasb_q),
108
      .D (ddr_rasb_cntrl),
109
      .C (~clk0)
110
      )/* synthesis syn_useioff = 1 */;
111
 
112
 
113
   (* IOB = "FORCE" *) FD iob_casb
114
     (
115
      .Q (ddr_casb_q),
116
      .D (ddr_casb_cntrl),
117
      .C (~clk0)
118
      )/* synthesis syn_useioff = 1 */;
119
 
120
 
121
//---- ************************************* ----
122
//----  Output buffers for control signals   ----
123
//---- ************************************* ----
124
 
125
   OBUF r16
126
     (
127
      .I (ddr_web_q),
128
      .O (ddr_web)
129
      );
130
 
131
   OBUF r17
132
     (
133
      .I (ddr_rasb_q),
134
      .O (ddr_rasb)
135
      );
136
 
137
   OBUF r18
138
     (
139
      .I (ddr_casb_q),
140
      .O (ddr_casb)
141
      );
142
 
143
   OBUF r19
144
     (
145
      .I (ddr_csb_cntrl),
146
      .O (ddr_csb)
147
      );
148
 
149
 
150
   FD iob_cke1
151
     (
152
      .Q (ddr_cke_int),
153
      .D (ddr_cke_cntrl),
154
      .C (clk0)
155
      );
156
 
157
 
158
   (* IOB = "FORCE" *) FD iob_cke
159
     (
160
      .Q (ddr_cke_q),
161
      .D (ddr_cke_int),
162
      .C (~clk0)
163
      )/* synthesis syn_useioff = 1 */;
164
 
165
 
166
   OBUF r20
167
     (
168
      .I (ddr_cke_q),
169
      .O (ddr_cke)
170
      );
171
 
172
 
173
  (* IOB = "FORCE" *) FD iob_odt
174
     (
175
      .Q (ddr_odt_reg),
176
      .D (ddr_odt_cntrl),
177
      .C (~clk0)
178
      )/* synthesis syn_useioff = 1 */;
179
 
180
 
181
   OBUF r21
182
     (
183
      .I (ddr_odt_reg),
184
      .O (ddr_odt0)
185
      );
186
 
187
//---- *******************************************  ----
188
//----  Includes the instantiation of FD  and OBUF  ----
189
//----  for addr signals                            ----
190
//---- *******************************************  ----    
191
 
192
   genvar addr_i;
193
   generate
194
      for(addr_i = 0; addr_i < `ROW_ADDRESS; addr_i = addr_i + 1)
195
        begin : gen_addr
196
         (* IOB = "FORCE" *) FD FD_inst
197
          (
198
           .Q (ddr_address_iob_reg[addr_i]),
199
           .D (ddr_address_cntrl[addr_i]),
200
           .C (~clk0)
201
           )/* synthesis syn_useioff = 1 */;
202
 
203
         OBUF OBUF_inst
204
            (
205
             .I (ddr_address_iob_reg[addr_i]),
206
             .O (ddr_address[addr_i])
207
             );
208
      end
209
   endgenerate
210
 
211
   genvar ba_i;
212
   generate
213
      for(ba_i = 0; ba_i < `BANK_ADDRESS; ba_i = ba_i + 1) begin : gen_ba
214
         (* IOB = "FORCE" *) FD FD_inst
215
          (
216
           .Q (ddr_ba_reg[ba_i]),
217
           .D (ddr_ba_cntrl[ba_i]),
218
           .C (~clk0)
219
        )/* synthesis syn_useioff = 1 */;
220
 
221
       OBUF OBUF_inst
222
         (
223
          .I (ddr_ba_reg[ba_i]),
224
          .O (ddr_ba[ba_i])
225
          );
226
      end
227
   endgenerate
228
 
229
 
230
   IBUF rst_iob_inbuf
231
     (
232
      .I (rst_dqs_div_in),
233
      .O (rst_dqs_div)
234
      );
235
 
236
   OBUF rst_iob_outbuf
237
     (
238
      .I (rst_dqs_div_int),
239
      .O (rst_dqs_div_out)
240
      );
241
 
242
endmodule

powered by: WebSVN 2.1.0

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