-
1. Re: UDB Fifo read fails to raise empty flag
JoMe_264151 Jun 23, 2014 5:21 AM (in response to userc_42420)Would it help to connect F0_Empty to .f0_bus_stat instead of .f0_blk_stat.
Bob
-
2. Re: UDB Fifo read fails to raise empty flag
userc_42420 Jun 23, 2014 4:13 PM (in response to userc_42420)Hi Bob, it's good to hear from you! I am not exaggerating when I say that you have helped solve MANY of my psoc problems over the past 3 years with your forum posts. Flattery aside, I have attached a picture of the options I get in the UDB editor for the .f0_bus_stat and .f0_blk_stat. I did not use the udb editor tool to write my verilog since it's a bit limiting, but I do use it to setup my UDB device, which I then copy and paste into my verilog to save time. There it says that .f0_bus_stat means "not full".
Also, the Component Author Guide (http://www.cypress.com/?docID=49650), on page 138, gives an explanation as to how those stats are defined. Since F0 is an input, .fo_blk_stat should indicate when F0 is empty.
Sorry for the onslaught of information but I wanted to make sure I gave you enough information to verify this yourself so you didn't just have to take my word for it. Thank you for your response, it gave me the idea to run a test where I place data in F0 and then read the status, and that way I can test how many bytes it takes until it becomes full. My conclusion is 4 bytes, which answers the last question I posed in my original post. However, reading from F0 with A0 still does not seems to affect the read pointer/empty flag.
-
UDB_Options.png 38.9 K
-
-
3. Re: UDB Fifo read fails to raise empty flag
userc_42420 Aug 25, 2017 9:44 AM (in response to userc_42420)For those that may find this questions useful I have found a solution. After looking through the PSoC Creator Training on Datapath FIFO, on page 4 there is a description of how Fifos are loaded and unloaded.
This page pretty much states that the default location for Fifo F0 data to go is register D0, which is done through a logical expression in the instructions side of the udb editor, "OR" you can activate Fifo F0 as dynamic and you can use register A0 as your destination register (`SC_FIFO0_DYN_ON inside the UDB datapath configuration). I tested both methods and they each clear the empty flag as expected.
Thank you to Bob for taking the time to look at this for me. It was by sheer luck that I found an article with the pertinent information in it, and even more lucky that I was in the frame of mind to correctly interpret what I was reading. For any Cypress employee reading this, I think this information would be helpful if added to the UDB datapath component creator manual. If it is already in there I apologize, its like 250 pages and extremely sparse, I must've read right over it. Keep on PSoCing!
-
4. Re: UDB Fifo read fails to raise empty flag
JoMe_264151 Jun 24, 2014 3:16 AM (in response to userc_42420)I stopped using the datapath editor after a few tries realizing that some of the (required!!) signals were not accounted for. Now I'm waiting for the next version.
The last UDB/DataPath problem I had was solved completely by creating a MyCase and supplying a well documented small source that produced the error. There are some DataPath Gurus at work at Cypress's I can assure you. It might take some time, but they will really help.On top of this page: Support&Community -> Technical Support -> Create a MyCase
Bob
-
5. Re: UDB Fifo read fails to raise empty flag
JoMe_264151 Jun 24, 2014 3:21 AM (in response to userc_42420)Glad to hear that you soved your issue! I sent my previous post without having seen you last one, so skip that suggestion. Think I have to read something more...
Bob