- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi, what is the value that you are reading? what is the expected temperature?
did you try the design in the how to video. https://www.youtube.com/watch?v=E5TaTxuOmOY&t=4s
Try downloading all the files in the youtube description. Run it and see if you still see any unexpected results. FYI, the design was tested working.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I have the same issue as RYang6. The Voltage IP works fine for me, but the temperature IP for the Stratix 10 PCIE eval board gives extrememly sporadic or very weird readings. I have watched the youtube video and made sure my code is correct for decoding. i.e. one of the readings i get is 0xf240
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi WGith,
Lets try this out:
1) can you use the exact design files in the youtube description. i want to Make sure we are on the same page and looking at the same design.
DOwnload the files and all the tcl scripts. Run it and see if you are getting the same results as shown in the youtube.
2) If you still see the sporadic problem, elaborate further what is the device P/N you are using. what quartus version are you using? how many boards tested & how many boards are seeing this problem? what is the expected temperature? how sporadic is the reading? does this happen to all channel or certain channels? can this be recovered by resetting the IP/ power cycling device?
I will more details in order to help you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So I tried the Intel project and that did work. SO I dug deeper and opened the s10temp.ip that was included in that project. The ip opens the block symbol for that design has cmd_data of (6:0). That really surprised me as I know the temperature ip auto generated by quartus 18.0 and 18.1 has cmd_data at (8:0). Now this may not make a difference, but it IS different.
I am next going to try and build my design using the .ip from the Intel project and see if that works. If it does, then something is definitely wrong with the current IP block.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @WGith
Alternatively, use the Intel design that worked, upgrade the IP to 18.0 or 18.1. Confirm the bus width. Test it again. I think it is easier to debug from a working design.
Regards, jonway
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Here is my update. Using the IP from the working design with my code did work.....KIND OF. There is definitely something wrong with the IP block(S) and needs to be addressed soon. Using the working design IP, I was able to see the temperature for what I believe was the core logic temperature, but not the other Temperature I was requesting. Also I now see NONE of the voltage readings from the ADC, whereas before this was not an issue. So mixing the working temp IP with the working Voltage IP from Quartus do NOT work together. I had signal tap setup and in looking at the voltage output which is another block, I actually saw 2 of the voltage monitors sending data, but not int he voltage format, but in the temperature format. When I calculated them, these values appear to be valid, but slightly different temperautre readings than the temp IP block.
Now I know that the Voltage and Temperature IP all contact the ADC inside the FPGA. What I want to be able to do is have BOTH the Voltage and Temperature readings from the ADC. So, I'm not sure how to do that. I instantiated both blocks but they don't seem to be working together properly. Does the code to the ADC know to arbitrate between the two IP blocks correctly?
I will continue to work on this, but it would be good to have someone from Intel start looking at this in depth. I have using the S10 H-tile evaluation board.
Thank you,
Will
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Do I need to arbitrate between the Voltage IP and the Temperature IP blocks, meaning that only one of them can assert cmd_valid at a time, or does the IP blocks internally auto arbitrate?
I need to be able to find a combination of IP blocks that work so I can access both the voltage and temperature readings.
Any assistance you can provide in escalating this would be appreciated as there is definitely something not right with the current IP blocks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @WGith,
Yes, you need to arbitrate the cmd_valid between both Voltage IP and Temperature IP. No, it doesnt auto arbitrate.
Regarding your earlier concern on additional 2 bits in the cmd_data. [6:0] to [8:0}. In 18.1, 2 channels are added for temperature sensing at HBM (for devices that supports it).
I hope this clears your doubt.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I appreciate the help you have been giving me, but there is still something not right with the design. I have updated the design to poll the voltage monitor ip and then the temperature ip and keep looping on that. This still doesn't work for me. I will try to find some time to generate a signaltap enabled image to give you additional information.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @Wgith,
Sure, keep me posted. Signaltaps would be helpful. Just a note, the SDM can only process 1 IP at a time. So you have to make sure both IPs is back at cmd_ready, and only assert cmd_valid for one of the the IPs (not both together). Hope this helps.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Still having issues. I made sure to one enable one of the IP blocks at a time. I also have added very large waits between accesses. I have attached a zip file with my simple vhdl state machine that access the voltage and temperature IPs. I also included 4 signaltap screenshots which shows how I enable the voltage and temperature requests and how it shows the IP responding as expected, and then 2 screenshots which shows for the voltage IP it responds with 4 and not 5 requests and also the 2 requests that actually respond with data that is not zero is formatted in a way that is for temperature readings, not voltage readings. And then for the temperature IP response, I do get two responses, but the second response valid as you can see is 2 clock cycles too late for the second valid data response.
So, the temperature IP is almost working as expected, but the voltage IP is completely responding in a manner that makes no sense.
Note that I am running the IP blocks at 100 Mhz.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @WGith ,
Let me take a look at the STP, and I will get back to you.
It would be great if you could share with the me the simple design QAR.
Could I confirm with you that these IPs were working correctly individually?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @WGith
I took a look at the STP, for voltage sensor, i see you set to read channel 2,3,4,6,9
The results came back for 2,3,4,6...9 is missing. Is that what you meant by "Voltage IP is responding in a manner that makes no sense"? If not, please elaborate.
Btw, what device PN are you using?
Could you share with me the simple design QAR.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@WGith,
There is no errata regarding this.
When you have a simple design, send it over, i can help to check further.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @WGith
I modified the youtube design example to make it simpler. Upgraded the IP to 18.1, recompiled. Attached file. can you test it?
In System Console, run the below scripts:
# Setting up ISSP
set issp_index 0
set issp [lindex [get_service_paths issp] 0]
set claimed_issp [claim_service issp $issp mylib]
#{cmd_valid, reset, cmd_data [6:0]}
issp_write_source_data $claimed_issp 0x17F
#0x80 TSinactive
#0x17F active
set issp_index 1
set isspVS [lindex [get_service_paths issp] 1]
set claimed_isspVS [claim_service issp $isspVS mylib1]
#{cmd_validVS, reset_VS, cmd_dataVS [15:0]}
issp_write_source_data $claimed_isspVS 0x2025C
#0x10000 VSinactive
#0x2025C VSactive
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I haven't had a chance to look at your new example yet. It maybe a while, but here is an archived project of mine. In this design, teh voltage IP appears to work, but the temperature IP is not.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page