Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

FPGA tristate timing problem

Problem: Not able to get the tri-state to operate as needed. See "timing diagram.jpg", top signal is a 6MHz clock, second signal "CYCLE" is 167nS pulse at a 1MHz rate, 3rd and 4th NA, 5th signal (bottom) is a 15 bit address bus this is what I want to tri-state.

What I tried is to invert CYCLE and control the FPGA I/O Method Node 'ENABLE' for the address lines thinking the address will be tristated except when CYCLE is low as shown in the timing diagram, but it wont work it is always enabled.

The VI in the zip has address enable fixed as enabled, to see what I was trying modify as follows:

In TOP_FPGA.vi delete 'enable address' from the lower 24Mhz loop and connect local variable CYCLE to ADDR OUT 'enable' pin.

What can I do to make this operate as intended.

Thanks,

Drew Sutton

0 Kudos
Message 1 of 3
(3,295 Views)

Drew,

 

I didn't have too much time to look over your project, since it would take a while to understand everything going on, but I did notice that in  your ADDRESS_FPGA.vi, you set enable AND try to write at the same time, without any sort of dataflow.  I don't believe this should be happening in parallel, enable your outputs first and then try and write.

 

Did you try building this off of This KB? I would recommend taking a look at that to make sure you are attempting to do the tri-state correctly.

Rob K
Measurements Mechanical Engineer (C-Series, USB X-Series)
National Instruments
CompactRIO Developers Guide
CompactRIO Out of the Box Video
0 Kudos
Message 2 of 3
(3,240 Views)

Rob,

You hit the nail on the head, I am still trying to get the data flow concept  to sink in.

The link was helpful.

Thanks,

Drew

0 Kudos
Message 3 of 3
(3,228 Views)