2 Replies Latest reply on Oct 8, 2015 3:07 AM by jaeho.jo

    slavefifo 16bit data width


      To interfacing with external device, I'm trying to test using CYUSB3014.


      I configured GPIF to slavefifo, and I checked operation correctly in case of 8 bit data width mode.


      I tried to slavefifo 16 bit mode for increasing throughput.


      But it is not working correctly.


      Output data is Ok only DQ[7:0]. DQ[15:8] is always zero.


      I guess, it is not losing even byte data.


      Only 8 bit data is output.


      For example, If I sent 0x12345678 data, then the following data is output each clock.


      0x0078 0x0056 0x0034 0x0012.


      The changes to the 16 bit mode are as follows :




           * BUS_WIDTH : 0 --> 1


           * ADR_CTRL : 0 --> 5


      This was a reference to GPIF II designer example. (sync_slave_fifo_2bit.cydsn)

        • 1. Re: slavefifo 16bit data width
          Madhu Lakshmipathy



          We stronly recommend you to not edit the State Machine header file directly y writin to the registers, Please use the GPIF Ii SDesigner tool to generate the Header file for 16 Bit configuration.


          Open the 8 Bit configuration in GPIF II designer tool, change the Bus width from 8 Bit to 16 Bit in the tool and then build it to get the header file.


          FYI, the PIN_COUNT filed will also change when changing from 8 Bit to 16 Bit.




          - Madhu Sudhan

          • 2. Re: slavefifo 16bit data width

            I already generated 8 bit and 16 bit configuration using GPIF II designder tool.


            And I did directly writin to the GPIF_BUS_CONFIG  register because there is no difference between 8bit and 16bit configuration except that register.


            thank you.