3 Replies Latest reply on Nov 7, 2017 2:45 AM by chloc_1378511

    UDB Dynamic PI



      I'm deep into the UDB and need to create a component with a dynamic PI aimed at PSoC5LP. I am creating the guts of the design in verilog by hand, but am using the Datapath Config Tool to setup the ALU instructions.

      When creating the component I target the PSoC5LP rather than crating a generic design.

      As a result the PI DYN bit in CFG15-14 is greyed out and I cannot invoke it.

      Reading the following post:


      Datapath ALU input from Parallel Input (not A0 or A1)


      I see that there was an issue with PSoC5 that means dynamic PI does not work, but later comments suggest this is fixed in PSoC5LP. So I am presuming that the datapath tool is incorrectly under the impression that I want to use PSoC5 and not PSoC5LP.

      I have some 'defines in my code that I assume defines which devices I am targetting:


      'define CYDEV_CHIP_MEMBER_5A 3

      'define CYDEV_CHIP_MEMBER_5B 2

      'define CYDEV_CHIP_MEMBER_USED 2


      More searching suggests that CYDEV_CHIP_MEMBER_5A = PSoC5 and CYDEV_CHIP_MEMBER_5B is PSoC5LP, and so it implies that the correct device is selected, but I can't find a description of how these should be defined, and random tweaking has not helped the situation.


      Any guidance on how to get DYN PI for PSoC5LP enabled or pointers to the correct documentation would be much appreciated.




        • 1. Re: UDB Dynamic PI

          Cypress AN82156 has an example of the parallel input to Datapath (see example #5 in code provided)


          • 2. Re: UDB Dynamic PI

            Many thanks for the pointer to the app note. I have already used this and have had PI working in the past, but only in fixed mode. That is to say that the SRCA input to the ALU is always PI for every instruction.

            The DYN PI bit in CFG15-14 should allow each individual instruction to choose whether SRCA comes from the PI or A0 register, and it is this feature that I need for my design.

            The link that I referenced indicates that DYN PI does not work for PSoC5 but should for PSoC3 and PSoC5LP. Sadly, the DYN PI option appears to be greyed out in the Datapath Tool, and I assume this is because the tool believes that my design may be targeted at a PSoC5 device. I'm trying to figure out how to overcome this.


            Looking at my code again, I see that the 'defines that I mentioned are only implemented for simulation, so that theory is a red herring.


            Can anyone confirm that they have DYN PI working on PSoC5LP?


            Many Thanks.

            • 3. Re: UDB Dynamic PI

              OK, I think I have just found the answer just in case it helps anyone else.


              If the PI DYN bit is greyed out in the Datapath Tool, then right click on the grey box and you are given the option to "Enable Bit". This results in the PI DYN bit becoming available, and the PI SEL bit then becomes greyed (as these options are mutually exclusive).


              Thanks for anyone that has looked into this problem.