Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

Is it save to use the PIO in QSYS

Hello,

I have several PIOs in my QSYS design to communicate with some of my own designed IPs.

My IPs mostly use other clock signals than the PCIe-Clock and are therefore not synchronized to the clock of the PIOs.

For example I have an Pulsecounter with only one 1-Bit-Input and a 32-Bit-Output which is read out by an 32-Bit PIO.

I think I don't have to explain, what this Pulsecounter does.

I ran a test with a similar IP, which switched fast between two known values. Then I read out the values as fast as I could from the PIO. I read 25Bil. values, but none was corrupt. I wonder how this is achieved especially because the PIO has no Input-Clock or something like that.

My questions are:

Is it save to read from the PIO while the Pulsecounter changes its output? Or may it be that I read some Bits with the old value and some bits with the updated value? How does Altera achieve such a reliability without a clock or a "valid"-Signal or something else?

Yours

Steffen

11 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Maybe the logic paths of the inverts are close enough that getting a different value is extremely unlikely.

    Try counting clocks and looking for a jump backwards.