- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I want to dedicate a custom-made component exclusively to PSoC5.
It is straightforward to EXCLUDE a component by adding the Exclude files. For example, by excluding PSoC3, PSoC4 and FM0 (3 exclude files), one can leave PSoC5 the only remaining option.
But is there a simple way to mark component as PSoC5 only? (Sort of 'include' file)
Solved! Go to Solution.
- Labels:
-
PSoC Creator & Designer Software
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
/odissey1,
I believe I found what you are looking for. However, I haven't found any documentation about its format. I have noticed this file is included on many of the Cypress design components at the component root level.
Attached is a file with a ".cystate" extension. It's an XML file. Here's a small excerpt:
<Rule>
<Pattern>
<Architecture>PSoC4</Architecture>
<Family>PSoC4L</Family>
<Revision>*</Revision>
<Device>*</Device>
</Pattern>
<State>Production</State>
<Severity>None</Severity>
<Message />
</Rule>
<Rule>
<Pattern>
<Architecture>PSoC6</Architecture>
<ArchMember />
</Pattern>
<State>Production</State>
<Severity>None</Severity>
<Message />
</Rule>
<Rule>
<Pattern>
<Architecture>FM0p</Architecture>
<ArchMember />
</Pattern>
<State>Incompatible</State>
<Severity>Error</Severity>
<Message />
</Rule>
You can notice the reference to "Architecture", ArchMember", "Revision", "Device" and "State". Sadly, I could find what the proper syntax is for this file.
If you can decode the syntax, it appears to be a "one-stop-shop" you're looking to use.
UPDATE!!!
I have found reference/syntax info about the .cystate file.
Consult the "Component Authoring Guide" section 7.5.
"Engineering is an Art. The Art of Compromise."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
/odissey1,
I believe this is what you are looking for.
- "Add a Component Item ..."
- Select the Item type you want to add. (example: Schematic Macro)
- deselect "Target generic device"
- Pull-down the "Family:" list.
- Select "PSoC5LP"
- Select "Create New" (or "Add Existing" if already existing).
It should create a new folder under the component called "PSoC5" with the component item.
Now if you already have created other component items you can move them by drop-n-drag into the "PSoC5" folder.
Or you can copy the item and paste it into "PSoC5".
This appears to have worked for a few components that I wanted to define segregate.
"Engineering is an Art. The Art of Compromise."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Len,
I believe this approach only creates separate implementations for PSoC3, PSoC4, PSoC5, etc. Yet, the component's Symbol can't have processor-specific implementations, and will show in the catalog for any processor.
I suspect that the only way to make component processor-specific is to exclude ALL other processors using multiple Exclude files. To make it worse, the component I am referring to is Reg16, which can be used only by PSoC5 processor with 24 UDB cells. But some of the PSoC5s have 20 UDB cells, and must be excluded also. That makes about 20 Exclude files added to the custom component.
So I wonder if there is more succinct way to list all allowed/restricted processors in a single file?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
/odissey1,
I imported the Comparator "Comp_P4_v_1_20" into a design. I ONLY works on a PSoC4.
Using a PSoC4 or PSoC5, the symbol doesn't show up in the catalog unless "Show Hidden Components" is selected as a Design Entry option. In this option the symbols are ghosted and selecting the symbol shows a "Incompatible" watermark over the symbol.
In the component definition there .exclude files under the PSoC3 and PSoC5 directories. I assume this is what you mean by "excluding".
About the PSoC5s with only 20 UDB blocks: You are correct.
The symbol cannot not be assigned to a target device. But the schematic (.cysch) can.
It can also be further filtered by
- Family
- Series
- Device
I don't know if this helps.
I realize you're trying to make sure the component is only available on PSoC5s with 24 UDBs.
I would appear the user is forced to find out the limitation of 20 UDBs when they perform the "Application Build" phase.
Since your component uses so many UDBs, I'm assuming that UDB functions such as UARTs, SPI, Counters/Timers/PWMs etc will not be accessible. They would have to use Fixed Function equivalents.
"Engineering is an Art. The Art of Compromise."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Len,
In Comp_P4_v1_20 example, it has PSoC3 and PSoC5 "Exclude" files. If I go that route to exclude about 15 of PSoC5s with 20 UDB cells, I will end with numerous "Exclude" files attached to the component.
Is there any way to list all "excluded" uC in a single file?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
/odissey1,
I believe I found what you are looking for. However, I haven't found any documentation about its format. I have noticed this file is included on many of the Cypress design components at the component root level.
Attached is a file with a ".cystate" extension. It's an XML file. Here's a small excerpt:
<Rule>
<Pattern>
<Architecture>PSoC4</Architecture>
<Family>PSoC4L</Family>
<Revision>*</Revision>
<Device>*</Device>
</Pattern>
<State>Production</State>
<Severity>None</Severity>
<Message />
</Rule>
<Rule>
<Pattern>
<Architecture>PSoC6</Architecture>
<ArchMember />
</Pattern>
<State>Production</State>
<Severity>None</Severity>
<Message />
</Rule>
<Rule>
<Pattern>
<Architecture>FM0p</Architecture>
<ArchMember />
</Pattern>
<State>Incompatible</State>
<Severity>Error</Severity>
<Message />
</Rule>
You can notice the reference to "Architecture", ArchMember", "Revision", "Device" and "State". Sadly, I could find what the proper syntax is for this file.
If you can decode the syntax, it appears to be a "one-stop-shop" you're looking to use.
UPDATE!!!
I have found reference/syntax info about the .cystate file.
Consult the "Component Authoring Guide" section 7.5.
"Engineering is an Art. The Art of Compromise."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
/odissey1,
I created a .cystate file for a component. I had limited success in inclusion/exclusion of specific part numbers. I believe Infineon will have to clarify some of the syntax of the XML file to perform these functions.
"Engineering is an Art. The Art of Compromise."
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Len,
Thank you for help. I will research this approach. Meanwhile accepting it as a solution.
Sincerely,
odissey1
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
/odissey1,
I would have thought that listing the State = Incompatible would show up in the Component catalog as "Incompatible". That didn't happen.
"Engineering is an Art. The Art of Compromise."