Component - Pseudo Random Sequence (PRS) V2.30 Datasheet.pdf

PSoC® Creator™ Component Datasheet
Pseudo Random Sequence (PRS)
2.30
Features
 2 to 64 bits PRS sequence length
 Time Division Multiplexing mode
 Serial output bit stream
 Continuous or single-step run modes
 Standard or custom polynomial
 Standard or custom seed value
 Enable input provides synchronized operation with other components
 Computed pseudo random number can be read directly from the linear feedback shift register
(LFSR)
General Description
The Pseudo Random Sequence (PRS) component uses an LFSR to generate a pseudo random
sequence, which outputs a pseudo random bit stream. The LFSR is of the Galois form
(sometimes known as the modular form) and uses the provided maximal code length, or period.
The PRS component runs continuously after starting as long as the Enable Input is held high.
The PRS number generator can be started with any valid seed value other than 0.
When to Use a PRS
LFSRs can be implemented in hardware. This makes them useful in applications that require
very fast generation of a pseudo random sequence, such as a direct-sequence spread-spectrum
radio.
Global positioning systems use an LFSR to rapidly transmit a sequence that indicates highprecision relative time offsets. Some video game consoles also use an LFSR as part of the
sound system.
Used as a Counter
The repeating sequence of states of an LFSR allows it to be used as a divider, or as a counter
when a nonbinary sequence is acceptable. LFSR counters have simpler feedback logic than
Cypress Semiconductor Corporation • 198 Champion Court • San Jose, CA 95134-1709 • 408-943-2600
Document Number: 001-86303 Rev. **
Revised February 20, 2013
Pseudo Random Sequence (PRS)
PSoC® Creator™ Component Datasheet
natural binary counters or Gray code counters, and can therefore operate at higher clock rates.
However, you must make sure that the LFSR never enters an all-zeros state, for example by
presetting it at startup to any other state in the sequence.
Input/Output Connections
This section describes the various input and output connections for the PRS Component. An
asterisk (*) in the list of I/Os states that the I/O may be hidden on the symbol under the
conditions listed in the description of that I/O.
clock – Input *
The clock input defines the signal to compute the PRS. This input is not available when you
choose the API Single Step Run Mode.
reset – Input *
The reset input defines the signal to synchronous reset the PRS. This input is available when
you choose clocked mode. You can only reset the PRS if the Enable input is held high.
enable – Input
The PRS component runs after starting and as long as the Enable input is held high. This input
provides synchronized operation with other components.
bitstream – Output
Output of the LFSR.
Page 2 of 19
Document Number: 001-86303 Rev. **
PSoC® Creator™ Component Datasheet
Pseudo Random Sequence (PRS)
Component Parameters
Drag a PRS component onto your design and double-click it to open the Configure dialog. This
dialog has several tabs to guide you through the process of setting up the PRS component.
General Tab
Resolution
This defines the PRS sequence length. This value can be set from 2 to 64. The default is 8.
By default, Resolution defines LFSR coefficients and Polynomial Value. Coefficients are taken
from the following table. This parameter also defines the maximal code length, or period, as
shown in the following table.
Resolution
LFSR
Resolution
Period (2
– 1)
Resolution
LFSR
Resolution
Period (2
2
2, 1
3
34
34, 31, 30, 26
17179869183
3
3, 2
7
35
35, 34, 28, 27
34359738367
4
4, 3
15
36
36, 35, 29, 28
68719476735
5
5, 4, 3, 2
31
37
37, 36, 33, 31
137438953471
6
6, 5, 3, 2
63
38
38, 37, 33, 32
274877906943
7
7, 6, 5, 4
127
39
39, 38, 35, 32
549755813887
8
8, 6, 5, 4
255
40
40, 37, 36, 35
1099511627775
9
9, 8, 6, 5
511
41
41, 40, 39, 38
2199023255551
10
10, 9, 7, 6
1023
42
42, 40, 37, 35
4398046511103
Document Number: 001-86303 Rev. **
– 1)
Page 3 of 19
Pseudo Random Sequence (PRS)
Resolution
LFSR
PSoC® Creator™ Component Datasheet
Resolution
Period (2
– 1)
Resolution
Resolution
LFSR
Period (2
– 1)
11
11, 10, 9, 7
2047
43
43, 42, 38, 37
8796093022207
12
12, 11, 8, 6
4095
44
44, 42, 39, 38
17592186044415
13
13, 12, 10, 9
8191
45
45, 44, 42, 41
35184372088831
14
14, 13, 11, 9
16383
46
46, 40, 39, 38
70368744177663
15
15, 14, 13, 11
32767
47
47, 46, 43, 42
140737488355327
16
16, 14, 13, 11
65535
48
48, 44, 41, 39
281474976710655
17
17, 16, 15, 14
131071
49
49, 45, 44, 43
562949953421311
18
18, 17, 16, 13
262143
50
50, 48, 47, 46
1125899906842623
19
19, 18, 17, 14
524187
51
51, 50, 48, 45
2251799813685247
20
20, 19, 16, 14
1048575
52
52, 51, 49, 46
4503599627370495
21
21, 20, 19, 16
2097151
53
53, 52, 51, 47
9007199254740991
22
22, 19, 18, 17
4194303
54
54, 51, 48, 46
18014398509481983
23
23, 22, 20, 18
8388607
55
55, 54, 53, 49
36028797018963967
24
24, 23, 21, 20
16777215
56
56, 54, 52, 49
72057594037927935
25
25, 24, 23, 22
33554431
57
57, 55, 54, 52
144115188075855871
26
26, 25, 24, 20
67108863
58
58, 57, 53, 52
288230376151711743
27
27, 26, 25, 22
134217727
59
59, 57, 55, 52
576460752303423487
28
28, 27, 24, 22
268435455
60
60, 58, 56, 55
1152921504606846975
29
29, 28, 27, 25
536870911
61
61, 60, 59, 56
2305843009213693951
30
30, 29, 26, 24
1073741823
62
62, 59, 57, 56
4611686018427387903
31
31, 30, 29, 28
2147483647
63
63, 62, 59, 58
9223372036854775807
32
32, 30, 26, 25
4294967295
64
64, 63, 61, 60
18446744073709551615
33
33, 32, 29, 27
8589934591
To set LFSR coefficients manually:
Define Resolution.
Check the Custom check box.
Enter coefficients, separated by a comma, in the LFSR text box and press [Enter]. The
Polynomial value is recalculated automatically.
The Polynomial value is shown in hexadecimal form.
Note No LFSR coefficient value can be greater than the Resolution value.
Page 4 of 19
Document Number: 001-86303 Rev. **
PSoC® Creator™ Component Datasheet
Pseudo Random Sequence (PRS)
The Seed value, by default, is set to the maximum possible value (2Resolution – 1). Its value can be
changed to any other except 0. The Seed value is shown in hexadecimal form.
Note Changing the Resolution resets Seed Value to the default value.
Run Mode
This parameter defines the component operation mode as continuous or single-step run. You
can choose Clocked (default) or API Single Step. If PRS values read continuously or you need
one value read, you must stop the clock or set enable to low in Clocked mode.
Advanced Tab
The PRS Advanced tab contains the following settings:
Implementation
This defines implementation of PRS component: with time multiplexing or without it (Single
Cycle). The default is Single Cycle.
Low Power Mode Operation
This defines PRS behavior after low-power mode. The default is Restore on Power Up.
Document Number: 001-86303 Rev. **
Page 5 of 19
Pseudo Random Sequence (PRS)
PSoC® Creator™ Component Datasheet
Local Parameters (For API use)
These parameters are used in the API and are not exposed in the GUI:

