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

Subversion Repositories uart_plb

[/] [uart_plb/] [trunk/] [pcores/] [uart_plb_v1_00_a/] [devl/] [README.txt] - Blame information for rev 2

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

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