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

Subversion Repositories sata_controller_core

[/] [sata_controller_core/] [trunk/] [sata2_bus_v1_00_a/] [base_system/] [pcores/] [npi_core_v1_00_a/] [devl/] [README.txt] - Blame information for rev 11

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 11 ashwin_men
TABLE OF CONTENTS
2
  1) Peripheral Summary
3
  2) Description of Generated Files
4
  3) Description of Used IPIC Signals
5
  4) Description of Top Level Generics
6
 
7
 
8
================================================================================
9
*                             1) Peripheral Summary                            *
10
================================================================================
11
Peripheral Summary:
12
 
13
  XPS project / EDK repository               : /home/ashwin/work/SATA/ml605/12.2/SATA_PCIE/base_SATA_PCIE_NPI_2
14
  logical library name                       : npi_core_v1_00_a
15
  top name                                   : npi_core
16
  version                                    : 1.00.a
17
  type                                       : PLB (v4.6) slave
18
  features                                   : slave attachment
19
                                               user s/w registers
20
 
21
Address Block for User Logic and IPIF Predefined Services
22
 
23
  user logic slave space                     : C_BASEADDR + 0x00000000
24
                                             : C_BASEADDR + 0x000000FF
25
 
26
 
27
================================================================================
28
*                          2) Description of Generated Files                   *
29
================================================================================
30
- HDL source file(s)
31
 
32
  hdl/vhdl/npi_core.vhd
33
 
34
    This is the template file for your peripheral's top design entity. It
35
    configures and instantiates the corresponding design units in the way you
36
    indicated in the wizard GUI and hooks it up to the stub user logic where
37
    the actual functionalites should get implemented. You are not expected to
38
    modify this template file except certain marked places for adding user
39
    specific generics and ports.
40
 
41
  vhdl/user_logic.vhd
42
 
43
    This is the template file for the stub user logic design entity, either in
44
    VHDL or Verilog, where the actual functionalities should get implemented.
45
    Some sample code snippet may be provided for demonstration purpose.
46
 
47
- XPS interface file(s)
48
 
49
  data/npi_core_v2_1_0.mpd
50
 
51
    This Microprocessor Peripheral Description file contains information of the
52
    interface of your peripheral, so that other EDK tools can recognize your
53
    peripheral.
54
 
55
  data/npi_core_v2_1_0.pao
56
 
57
    This Peripheral Analysis Order file defines the analysis order of all the HDL
58
    source files that are used to compile your peripheral.
59
 
60
- Other misc file(s)
61
 
62
  devl/ipwiz.opt
63
 
64
    This is the option setting file for the wizard batch mode, which should
65
    generate the same result as the wizard GUI mode.
66
 
67
  devl/README.txt
68
 
69
    This README file for your peripheral.
70
 
71
  devl/ipwiz.log
72
 
73
    This is the log file by operating on this wizard.
74
 
75
 
76
================================================================================
77
*                         3) Description of Used IPIC Signals                  *
78
================================================================================
79
For more information (usage, timing diagrams, etc.) regarding the IPIC signals
80
used in the templates, please refer to the following specifications (under
81
%XILINX_EDK%\doc for windows or $XILINX_EDK/doc for solaris and linux):
82
proc_ip_ref_guide.pdf - Processor IP Reference Guide (chapter 4 IPIF)
83
user_core_templates_ref_guide.pdf - User Core Templates Reference Guide
84
 
85
Bus2IP_Clk
86
    Synchronization clock provided to the user logic. All IPIC signals are
87
    synchronous to this clock. It is identical to the input _Clk signal of
88
    the peripheral. No additional buffering is provided on the clock; it is
89
    passed through as is.
90
 
91
Bus2IP_Reset
92
    Active high reset for used by the user logic; it is asserted whenever the
93
    _Rst signal asserts or whenever there is a software-programmed reset
94
    (if the soft reset block is included).
95
 
96
Bus2IP_Data
97
    Write data bus to the user logic. Write data is accepted by the user logic
98
    during a write operation by assertion of the write acknowledgement signal
99
    and the rising edge of the Bus2IP_Clk.
100
 
101
Bus2IP_BE
102
    Byte Enable qualifiers for the requested read or write operation to the user
103
    logic. A bit in the Bus2IP_BE set to '1' indicates that the associated byte
104
    lane contains valid data. For example, if Bus2IP_BE = 0011, this indicates
105
    that byte lanes 2 and 3 contains valid data.
106
 
107
Bus2IP_RdCE
108
    Active high chip enable bus to the user logic. These chip enables are
109
    asserted only during active read transaction requests with the target
110
    address space and in conjunction with the corresponding sub-address within
111
    the space. Typically used for user logic readable registers selection.
112
 
113
Bus2IP_WrCE
114
    Active high chip enable bus to the user logic. These chip enables are
115
    asserted only during active write transaction requests with the target
116
    address space and in conjunction with the corresponding sub-address within
117
    the space. Typically used for user logic writable registers selection.
118
 
119
IP2Bus_Data
120
    Output read data bus from the user logic; data is qualified with the
121
    assertion of IP2Bus_RdAck signal and the rising edge of the Bus2IP_Clk.
122
 
123
IP2Bus_RdAck
124
    Active high read data qualifier providing the read acknowledgement from the
125
    user logic. Read data on the IP2Bus_Data bus is deemed valid at the rising
126
    edge of the Bus2IP_Clk and IP2Bus_RdAck asserted high by the user logic. For