PolyValueLower(uint32) – Contains the lower half of the polynomial value in hexadecimal
format. The default is 0xB8h (LFSR= [8,6,5,4]) because the default resolution is 8.

PolyValueUpper(uint32) – Contains the upper half of the polynomial value in hexadecimal
format. The default is 0x00h because the default resolution is 8.

SeedValueLower (uint32) – Contains the lower half of the seed value in hexadecimal
format. The default is 0xFFh because the default resolution is 8.

SeedValueUpper (uint32) – Contains the upper half of the seed value in hexadecimal
format. The default is 0 because the default resolution is 8.
Clock Selection
You must attach a clock source if you select the Clocked option for the Run Mode parameter.
Note Generation of the proper PRS sequence for a resolution of greater than 8 requires a clock
signal four times greater than the data rate, if you select Time Division Multiplex for the
Implementation parameter.
Application Programming Interface
Application Programming Interface (API) routines allow you to configure the component using
software. The following table lists and describes the interface to each function. The subsequent
sections cover each function in more detail.
By default, PSoC Creator assigns the instance name “PRS_1” to the first instance of a
component in a given design. You can rename the instance to any unique value that follows the
syntactic rules for identifiers. The instance name becomes the prefix of every global function
name, variable, and constant symbol. For readability, the instance name used in the following
table is “PRS.”
Function
Description
PRS_Start()
Initializes seed and polynomial registers provided from customizer. PRS
computation starts on rising edge of input clock.
PRS_Stop()
Stops PRS computation.
PRS_Sleep()
Stops PRS computation and saves PRS configuration.
PRS_Wakeup()
Restores PRS configuration and starts PRS computation on rising edge of input
clock.
PRS_Init()
Initializes seed and polynomial registers with initial values.
Page 6 of 19
Document Number: 001-86303 Rev. **
PSoC® Creator™ Component Datasheet
Pseudo Random Sequence (PRS)
Function
Description
PRS_Enable()
Starts PRS computation on rising edge of input clock.
PRS_SaveConfig()
Saves seed and polynomial registers.
PRS_RestoreConfig()
Restores seed and polynomial registers.
PRS_Step()
Increments the PRS by one when using API single-step mode.
PRS_WriteSeed()
Writes seed value.
PRS_WriteSeedUpper()
Writes upper half of seed value. Only generated for 33 to 64 bits PRS.
PRS_WriteSeedLower()
Writes lower half of seed value. Only generated for 33 to 64 bits PRS.
PRS_Read()
Reads PRS value.
PRS_ReadUpper()
Reads upper half of PRS value. Only generated for 33 to 64 bits PRS.
PRS_ReadLower()
Reads lower half of PRS value. Only generated for 33 to 64 bits PRS.
PRS_WritePolynomial()
Writes PRS polynomial value.
PRS_WritePolynomialUpper()
Writes upper half of PRS polynomial value. Only generated for 33 to 64 bits
PRS.
PRS_WritePolynomialLower()
Writes lower half of PRS polynomial value. Only generated for 33 to 64 bits PRS.
PRS_ReadPolynomial()
Reads PRS polynomial value.
PRS_ReadPolynomialUpper()
Reads upper half of PRS polynomial value. Only generated for 33 to 64 bits
PRS.
PRS_ReadPolynomialLower()
Reads lower half of PRS polynomial value. Only generated for 33 to 64 bits
PRS.
Global Variables
Variable
PRS_initVar
Description
Indicates whether the PRS has been initialized. The variable is initialized to 0 and set to 1 the
first time PRS_Start() is called. This allows the component to restart without reinitialization after
the first call to the PRS_Start() routine.
If reinitialization of the component is required, then the PRS_Init() function can be called before
the PRS_Start() or PRS_Enable() function.
Document Number: 001-86303 Rev. **
Page 7 of 19
Pseudo Random Sequence (PRS)
PSoC® Creator™ Component Datasheet
void PRS_Start(void)
Description:
Initializes the seed and polynomial registers. PRS computation starts on the rising edge
of the input clock.
Parameters:
None
Return Value:
None
Side Effects:
None
void PRS_Stop(void)
Description:
Stops PRS computation.
Parameters:
None
Return Value:
None
Side Effects:
None
void PRS_Sleep(void)
Description:
Stops PRS computation and saves the PRS configuration.
Parameters:
None
Return Value:
None
Side Effects:
None
void PRS_Wakeup(void)
Description:
Restores the PRS configuration and starts PRS computation on the rising edge of the
input clock.
Parameters:
None
Return Value:
None
Side Effects:
None
void PRS_Init(void)
Description:
Initializes the seed and polynomial registers with initial values.
Parameters:
None
Return Value:
None
Side Effects:
None
Page 8 of 19
Document Number: 001-86303 Rev. **
PSoC® Creator™ Component Datasheet
Pseudo Random Sequence (PRS)
void PRS_Enable(void)
Description:
Starts PRS computation on the rising edge of the input clock.
Parameters:
None
Return Value:
None
Side Effects:
None
void PRS_SaveConfig(void)
Description:
Saves the seed and polynomial registers.
Parameters:
None
Return Value:
None
Side Effects:
None
void PRS_RestoreConfig(void)
Description:
Restores the seed and polynomial registers.
Parameters:
None
Return Value:
None
Side Effects:
None
void PRS_Step(void)
Description:
Increments the PRS by one when API single-step mode is used.
Parameters:
None
Return Value:
None
Side Effects:
None
void PRS_WriteSeed(uint8/16/32 seed)
Description:
Writes the seed value.
Parameters:
uint8/16/32 seed: Seed value
Return Value:
None
Side Effects:
– 1. For example, if PRS resolution
The seed value is cut according to mask = 2
14
is 14 bits, the mask value is: mask = 2 – 1 = 0x3FFFu. The seed value = 0xFFFFu is
cut: seed AND mask = 0xFFFFu AND 0x3FFFu = 0x3FFFu.
Document Number: 001-86303 Rev. **
Resolution
Page 9 of 19
Pseudo Random Sequence (PRS)
PSoC® Creator™ Component Datasheet
void PRS_WriteSeedUpper(uint32 seed)
Description:
Writes the upper half of the seed value. Only generated for 33 to 64 bits PRS.
Parameters:
uint32 seed: Upper half of the seed value
Return Value:
None
Side Effects:
The upper half of the seed value is cut according to mask = 2
(Resolution – 32)
– 1.
For example, if PRS Resolution is 35 bits the mask value is:
(35 – 32)
2
^3
– 1 = 2 – 1 = 0x0000 0007u.
The upper half of the seed value = 0x0000 00FFu is cut:
upper half of seed AND mask = 0x0000 00FFu AND 0x0000 0007u = 0x0000 0007u.
void PRS_WriteSeedLower(uint32 seed)
Description:
Writes the lower half of the seed value. Only generated for 33 to 64 bits PRS.
Parameters:
uint32 seed: Lower half of the seed value
Return Value:
None
Side Effects:
None
uint8/16/32 PRS_Read(void)
Description:
Reads the PRS value.
Parameters:
None
Return Value:
uint8/16/32: Returns the PRS value.
Side Effects:
None
uint32 PRS_ReadUpper(void)
Description:
Reads the upper half of the PRS value. Only generated for 33 to 64 bits PRS.
Parameters:
None
Return Value:
uint32: Returns the upper half of the PRS value.
Side Effects:
None
Page 10 of 19
Document Number: 001-86303 Rev. **
PSoC® Creator™ Component Datasheet
Pseudo Random Sequence (PRS)
uint32 PRS_ReadLower(void)
Description:
Reads the lower half of the PRS value. Only generated for 33 to 64 bits PRS
Parameters:
None
Return Value:
uint32: Returns the lower half of the PRS value.
Side Effects:
None
void PRS_WritePolynomial(uint8/16/32 polynomial)
Description:
Writes the PRS polynomial value.
Parameters:
uint8/16/32 polynomial: PRS polynomial.
Return Value:
None
Side Effects:
The polynomial value is cut according to mask = 2
Resolution
– 1.
For example, if PRS Resolution is 14 bits the mask value is: mask = 2
14
– 1 = 0x3FFFu.
The polynomial value = 0xFFFFu is cut:
polynomial AND mask = 0xFFFFu AND 0x3FFFu = 0x3FFFu.
void PRS_WritePolynomialUpper(uint32 polynomial)
Description:
Writes the upper half of the PRS polynomial value. Only generated for 33 to 64 bits
PRS.
Parameters:
uint32 polynomial: Upper half of the PRS polynomial value.
Return Value:
None
Side Effects:
The upper half or the polynomial value is cut according to mask = 2
(Resolution – 32)
– 1.
For example, if PRS Resolution is 35 bits the mask value is:
(35 – 32)
2
3
– 1 = 2 – 1 = 0x0000 0007u.
The upper half of the polynomial value = 0x0000 00FFu is cut:
upper half of the polynomial AND mask = 0x0000 00FFu AND 0x0000 0007u =
0x0000 0007u.
void PRS_WritePolynomialLower(uint32 polynomial)
Description:
Writes the lower half of the PRS polynomial value. Only generated for 33 to 64 bits
PRS.
Parameters:
uint32 polynomial: Lower half of the PRS polynomial value
Return Value:
None
Side Effects:
None
Document Number: 001-86303 Rev. **
Page 11 of 19
Pseudo Random Sequence (PRS)
PSoC® Creator™ Component Datasheet
uint8/16/32 PRS_ReadPolynomial(void)
Description:
Reads the PRS polynomial value.
Parameters:
None
Return Value:
uint8/16/32: Returns the PRS polynomial value.
Side Effects:
None
uint32 PRS_ReadPolynomialUpper(void)
Description:
Reads the upper half of the PRS polynomial value. Only generated for 33 to 64 bits
PRS.
Parameters:
None
Return Value:
uint32: Returns the upper half of the PRS polynomial value.
Side Effects:
None
uint32 PRS_ReadPolynomialLower(void)
Description:
Reads the lower half of the PRS polynomial value. Only generated for 33 to 64 bits
PRS.
Parameters:
None
Return Value:
uint32: Returns the lower half of the PRS polynomial value.
Side Effects:
None
MISRA Compliance
This section describes the MISRA-C:2004 compliance and deviations for the component. There
are two types of deviations defined:


