- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The attached project can be built if the links between XxDMA and XxDMAB are removed. But if the 3 chain links are added, it fails to place some of the USB DMA. It will also build if many of the TxDMA_X is disabled.
I'm not using all the DMAs - what is the problem?
Error message:
Error: plm.M0046: E2806: Failed to place fixed-function blocks. See the report file for details.
Error: plm.M0046: "C:\Program Files (x86)\Cypress\PSoC Creator\4.0\PSoC Creator\bin/sjplacer.exe" failed (0xFFFFFFFF)
From the Report File:
<CYPRESSTAG name="Digital Placement">
Error: plm.M0046: E2806: Failed to place fixed-function blocks. See the report file for details.
"C:\Program Files (x86)\Cypress\PSoC Creator\4.0\PSoC Creator\bin/sjplacer.exe" --proj-name "Temp" --netlist-vh2 "Temp_p.vh2" --arch-file "C:\Program Files (x86)\Cypress\PSoC Creator\4.0\PSoC Creator\dev/arch/p4_udb2x4.ark" --rrg-file "C:\Program Files (x86)\Cypress\PSoC Creator\4.0\PSoC Creator\dev/psoc4/2/route_arch-rrg.cydata" --irq-file "C:\Program Files (x86)\Cypress\PSoC Creator\4.0\PSoC Creator\dev/psoc4/2/irqconn.cydata" --drq-file "C:\Program Files (x86)\Cypress\PSoC Creator\4.0\PSoC Creator\dev/psoc4/2/triggerconn.cydata" --dsi-conn-file "C:\Program Files (x86)\Cypress\PSoC Creator\4.0\PSoC Creator\dev/psoc4/2/dsiconn.cydata" --pins-file "pins_124-VFBGA.xml" --lib-file "Temp_p.lib" --sdc-file "Temp.sdc" --io-pcf "Temp.pci" --outdir .
<CYPRESSTAG name="Detailed placement messages">
I2807: The following instances could not be placed: \USBFS:ep3_dma\, \USBFS:ep4_dma\, \USBFS:ep6_dma\, USBOutDMA, USBInDMA
DMA placement:
DMA 0: <empty>
DMA 1: <empty>
DMA 2: TxDMAB_1
DMA 3: TxDMAB_0
DMA 4: <empty>
DMA 5: <empty>
DMA 6: <empty>
DMA 7: <empty>
DMA 8: RxDMAB_1
DMA 9: RxDMAB_0
DMA 10: TxDMA_1
DMA 11: TxDMA_0
DMA 12: RxDMA_1
DMA 13: RxDMA_0
DMA 14: \USBFS:ep1_dma\
DMA 15: \USBFS:ep2_dma\
DMA 16: <empty>
DMA 17: <empty>
DMA 18: <empty>
DMA 19: <empty>
DMA 20: <empty>
DMA 21: <empty>
DMA 22: <empty>
DMA 23: <empty>
DMA 24: <empty>
DMA 25: <empty>
DMA 26: <empty>
DMA 27: <empty>
DMA 28: <empty>
DMA 29: <empty>
DMA 30: <empty>
DMA 31: <empty>E2806: Failed to place fixed-function blocks. See the report file for details.
</CYPRESSTAG>
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bob, thanks. But my part actually has 32 DMAs and the error is not over UDBs. As I said, if you just remove the links from tr_out to tr_in it builds fine.
The problem is more nuanced, support gave me a workaround to put this in a control file. It seems to work well. In fact, now I can build it with twice as many linked DMAs.
ATTRIBUTE placement_force OF \USBFS:ep1_dma\ : LABEL IS "DMA(0,8)";
ATTRIBUTE placement_force OF \USBFS:ep2_dma\ : LABEL IS "DMA(0,9)";
ATTRIBUTE placement_force OF \USBFS:ep3_dma\ : LABEL IS "DMA(0,10)";
ATTRIBUTE placement_force OF \USBFS:ep4_dma\ : LABEL IS "DMA(0,11)";
ATTRIBUTE placement_force OF \USBFS:ep5_dma\ : LABEL IS "DMA(0,12)";
ATTRIBUTE placement_force OF \USBFS:ep6_dma\ : LABEL IS "DMA(0,13)";
ATTRIBUTE placement_force OF \USBFS:ep7_dma\ : LABEL IS "DMA(0,14)";
ATTRIBUTE placement_force OF \USBFS:ep8_dma\ : LABEL IS "DMA(0,15)";
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mike you ran out of resources I disabled 4 of the DMA components and it compiled without issues. Your part only supports 8 UDB devices. Select a bigger part.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bob, thanks. But my part actually has 32 DMAs and the error is not over UDBs. As I said, if you just remove the links from tr_out to tr_in it builds fine.
The problem is more nuanced, support gave me a workaround to put this in a control file. It seems to work well. In fact, now I can build it with twice as many linked DMAs.
ATTRIBUTE placement_force OF \USBFS:ep1_dma\ : LABEL IS "DMA(0,8)";
ATTRIBUTE placement_force OF \USBFS:ep2_dma\ : LABEL IS "DMA(0,9)";
ATTRIBUTE placement_force OF \USBFS:ep3_dma\ : LABEL IS "DMA(0,10)";
ATTRIBUTE placement_force OF \USBFS:ep4_dma\ : LABEL IS "DMA(0,11)";
ATTRIBUTE placement_force OF \USBFS:ep5_dma\ : LABEL IS "DMA(0,12)";
ATTRIBUTE placement_force OF \USBFS:ep6_dma\ : LABEL IS "DMA(0,13)";
ATTRIBUTE placement_force OF \USBFS:ep7_dma\ : LABEL IS "DMA(0,14)";
ATTRIBUTE placement_force OF \USBFS:ep8_dma\ : LABEL IS "DMA(0,15)";