Error when trying to assign .po() for a datapath

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

cross mob
lock attach
Attachments are accessible only for community members.
ChRe_4711096
Level 4
Level 4
50 replies posted 25 replies posted 25 sign-ins

I'm trying to make a CPU-writable 9-bit latch that forwards from D0 and D1 to parallel out and (as 9th bit) A1==0, when INSTR_ADDR[0] == 1. The instruction at address 1 simply loads A0 from D0 and A1 from D1. A0 should be the parallel output, and is split into single bits (Ap, Ac, Bp, Bc, Cp, Cc, Ain0, Ain1).

I've pre-configured my datapath using the UDB editor, copied the generated verilog code to a new file, and modified it to connect the datapath's parallel output to a module output - see attached file.

However, I'm getting the following error:

Pin guidance unavailable: 'po' not a port of module 'cy_psoc3_dp8'

How do I connect to a datapath's parallel out? The Appendix of AN81256 wasn't helpful either. The examples say "parallel in" or "parallel out", but they don't actually connect anything using pi() and po().

0 Likes
1 Solution
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

The cy_psoc3_dp8 is a wrapper to the cy_psoc3_dp. It hides some of the inputs and outputs of the base datapath module, including the pi() and po().

That means you need to use the cy_psoc3_dp module to access the parallel signals. You can use the Datapath Configuration Tool to create the template for you.

PSoC Creator > Tools > Datapath Config Tool.

In the tool, go to:

Edit > New Datapath..

Select Instance Type = cy_psoc3_dp.

View solution in original post

0 Likes
3 Replies
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

The cy_psoc3_dp8 is a wrapper to the cy_psoc3_dp. It hides some of the inputs and outputs of the base datapath module, including the pi() and po().

That means you need to use the cy_psoc3_dp module to access the parallel signals. You can use the Datapath Configuration Tool to create the template for you.

PSoC Creator > Tools > Datapath Config Tool.

In the tool, go to:

Edit > New Datapath..

Select Instance Type = cy_psoc3_dp.

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

Oooh that's better. I've created a symbol for it, but now all output pins are reported as floating. Why is that? As far as I can tell everything is fine.

0 Likes

The problem is this line:

assign A0 = ({Ap, Ac, Bp, Bc, Cp, Cc, Ain1, Ain0});

It should assign the opposite:

assign Ain0 = A0[0];

assign Ain1 = A0[1];

assign Cc = A0[2];

...

0 Likes