FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6359 Discussions

Tristate slave operation configuration

Altera_Forum
Honored Contributor II
835 Views

I built a tristate slave sopc component and I'm using it to access external memory. 

I have two problems: 

 

The first one, I found it was already discussed in following post: 

http://www.alteraforum.com/forum/showthread.php?p=77491 

My external device is 16bit wide but any IORD call results in two slave accesses, as complained in the linked post 

At the moment I must define the tristate slave with a fake 32bit data port and leave the upper bits unconnected. 

I ask if in the meantime the bug has been solved or if a patch is available (I'm using 9.0 sp2). 

 

The second issue is about tristate slave configuration. 

I can't add wait states to the read operation. 

In the tcl component definition I wrote: 

# Interface avalon_tristate_slave add_interface "avalon_tristate_slave" "avalon_tristate" "slave" "asynchronous" set_interface_property "avalon_tristate_slave" "isNonVolatileStorage" "false" set_interface_property "avalon_tristate_slave" "readLatency" "0" set_interface_property "avalon_tristate_slave" "holdTime" "1" set_interface_property "avalon_tristate_slave" "printableDevice" "false" set_interface_property "avalon_tristate_slave" "readWaitTime" "2" set_interface_property "avalon_tristate_slave" "setupTime" "1" set_interface_property "avalon_tristate_slave" "writeWaitTime" "1" set_interface_property "avalon_tristate_slave" "timingUnits" "Cycles" set_interface_property "avalon_tristate_slave" "minimumUninterruptedRunLength" "1" set_interface_property "avalon_tristate_slave" "activeCSThroughReadLatency" "false" set_interface_property "avalon_tristate_slave" "isMemoryDevice" "true" set_interface_property "avalon_tristate_slave" "writeWaitStates" "1" set_interface_property "avalon_tristate_slave" "maximumPendingReadTransactions" "0"  

clk=100MHz, then I assumed that readWaitTime=2 should lengthen the read strobe to 30ns. This is correctly shown in the waveform in Component Editor (Interface section). 

But measuring with oscilloscope I always have a 20ns value. 

Any ideas? 

 

Regards
0 Kudos
0 Replies
Reply