project deviations – deviations that are applicable for all PSoC Creator components
specific deviations – deviations that are applicable only for this component
This section provides information on component-specific deviations. Project deviations are
described in the MISRA Compliance section of the System Reference Guide along with
information on the MISRA compliance verification environment.
The PRS component has not been verified for MISRA-C:2004 coding guidelines compliance.
Page 12 of 19
Document Number: 001-86303 Rev. **
PSoC® Creator™ Component Datasheet
Pseudo Random Sequence (PRS)
Sample Firmware Source Code
PSoC Creator provides numerous example projects that include schematics and example code
in the Find Example Project dialog. For component-specific examples, open the dialog from the
Component Catalog or an instance of the component in a schematic. For general examples,
open the dialog from the Start Page or File menu. As needed, use the Filter Options in the
dialog to narrow the list of projects available to select.
Refer to the “Find Example Project” topic in the PSoC Creator Help for more information.
Functional Description
PRS Run Mode: Clocked
In this mode, the PRS component runs continuously after it starts and as long as the Enable
input is held high.
PRS Run Mode: API Single Step
In this mode, the PRS is incremented by an API call.
Block Diagram and Configuration
The PRS is implemented as a set of configured UDBs. The implementation is shown in the
following block diagram.
N
Polynomial X
Register
N-1
XN-1
X14
X2
X1
N-2
13
1
0
Shift/Seed
Register
N-1
N-2
Document Number: 001-86303 Rev. **
2
1
0
Page 13 of 19
Pseudo Random Sequence (PRS)
PSoC® Creator™ Component Datasheet
Timing Diagrams
enable
reset
clock
Time Division Multiplex Implementation Mode
enable
reset
clock
Single Cycle Implementation Mode
Registers
Polynomial Register (from 2 to 64 bits based on Resolution)
The Polynomial register contains the polynomial value. You can change it with the
PRS_WritePolynomial(), PRS_WritePolynomialUpper(), or PRS_WritePolynomialLower()
functions. You can also read the current polynomial value using PRS_ReadPolynomial(),
PRS_ReadPolynomialUpper(), or PRS_ReadPolynomialLower().
Page 14 of 19
Document Number: 001-86303 Rev. **
PSoC® Creator™ Component Datasheet
Pseudo Random Sequence (PRS)
Shift/Seed register (from 2 to 64 bits based on Resolution)
The Shift/Seed register contains the seed value. You can change it with the PRS_WriteSeed(),
PRS_WriteSeedUpper(), or PRS_WriteSeedLower() functions. You can also read the current
seed value using PRS_ReadSeed(), PRS_ReadSeedUpper(). or PRS_ReadSeedLower().
Resources
The PRS component is placed throughout the UDB array. The component utilizes the following
resources.
Resource Type
Configuration
Datapath
Cells
Macrocells
[1]
Status
Cells
Control
Cells
DMA
Channels
Interrupts
8-Bits Single Cycle
1
1
–
1
–
–
16-Bits Single Cycle
2
1
–
1
–
–
24-Bits Single Cycle
3
1
–
1
–
–
32-Bits Single Cycle
4
1
–
1
–
–
16-Bits Time Division
1
9
1
1
–
–
24-Bits Time Division
2
10
1
1
–
–
32-Bits Time Division
2
9
1
1
–
–
40-Bits Time Division
3
10
1
1
–
–
48-Bits Time Division
3
9
1
1
–
–
56-Bits Time Division
4
10
1
1
–
–
64-Bits Time Division
4
9
1
1
–
–
API Memory Usage
The component memory usage varies significantly, depending on the compiler, device, number
of APIs used and component configuration. The following table provides the memory usage for
all APIs available in the given component configuration.
The measurements have been done with the associated compiler configured in Release mode
with optimization set for Size. For a specific design the map file generated by the compiler can
be analyzed to determine the memory usage.
1. Additional macrocell is used for Single Cycle Implementation with API Single Step Run Mode.
Document Number: 001-86303 Rev. **
Page 15 of 19
Pseudo Random Sequence (PRS)
PSoC® Creator™ Component Datasheet
PSoC 3 (Keil_PK51)
Configuration
PSoC 4 (GCC)
PSoC 5LP (GCC)
Flash
SRAM
Flash
SRAM
Flash
SRAM
Bytes
Bytes
Bytes
Bytes
Bytes
Bytes
8-Bits Single Cycle
170
3
274
5
284
5
16-Bits Single Cycle
232
4
296
5
306
5
24-Bits Single Cycle
304
6
356
9
338
9
32-Bits Single Cycle
302
6
312
9
326
9
16-Bits Time Division
306
6
424
9
434
9
24-Bits Time Division
595
8
508
13
510
13
32-Bits Time Division
671
8
536
13
546
13
40-Bits Time Division
842
12
696
17
730
17
48-Bits Time Division
977
12
748
17
804
17
56-Bits Time Division
1083
12
824
17
880
17
64-Bits Time Division
1175
12
850
17
864
17
DC and AC Electrical Characteristics
Specifications are valid for –40 °C £ TA £ 85 °C and TJ £ 100 °C, except where noted.
Specifications are valid for 1.71 V to 5.5 V, except where noted.
DC Characteristics
Parameter
IDD
Description
Min
Typ
[2]
Max
Units
Component current consumption
8-Bits Single Cycle
–
11
–
µA/MHz
16-Bits Single Cycle
–
17
–
µA/MHz
24-Bits Single Cycle
–
23
–
µA/MHz
32-Bits Single Cycle
–
31
–
µA/MHz
16-Bits Time Division
–
22
–
µA/MHz
24-Bits Time Division
–
30
–
µA/MHz
32-Bits Time Division
–
31
–
µA/MHz
40-Bits Time Division
–
40
–
µA/MHz
2. Device IO and clock distribution current not included. The values are at 25 °C.
Page 16 of 19
Document Number: 001-86303 Rev. **
PSoC® Creator™ Component Datasheet
Parameter
Description
Pseudo Random Sequence (PRS)
Min
Typ
[2]
Max
Units
48-Bits Time Division
–
41
–
µA/MHz
56-Bits Time Division
–
51
–
µA/MHz
64-Bits Time Division
–
47
–
µA/MHz
Min
Typ
Max
8-Bits Single Cycle
–
–
39
MHz
16-Bits Single Cycle
–
–
33
MHz
24-Bits Single Cycle
–
–
30
MHz
32-Bits Single Cycle
–
–
29
MHz
16-Bits Time Division
–
–
29
MHz
24-Bits Time Division
–
–
22
MHz
32-Bits Time Division
–
–
28
MHz
40-Bits Time Division
–
–
24
MHz
48-Bits Time Division
–
–
28
MHz
56-Bits Time Division
–
–
24
MHz
64-Bits Time Division
–
–
26
MHz
AC Characteristics
Parameter
fCLOCK
Description
[3]
Units
Component clock frequency
3. The values provide a maximum safe operating frequency of the component. The component may run at higher clock
frequencies, at which point you will need to validate the timing requirements with STA results.
Document Number: 001-86303 Rev. **
Page 17 of 19
Pseudo Random Sequence (PRS)
PSoC® Creator™ Component Datasheet
Component Changes
This section lists the major changes in the component from the previous version.
Version
2.30
Description of Changes
Reason for Changes / Impact
Updated datasheet with memory usage for PSoC 4.
Updated Defines for [25 – 32] bit Single Cycle
Implementation Mode for PSoC 4.
2.20
Added MISRA Compliance section
2.10
Added PSoC 5LP support
Added all APIs with the CYREENTRANT keyword
when they are included in the .cyre file.
The component was not verified for MISRA
compliance
Not all APIs are truly reentrant. Comments in the
component API source files indicate which
functions are candidates.
This change is required to eliminate compiler
warnings for functions that are not reentrant used
in a safe way: protected from concurrent calls by
flags or Critical Sections.
2.0.b
Updated resource information in datasheet
2.0.a
Added characterization data to datasheet
Minor datasheet edits and updates
2.0
Added support for PSoC 3 Production silicon.
Changes include:

