9 Replies Latest reply on Aug 17, 2018 5:20 AM by srnt

    CYUSB3ACC-007

    mhe380_3571831

      Hi,

       

             Sorry about my newbie questions :

      What are the actual steps to test the CYUSB3ACC-007 CPLD Accessory Board for the EZ-USB FX3 for Cypress SuperSpeed Explorer Kit ?
      How to download the .bit file to the CPLD, and what is the app to launch to survey the 8 buttons on the CPLD board, how to communicate with the CPLD ? Is there anywhere the doc of GettingStartedWithCYUSB3ACC-007 ?
      In AN65974 Designing with the EZ-USB FX3 Slave FIFO Interface.pdf, the example is for SP601, not for CYUSB3ACC-007 CPLD Accessory Board.

       

      In the book "SuperSpeed Device Design by Example" by John Hyde, available on Amazon...

      Where is ProgCPLD, where can I download the project files including the .c and .v Verilog and the .ucf files ?

      Not sure how to flash the cpld by using Xilinx USB blaster, is it possible ? otherwise only ProgCPLD ?

       

       

      Thank you so much for your help !!

       

      Ce message a été modifié par : MH MH

        • 1. Re: CYUSB3ACC-007
          srnt

          Hello,

           

          To understand about the CYUSB3ACC-007, we recommend to read the book "SuperSpeed Device Design by Example" by John Hyde. The book is available on Amazon as well as Kindle. Please refer to the below page.

          http://www.cypress.com/documentation/other-resources/superspeed-device-design-example-john-hyde

           

          Best regards,

          Srinath S

          1 of 1 people found this helpful
          • 2. Re: CYUSB3ACC-007
            mhe380_3571831

            In the book "SuperSpeed Device Design by Example" by John Hyde, available on Amazon.. I bought it, format Kindle.

            Where is ProgCPLD, and in general where can I download the project files including the .c and .v Verilog and the .ucf files ?

            Not sure how to flash the cpld by using Xilinx USB blaster, is it possible ?

             

            What are the actual steps to test the CYUSB3ACC-007 CPLD Accessory Board for the EZ-USB FX3 for Cypress SuperSpeed Explorer Kit ?

            • 3. Re: CYUSB3ACC-007
              srnt

              Hello,

               

              - Please refer to the reference section of the book for programming the CPLD.

              - Also, kindly, refer to the below link for firmware examples, example projects, host application source code etc.

              http://www.cypress.com/documentation/other-resources/superspeed-device-design-example-john-hyde

               

              Best regards,

              Srinath S

              1 of 1 people found this helpful
              • 4. Re: CYUSB3ACC-007
                mhe380_3571831

                Hi,

                 

                   Somes questions about the Chap. 5 of John Hyde's SuperSpeed USB book, the text before Figure 5.4 mentions the PC Utility SendFile in order to send .xsvf files to the FX3 ? Is it inside SuperSpeed Design Examples V1.2\Visual Studio Projects\SendFile\Release ? Is this equivalent of ProgramCPLD.exe ?

                 

                Then, I've found some xsvf files in C:\Workspace_Cy\SuperSpeed Design Examples V1.2\CPLD Images, where did they come out ? Is it a . bit file from Xilinx ISE ? Can we compile it ? How ? Can one use this link ?   One Step XSVF   https://www.xilinx.com/support/documentation/application_notes/xapp503.pdf

                 

                After loading CPLD_Programmer.img file onto the Explorer board, now from the Control Center menu, FX3 appears as ‘Cypress USB BulkloopExample Device"’.

                FX3 has re-enumerated with the new Vendor ID/Product ID combination of 0x04B4 and 0x00F0, here the information :

                <DEVICE>
                FriendlyName="Cypress FX3 USB BulkloopExample Device"
                Manufacturer="USB Design By Example"
                Product="CPLD Programmer"
                SerialNumber=""
                Configurations="1"
                MaxPacketSize="512"
                VendorID="04 B4"
                ProductID="00 F0"
                Class="00h"
                SubClass="00h"
                Protocol="00h"
                BcdDevice="00 00"
                BcdUSB="03 00"
                ...

                I tried to load the xsvf file with ProgramCPLD.exe

                C:\Workspace_Cy\SuperSpeed Design Examples V1.2\CPLD Images>ProgramCPLD.exe Counter1.xsvf

                ProgramCPLD V0.4

                70385 bytes read from Counter1.xsvf
                If SuperSpeed Explorer Board is connected, press it's RESET button  <-- reset it, the FX3 is now appeared as BootLoader Device
                Waiting for a BootLoader found, downloading
                Programming....Complete

                Use CR to EXIT

                 

                However the CPLD board's LEDs are all off, Nothing seems happen... Why the Leds can't start counting ?

                • 5. Re: CYUSB3ACC-007
                  srnt

                  Hello,

                   

                  The link that I have mentioned in the above interaction contains a folder named 'CPLD Images'. This folder has got the I2C_Slave_And_SPI.xsvf which can be used to program the CPLD board. Also, the source file for the same is present in the 'CPLD Projects' folder.

                   

                  Best regards,

                  Srinath S

                  • 6. Re: CYUSB3ACC-007
                    mhe380_3571831

                    Srinath, thank you for your help.

                     

                    I found SendFile.exe in order to send .xsvf files to the FX3, but it fails to transfer the CPLD program xsvf file.

                    (SuperSpeed Design Examples V1.2\Visual Studio Projects\SendFile\Release)

                    After loading the CPLD_Programmer.img into FX3,

                    (SuperSpeed Design Examples V1.2\FX3 Firmware Projects\CPLD_Programmer\Debug)

                     

                    I've tried from console :

                    "

                    SendFile.exe I2C_Slave_and_SPI.xsvf

                    SendFile V0.3

                    Looking for a Streamer device . . . . . . . . . .
                    Could not find a Streamer device
                    Use CR to EXIT

                    "

                     

                    It can't load the xsvf file into the CPLD. Btw, what is a Streamer device, what does SendFile expect ?

                    In this case, how can I program the CPLD ?

                    In 630-60214-01_CYUSB3ACC-007_CPLD_ACCESSORY_BOARD_SCHEMATIC.pdf, how can one reach these wires in order to program by using Xilinx USB Blaster

                    TDO <= P83

                    TDI <= P45

                    TMS <= P47

                    TCK <= P48

                     

                    Why isn't there any connector to Xilinx USB Blaster ?

                     

                    what is the CPLD program to be used ?

                    C:\Workspace_Cy\SuperSpeed Design Examples V1.2\CPLD Projects\CPLD Projects\SPI_I2C

                    or

                    C:\Workspace_Cy\SuperSpeed Design Examples V1.2\CPLD Projects\CPLD Projects\I2C_Slave

                     

                    In AN84868 - Configuring an FPGA Over USB Using Cypress EZ-USB® FX3 - only deals with SP601, why not CYUSB3ACC-007 CPLD Accessory Board which is sold on cypress.com ?

                     

                    Then, I've tried from console :

                    "

                    ProgramCPLD.exe Counter3.xsvf

                    ProgramCPLD V0.4

                    70385 bytes read from Counter3.xsvf
                    Waiting for a BootLoader found, downloading
                    Programming....Complete

                    Use CR to EXIT

                    "

                    Only LED2 blue of the FX3 Explorer board is on.

                    However, the CPLD board's LED are all off, no counting ...

                     

                    Then again, using same method, I flashed I2C_Slave_and_SPI.xsvf

                    Now, how can I test anything ?

                    • 7. Re: CYUSB3ACC-007
                      srnt

                      Hello,


                      Replying to your questions in order.

                       

                      - In order to use the SendFile.exe, the FX3 device must be loaded with a device that comes with the VID/PID of 0x04B4/0x00F1. The utility looks for the presence of this VID/PID combination and if a device is present, the data is transmitted to the CPLD board over the bulk endpoint.

                      - The ProgramCPLD.exe loads the USBBulkLookExample project into the FX3 and then uses the Bulk endpoint to transfer the xsvf file to the CPLD board.

                      - Once you have loaded the I2C_Slave_And_SPI.xsvf file onto the CPLD board, program the FX3 using the I2C_Example.img that is present in the below location.

                      C:\Program Files (x86)\Cypress\SuperSpeed Explorer Kit\SuperSpeed_Design_Examples_V1.2\SuperSpeed Design Examples V1.2\FX3 Firmware Projects\I2C_Example\Debug

                      After the firmware is loaded into the FX3, the switches on the CPLD can be turned ON or OFF to see the changes on the LEDs.

                       

                      Best regards,

                      Srinath S

                      • 8. Re: CYUSB3ACC-007
                        mhe380_3571831

                        I use Visual Studio 2017, I opened C:\Workspace_Cy\CyAPI\library\c_sharp\CyUSB.sln, compile everything = OK

                        In order to have a test, I loaded USBBulkLoopAuto, USBBulkLoopManual firmware in FX3, use BulkLoop.exe to test Bulkloop transfer = OK

                        Then, I loaded USBBulkSourceSink firmware in FX3 and use Streamer.exe to test the USB throughput = OK

                        C:\Workspace_Cy\CyAPI\application\c_sharp\streamer\bin\Debug\Streamer.exe = OK

                           In this tool, I notice transfering data at 393100 KBps = 380 MBytes / s which should be FX3 USB 3.0 Speed

                         

                        SendFile.exe I2C_Slave_And_SPI.xsvf file onto the CPLD board = OK

                        console log "

                        C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\SuperSpeed Design Examples V1.2\CPLD Images>sendfile I2C_Slave_and_SPI.xsvf

                        SendFile V0.3

                        Looking for a Streamer device found
                        Sent 86969 bytes to FX3

                        Use CR to EXIT

                        "

                        I toggle switches of the CPLD board, turning ON / OFF, however there isn't any change on the LEDs. The LEDs remained off. = NOK  !!!

                         

                        I've decided to have a look in the most simple CPLD project, which should be Counter1

                        I loaded SuperSpeed Design Examples V1.2\CPLD Images\Counter1.xsvf, Nothing seems working.

                        I open the files BasicCounter.v and top.v, I found out according to "CPLDBoard.ucf" :

                        CLK is attached NET "PCLK"    LOC = P22;

                        RESET is attached to NET "CTRL[10]"   LOC = P6 | PULLUP;

                         

                        So until now, my first question is how to access CLK and RESET from outside ? Is there an app.exe to control these signals from Windows ?

                        Second question is why P22 is stuck to 3.3 V, that I have just checked with my oscilloscope. Strange ?

                         

                        Still struggling to know how to transfer data from CPLD to PC by USB 3.0.. Is there appan .exe like USBBulkLoopAuto, so we can send back and forth some data to/from CPLD

                        • 9. Re: CYUSB3ACC-007
                          srnt

                          Hello,

                           

                          Follow the below steps:

                           

                          1. Program the FX3 with the CPLD_Programmer.img file that is present in the following path.

                          C:\Program Files (x86)\Cypress\SuperSpeed Explorer Kit\SuperSpeed_Design_Examples_V1.2\SuperSpeed Design Examples V1.2\CPLD Images

                          The device should now enumerate as Cypress FX3 USB Bulkloop Example Device

                           

                          2. Modify the SendFile to look for the device with the VID/PID of 0x04B4/0x00F0 which is the VID/PID present in the CPLD_Programmer.img file. Use the I2C_Slave_And_SPI.xsvf file as the argument. The source file for the SendFile.exe is present along with the SuperSpeed Explorer Kit design examples in the following path.

                          C:\Program Files (x86)\Cypress\SuperSpeed Explorer Kit\SuperSpeed_Design_Examples_V1.2\SuperSpeed Design Examples V1.2\Visual Studio Projects\SendFile

                           

                          Note: Either the SendFile or the ProgramCPLD application can be used to transfer data to the CPLD board.

                           

                          3. After the successful transfer of data, the device falls back to USB boot-loader which can be found in the Control Center.

                           

                          4. Now, build and program the FX3 device with the I2C_Example project which can be found in the following path.

                          C:\Program Files (x86)\Cypress\SuperSpeed Explorer Kit\SuperSpeed_Design_Examples_V1.2\SuperSpeed Design Examples V1.2\FX3 Firmware Projects\I2C_Example\

                           

                          5. Now, the LEDs on the CPLD boards can be made to toggle in accordance with the switch presses.

                           

                          Best regards,

                          Srinath S