FSL Read Data Out Problem

Oct 04, 2004 6 Replies

Hello Everybody.



First of all thanks antti for your FSL File, now I understand the Read in Process.



formatting link



But for me also very important is to write the data out after the calculation is finished. Here is my actual VHDL Code, so the readin should be okay, and then I only assign the output value the input value after this valid. Then I want to read it out, but unfortunately I always get Output =



0, althought I write different values from 1 up to 5 at the data input port! So can perhaps someone give me a hint what is wrong here? Antti do you have a solution for this perhaps?

begin -- architecture IMP FSL0_S_Read


Hi,

The problem is that the Write signal is not a ready signal for MicroBlaze but it's a write signal into a FIFO. So what you have done is to write new values EVERY clock cycle into the FIFO which will get full very fast.

If you only want to write back the value that you read, then you should do this instead. FSL0_M_Write Hello Everybody.

Thanks for your help, I have updated the file as you said, but unfortunately I have still the same problem, I only get 0 values thats so strange...

Cheers Roger

030705090601060209050609 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit

Hi,

Sorry I didn't look careful enough on your C code. You are using the nonblocking version of the FSL macros but in this case you should do the blocking versions. use "microblaze_bread_datafsl" instead of the "microblaze_nbread_datafsl".

Could you also share the .mhs file so I could see that everything is connected correctly?

Göran

Roger Planger wrote:

Hi Goeren

Yeah finally, this was the mistake the non blocking Read Statement! Thanks a lot for this hint, now it works! So in the future when I wanna read out from FIFO I should use the blocking statement, shouldn't I?

Cheers Roger!

Sorry I didn't look careful enough on your C code. You are using the nonblocking version of the FSL macros but in this case you should do the blocking versions. use "microblaze_bread_datafsl" instead of the "microblaze_nbread_datafsl".

Could you also share the .mhs file so I could see that everything is connected correctly?

Göran

Roger Planger wrote:

Thanks for your help, I have updated the file as you said, but unfortunately I have still the same problem, I only get 0 values thats so strange...

Cheers Roger

Hi,

The problem is that the Write signal is not a ready signal for MicroBlaze but it's a write signal into a FIFO. So what you have done is to write new values EVERY clock cycle into the FIFO which will get full very fast.

If you only want to write back the value that you read, then you should do this instead. FSL0_M_Write

Hi Roger,

I'm glad that you got it working.

Depending on how long time it take to get the result. If the execution of the FSL modules take too many clock cycle and you want to do something else during that time or just enabling interrupts, you need to use the non blocking versions. But it that case you need to check if the execution of the FSL was successful or not.

But normally the execution of the FSL modules is not that many clock cycles and you can therefore in most cases use the blocking instructions. With the blocking instructions, you don't have to spend instructions and clock cycle to determine if the FSL instruction was successful or not.

Göran

Roger Planger wrote:

Hi Roger,

I'm glad that you got it working.

Depending on how long time it take to get the result. If the execution of the FSL modules take too many clock cycle and you want to do something else during that time or just enabling interrupts, you need to use the non blocking versions. But it that case you need to check if the execution of the FSL was successful or not.

But normally the execution of the FSL modules is not that many clock cycles and you can therefore in most cases use the blocking instructions. With the blocking instructions, you don't have to spend instructions and clock cycle to determine if the FSL instruction was successful or not.

Göran

Roger Planger wrote:

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required