- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am using PSoC4100M for a project. I have two SCB components. One configured as I2C master and the other as UART. The I2C and UART pins are routed to different ports. I2C on port 1 and UART on port4.
When I compile the project I get CyDsFit Error which says
"E2809: Unable to find a valid placement for pins and fixed-function blocks. See the Digital Placement's Detailed placement messages section in the report file for details"
and gives the following suggestion
The placer is not able to place all of the carry chains without backtracking. It fills one UDB bank to 15/16 and the other to 7/8 and cannot place the final 2-datapath chain. As a workaround, add a control file to the TopDesign component (in Workspace Explorer's Components tab) with the following lines: ATTRIBUTE placement_force OF \Timer_ADPActiveTime:TimerUDB:sT16:timerdp:u0\ : LABEL IS "U(2,0)"; ATTRIBUTE placement_force OF \Timer_OutputPeriod:TimerUDB:sT24:timerdp:u0\ : LABEL IS "U(3,1)"; ATTRIBUTE placement_force OF \Timer_OutputActiveTime:TimerUDB:sT24:timerdp:u0\ : LABEL IS "U(0,1)"; This will fill the datapaths in the second UDB bank and allow the placer to assign the remaining datapaths.
I added the above lines to the control file. But it still gives the same error.
Please find attached the project bundle.
Best Regards,
-arp
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Changing UART:
Set the name to "UART"
Set Byte Mode
Set all pins to <auto-assign during build>
Increase Rx and Tx buffer to 16 bytes
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
made the changes to the UART except the <auto-assign during build>. The pins are fixed for me. It gives me the same error. Does that mean that the pins are not routable to the pins I have assigned?
-arp
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Does that mean that the pins are not routable to the pins I have assigned? That is correct. The pins for the SCB blocks are dedicated. You can see after a successful design build which pins you may use.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Arptt and Bob.
I'm having the same problem. If I insert the second SCB block configured as UART (both of them are UART) it gives me the error message: E2809: Unable to find a valid placement for pins and fixed-function blocks. See the Digital Placement's Detailed placement messages section in the report file for details.
If I remove the block (which is currently not in use in the firmware), it compiles without any problem. Does you figured out how to solve it?
Nicolas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you please post your complete project, so that we all can have a look at all of your settings. To do so, use
Creator->File->Create Workspace Bundle (minimal)
and attach the resulting file.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi everyone.
I know that this is a bit old already. But I figured out what was happening to my design when I included the second SCB block. The problem is that I was using the pins P0[4] and P0[5] for one SCB and the P3[0] and P3[1] for the second, the PSoC Creator allowed to set this configuration. But, in fact, these both pair of pins are related to the same SCB[1] block. The only pins that can be used as SCB[0] block are P4[0] and P4[1]. Thus, I was trying to force two different SCBs in the same hardware, that is why the error saying that one of them could not be placed correctly.
Hope you have already solved your problem arptt. If not I hope that this could help a little.
Nicolas