FTDI Community

Please login or register.

Login with username, password and session length.
Advanced Search  

News:

Welcome to the FTDI Community!

Please read our Welcome Note

Technical Support enquires
please contact the team
@ FTDI Support


New Bridgetek Community is now open

Please note that we have created the Bridgetek Community to discuss all Bridgetek products e.g. EVE, MCU.

Please follow this link and create a new user account to get started.

Bridgetek Community

Show Posts

You can view here all posts made by this member. Note that you can only see posts made in areas to which you currently have access.

Messages - NorthGuy

Pages: [1]
1
Here's what the example application suggests for Quartus:

Code: [Select]
set_input_delay -clock [get_clocks fifoClk] -max 7    [get_ports {BE[*] DATA[*]}]
set_input_delay -clock [get_clocks fifoClk] -min 6.5  [get_ports {BE[*] DATA[*]}]

set_output_delay -clock [get_clocks fifoClk] -max 1.0 [get_ports {BE[*] DATA[*]}]
set_output_delay -clock [get_clocks fifoClk] -min 4.8 [get_ports {BE[*] DATA[*]}]

Here's what I used for Xilinx 7-series in Vivado, which I believe is correct:

Code: [Select]
# max delay is 7.0 (from FTDI docs) + 0.4 data wires - 0.2 clock wire = 7.2
set_input_delay -clock [get_clocks clk_ftdi] -max 7.2 [get_ports {ftdi_data_*}]
# min delay is 3.5 (from FTDI docs) + 0.2 data wires - 0.2 clock wire = 3.5
set_input_delay -clock [get_clocks clk_ftdi] -min 3.5 [get_ports {ftdi_data_*}]

# max delay is 1.0 (from FTDI docs) + 0.4 data wires + 0.2 clock wire = 1.6
set_output_delay -clock [get_clocks clk_ftdi] -max 1.6 [get_ports {ftdi_data_*}]
# min delay is -4.8 (from FTDI docs) + 0.2 data wires + 0.2 clock wire = -4.4
set_output_delay -clock [get_clocks clk_ftdi] -min -4.4 [get_ports {ftdi_data_*}]

The FT601->FPGA figures (set_input_delay) are easy to meet either way.

The FPGA->FT601 figures (set_output_deay) are practically impossible to meet because of the very long hold requirement. Of course, if you use "hold" instead of "minus hold" for set_output_delay -min (as in the example application) the timing analysis will succeed every time.

2
Discussion - Drivers / Re: Is the D3XX driver thread safe?
« on: February 06, 2021, 03:33:37 PM »
Me too.

3
Discussion - Hardware / Setting "Ignore Session Underrun"
« on: February 05, 2021, 06:13:27 PM »
The AN_370 configuration documentation lists two different options for "Ignore Session Underrun":

- On Multiple of MaxPacketSize bytes
- On Multiple of FIFO bus-width bytes

I want to set this using FT_SetChipConfiguration(), but the FT_60XCONFIGURATION in FTD3XX.h doesn't contain any fields for this.

FT_60XCONFIGURATION is not documented, so one must guess the functionality by field names. The closest I could find is the CONFIGURATION_OPTIONAL_FEATURE_DISABLECANCELSESSIONUNDERRUN flag in the OptionalFeatureSupport member, which I guess I need to set. But nothing to distinguish between "On Multiple of FIFO bus-width bytes" and "On Multiple of MaxPacketSize bytes".

So, how do I select between "On Multiple of FIFO bus-width bytes" and "On Multiple of MaxPacketSize bytes"?


Pages: [1]