slavefifo 16bit data width

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

cross mob
Anonymous
Not applicable

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 :

   

GPIF_BUS_CONFIG :

   

     * BUS_WIDTH : 0 --> 1

   

     * ADR_CTRL : 0 --> 5

   

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

0 Likes
2 Replies
Anonymous
Not applicable

Hi,

   

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.

   

Regards,

   

- Madhu Sudhan

0 Likes
Anonymous
Not applicable

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.

0 Likes