4x clock for Time Division Multiplex
Implementation added

Single Cycle Implementation on 1x clock now
available for 1 to 32 bits.

Time Division Multiplex Implementation on 4x
clock now available for 9 to 64 bits.

Synchronous input signal Reset is added.

Synchronous input signal Enable is added.

Added new 'Advanced' page to the Configure
dialog for the Implementation and Low Power
Mode parameters.
New requirements to support the PSoC 3
Production device, thus a new 2.0 version of the
PRS component was created.
Added PRS_Sleep()/PRS_Wakeup() and
PRS_Init()/PRS_Enable() APIs.
To support low-power modes, as well as to
provide common interfaces to separate control of
initialization and enabling of most components.
Updated functions PRS_WriteSeed() and
PRS_WriteSeedUpper().
The mask parameter was used to cut the seed
value to define resolution while writing.
Page 18 of 19
Document Number: 001-86303 Rev. **
PSoC® Creator™ Component Datasheet
Version
Description of Changes
Pseudo Random Sequence (PRS)
Reason for Changes / Impact
Add reset DFF triggers to polynomial write
functions: PRS_WritePolynomial(),
PRS_WritePolynomialUpper() and
PRS_WritePolynomialLower().
The DFF triggers must be set in proper state
(most significant bit of polynomial, always 1)
before starts calculation. To meet this condition
any write to Seed or Polynomial register resets the
DFF triggers.
Updated Configure dialog to allow the Expression
View for some parameters.
Expression View is used to directly access the
symbol parameters. This view allows you to
connect component parameters with external
parameters, if desired.
Updated Configure dialog to add error icons for
various parameters.
If you enter an incorrect value in a text box, the
error icon displays with a tool tip of the problem
description. This provides easier use than a
separate error message.
© Cypress Semiconductor Corporation, 2013. The information contained herein is subject to change without notice. Cypress Semiconductor Corporation assumes no responsibility for the use of
any circuitry other than circuitry embodied in a Cypress product. Nor does it convey or imply any license under patent or other rights. Cypress products are not warranted nor intended to be used
for medical, life support, life saving, critical control or safety applications, unless pursuant to an express written agreement with Cypress. Furthermore, Cypress does not authorize its products for
use as critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress products in lifesupport systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges.
PSoC® is a registered trademark, and PSoC Creator™ and Programmable System-on-Chip™ are trademarks of Cypress Semiconductor Corp. All other trademarks or registered trademarks
referenced herein are property of the respective corporations.
Any Source Code (software and/or firmware) is owned by Cypress Semiconductor Corporation (Cypress) and is protected by and subject to worldwide patent protection (United States and
foreign), United States copyright laws and international treaty provisions. Cypress hereby grants to licensee a personal, non-exclusive, non-transferable license to copy, use, modify, create
derivative works of, and compile the Cypress Source Code and derivative works for the sole purpose of creating custom software and or firmware in support of licensee product to be used only in
conjunction with a Cypress integrated circuit as specified in the applicable agreement. Any reproduction, modification, translation, compilation, or representation of this Source Code except as
specified above is prohibited without the express written permission of Cypress.
Disclaimer: CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress reserves the right to make changes without further notice to the materials described herein.
Cypress does not assume any liability arising out of the application or use of any product or circuit described herein. Cypress does not authorize its products for use as critical components in lifesupport systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress’ product in a life-support systems application
implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges.
Use may be limited by and subject to the applicable Cypress software license agreement.
Document Number: 001-86303 Rev. **
Page 19 of 19