127
    immediate acknowledgement (such as for a register read), this signal can be
128
    tied to '1'. Wait states can be inserted in the transaction by delaying the
129
    assertion of the acknowledgement.
130
 
131
IP2Bus_WrAck
132
    Active high write data qualifier providing the write acknowledgement from
133
    the user logic. Write data on the Bus2IP_Data bus is deemed accepted by the
134
    user logic at the rising edge of the Bus2IP_Clk and IP2Bus_WrAck asserted
135
    high by the user logic. For immediate acknowledgement (such as for a
136
    register write), this signal can be tied to '1'. Wait states can be inserted
137
    in the transaction by delaying the assertion of the acknowledgement.
138
 
139
IP2Bus_Error
140
    Active high signal indicating the user logic has encountered an error with
141
    the requested operation. It is asserted in conjunction with the read/write
142
    acknowledgement signal(s).
143
 
144
================================================================================
145
*                     4) Description of Top Level Generics                     *
146
================================================================================
147
C_BASEADDR/C_HIGHADDR
148
    These two generics are used to define the memory mapped address space for
149
    the peripheral registers, including Soft Reset register, Interrupt Source
150
    Controller registers, Read/Write FIFO control/data registers, user logic
151
    software accessible registers and etc., but excluding those user logic
152
    memory spaces if ever existed. When instantiation, the address space
153
    size determined by these two generics must be a power of 2 (e.g. 2^k =
154
    C_HIGHADDR - C_BASEADDR + 1), a factor of C_BASEADDR and larger than the
155
    minimum size as indicated in the template.
156
 
157
C_SPLB_AWIDTH
158
    This is the slave interface address bus width for Processor Local Bus
159
    version 4.6 (PLBv46). Value can be assigned automatically by EDK
160
    tooling during system creation.
161
 
162
C_SPLB_DWIDTH
163
    This is the slave interface data bus width for Processor Local Bus
164
    version 4.6 (PLBv46). Value can be assigned automatically by EDK
165
    tooling during system creation.
166
 
167
C_SPLB_NUM_MASTERS
168
    This indicates to the slave interface the number of PLBv46 masters
169
    present. Value can be assigned automatically by EDK tooling during
170
    system creation.
171
 
172
C_SPLB_MID_WIDTH
173
    This indicates to the slave interface the number of bits required
174
    for the PLB_masterID input bus. It is an integer value equal to
175
    log2(C_SPLB_NUM_MASTERS). Value will be assigned automatically by
176
    EDK tooling during system creation.
177
 
178
C_SPLB_NATIVE_DWIDTH
179
    This indicates to the slave interface the native bit width of the
180
    internal data bus of the peripheral. Some peripheral will require
181
    the value of this parameter to be fixed, while others might have
182
    selectable native data widths.
183
 
184
C_SPLB_P2P
185
    This indicates to the slave interface when it is exclusively attached
186
    to a PLBv46 bus via a Point to Point interconnect scheme. In this
187
    scenario, the slave interface may be able to reduce resource utilization
188
    by eliminating address decode function and modifying interface behavior
189
    to allow for a reduction in latency.
190
 
191
C_SPLB_SUPPORT_BURSTS
192
    This indicates to the associated PLBv46 bus that this slave interface
193
    support burst transfers to improve performance.
194
 
195
C_SPLB_SMALLEST_MASTER
196
    This indicates the smallest native data width of any master on the
197
    corresponding PLBv46 bus that may access the slave interface. It allows
198
    optimizations within the slave interface logic if narrower masters don't
199
    have to be supported for that application.
200
 
201
C_SPLB_CLK_PERIOD_PS
202
    This is the period of the PLBv46 bus clock (in picoseconds) for the
203
    corresponding PLBv46 slave interface attachment. It has been defined
204
    for use by peripheral that needs to know the bus clock rate to improve
205
    certain functions such as internal timers.
206
 
207
C_INCLUDE_DPHASE_TIMER
208
    This indicates if the data phase timer is used or not. The value of
209
 
210
    If C_INCLUDE_DPHASE_TIMER = 1 and after 128 SPLB_Clk cycles, as
211
    measured from the assertion of Sl_AddrAck, the User IP does not
212
    respond with either an IP2Bus_RdAck or IP2Bus_WrAck the
213
    plbv46_slave_single will de-assert the User IP cycle request
214
    signals, Bus2IP_CS and Bus2IP_RdCE or Bus2IP_WrCE, and will assert
215
    Sl_rdDAck with Sl_rdDBus=zero for a read cycle or Sl_wrDAck for
216
    a write cycle. This will gracefully terminate the cycle. Note
217
    that the requesting master will have no knowledge that the data
218
    phase of the PLB request was terminated in this manner.
219
 
220
C_FAMILY
221
    This is to set the target FPGA architecture, s.t. virtex5, etc.
222
 
223
 
224
================================================================================
225
*          5) Location to documentation of dependent libraries                 *
226
*                                                                              *
227
*   In general, the documentation is located under:                            *
228
*   $XILINX_EDK/hw/XilinxProcessorIPLib/pcores/$libName/doc                    *
229
*                                                                              *
230
================================================================================
231
proc_common_v3_00_a
232
        No documentation for this library
233
 
234
plbv46_slave_single_v1_01_a
235
        /opt/Xilinx/12.2/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/plbv46_slave_single_v1_01_a/doc/plbv46_slave_single.pdf
236
 

powered by: WebSVN 2.1.0

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