PSoC4M unable to fit 5 PWM blocks. Fitter error.

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Mrinal
Level 4
Level 4
First solution authored 50 replies posted 25 replies posted

I have placed 5 PWM blocks in my design. However the 5th PWM block doesn't seem to be able to route its output to the UDB. I am getting a fitting error. Also, its output cannot be connected to any arbitrary pin, again a fitting error.

How many of the total 8 PWM blocks can be routed through the UDB? Where can I find more information on this?

Thanks

Mrinal

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.

Works, see attached. You cannot rely that your chosen pins can be used. I removed all locks on the pins and let the fitter decide to route.

Bob

View solution in original post

0 Likes
11 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

The PSoC4 has got 4 UDBs. Additionally there are 8 TCPWMs. Out of each you can build an 8bit wide PWM. When looking at the very right hand side of the Creator window you will see a vertical tab named "Resource meter". There you can see what resources your chip has got and how many of those your design already consumed.

Bob

0 Likes

Thanks for the answer.

However I am not running out of resource. There are 8 PWM blocks and I am using only 5.

The problem is that the output of the first 4 PWM blocks can be routed through the UDB however for the 5th PWM, its output can be routed only to a selected few fins. It is not being routed to the UDB or for that matter to any arbitrary pin.

I want to know whether all the 8 PWMs can be routed to the UDB or only a selected few.

0 Likes

Please post your code so we can check it.  To do this Press file and then select Create Work space bundle and attach it to a new comment.

0 Likes

I am not quite sure what you mean with "routed through ther UDB". Can you please post your project and tell exactly what you want to do.

To do so, use

Creator->File->Create Workspace Bundle (minimal)

and attach the resulting file.

Bob

0 Likes
lock attach
Attachments are accessible only for community members.

PSoC4 had 4 dedicated PWM blocks and their output could be connected to (routed to) any pin through the switching matrix (HSIOM). There were a few pins that had a dedicated connection to fixed functional blocks such as PWM, OPAMP etc. Apart from the dedicated pins the outputs of the fixed functional blocks (here PWM) could also be connected to other pins and also to UDBs.

Now PSoC4M has 8 dedicated PWM blocks but it appears that outputs of only four of these PWM blocks can be connected to UDBs or any random pin through the HSIOM.

The rest four can only be connected to pins that are reserved for PWM output. This means that these outputs can not even be connected to logic gates.

I am getting "design fitting" errors since the morning today.

I have added four PWM blocks and connected their outputs to pins that are routed through HSIOM. But the design does not fit.

It will fit if:

- One PWM block is deleted. (delete PWM_1)

OR

- The output of one of the PWM block is connected to a pin reserved for PWM

OR

- Change PWM_1 from "fixed functional block" to UDB based implementation. (This will effectively leave only 4 fixed functional PWMs in the design and it will work now)

I have attached the project.

Another funny thing is if I place an OPAMP and connect its output and input to any pin apart from the one reserved explicitly for OPAMP, the fitter gives an error. It does not make use of the analog mux to route the opamp. (In PSoC4 the fitter automatically used the analog mux to route the output of the opamp to any desired pin that was connected to the analog mux)

Too many fitting problems, I do not know hat is happening.

Please help

0 Likes
lock attach
Attachments are accessible only for community members.

Please find the attached project.

0 Likes
lock attach
Attachments are accessible only for community members.

Works, see attached. You cannot rely that your chosen pins can be used. I removed all locks on the pins and let the fitter decide to route.

Bob

0 Likes

That is what my point exactly is. Cannot rely?? "Rely" is very lose term. What does rely mean. (Sometime yes sometime no?)

What good is this for? I cannot modify my PCB design just lo let the fitter automatically decide which pin "it" feels it should use.

The datasheet mentions that the output of PWM blocks can be routed to any pin or to UDB. The datasheet never mentions the limitation that only four PWM blocks can be routed to any pin or to UDB. Limitations should be clearly mentioned.

Is there no document that provides more information on this?

Thanks

0 Likes

Also, even if you remove all locks the output of all the 5 PWM cannot be connected to UDB components such as logic gate.

In the modified design that you have sent me, just add a NOT gate at the output of PWM_1. There's a fitting error again! (even after unlocking all pins)

This clearly means that only 4 out of the 8 PWM blocks can be connected to UDB components.

Missing information in the datasheet and the information is all scattered here and there and not at one place.

This is one biggest down point about Cypress products. I have somehow got used to it over the last three years, but I still remember that I always had to deal with information scattered over different documents and still no perfect conclusion.

I think there's no solution to this problem. The best is to "assume" that only 4/8 PWM blocks can be connected to UDB.

If you are aware of a document that confirms this assumption, please share it. Will be very helpful.

Thanks again

0 Likes
lock attach
Attachments are accessible only for community members.
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

... and here it is. Refer to attached project featuring 12 PWMs

Bob

0 Likes
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted

You can use quad-PWM component instead of fixed block

8-bit Quad PWM Component - Hackster.io