We were using Altera software Version 10.1 which featured a suite of DLL's that make up the hardware abstraction layer of our test fixture. The software was behaving properly on our Windows 7 system; however, when we ported our code to a Windows 10 machine the fs2nios2.dll file stopped behaving properly. When called it would report the MDIConfigT output correctly but not the MDIConnect output.
We downloaded the most recent versions of the Altera software versions 15.1 and 18.0 but the new versions do not feature the same DLL. Our application is primarily written in LabVIEW and the "Call Library" function requires that we know the name of the DLL, the input parameters, and the output parameters in order to call the functions we need. If we could get assistance either diagnosing why the fs2nios2.dll isn't behaving properly or instructions on which dll we should be using instead, that would be greatly appreciated.
You don't say whether you are using the 32b or 64b versions of Windows 7 or 10. It might matter.
That being said, I use Quartus 13.0sp1 and 16.0 on both Windows 7 64b and Windows 10 64b. They work fine.
Quartus 10.1 is REALLY old at this point and Intel/Altera no longer offers for download and they call it unsupported.
You might try running Windows 7 in a virtual machine on Windows 10 if you really need to move your base OS to Windows 10.
Our systems at 64b Windows 7 and 10. We don't mind upgrading to a newer version of the code, the problem is with the DLL's. The DLL that we were using was "fs2nios2.dll", but that one is not in the newer versions of the Altera Software. I've been struggling to gain visibility into the DLL's that do exist to see if the functionality of that particular DLL has been moved to another file. I've tried putting them through decompilers such as "JustDecompile" and "dnSpy" but the DLL's either were not the correct CLR format as with the former or came out in a jumble of incomprehensible hex code as with the latter. If there is documentation somewhere that explores the function inputs and outputs of the existing DLL's even if it didn't offer the actual code within them that would be exceptionally helpful.
Sorry fs2nios.dll was a typo; should have been fs2nios2.dll as you indicate.
My question was more general tho, asking if maybe that dll was installed from third party software and not native to Quartus?
That would explain why you don't see it in any newer versions of Quartus.
What does Windows Explorer show for the file info details for that file?
We have a copy of the Altera software version 10.1 on our network drives to ensure we could download the correct version when needed. I'm not sure where to redownload it. I found a site that claims to have versions 10.1, 14.0, 15.1, and 16.0 at the link below but I'm not 100% sure it is the same as what I have.
I have been able to get a bit more information though. FS2 was a 3rd party company that created an external debugger which was used to debug older versions of the Altera software. Newer versions of the Altera software use the USB Blaster to connect to the chip. We believe that the new dll we should be using is the usbblstr32.dll but I'm having a tough time finding documentation for it.
The old DLL (fs2nios.dll) had a function name called "_MDIConnect@12" which when called had 4 outputs:
Whenever we call the dll we get an error from the MDIConnect output which states that it can not connect to the chip; however, the output from MDIConfigT looks correct (as far as I can tell).
If there is any documentation on the usbblstr32.dll I could replace calls to the old dll with the new one to fix my problem. Let me know if I can provide any further information.
Unfortunately, we only support the following version found on our official page:
I could not find any related information regarding those .dll that you mentioned.
It seems that there is only support for versions of Quartus 22.2 and up. Is that correct?
My problem is that without documentation on the DLL's I'll still be in the same position that I'm currently in even if we upgrade. I can make the pitch to the team to upgrade our version of Quartus to a version that is supported but I have to know if there is a list of functions within a DLL that we can use with our existing architecture in the upgraded version of Quartus.
Alternatively with version 22.2 I did find a list of TCL commands that could be useful to us if we were to upgrade. My question is how are those commands accessed? If they can be accessed through a DLL (which would be the easiest option for us to transition from version 10.1 to 22.2) or are they only accessible by creating an executable and piping inputs and outputs away from it using a system command prompt?
The available to download Quartus in the link are supported.
Regarding the DLL files, you could check below for more info, hope it helps:
Yes. I followed the link you sent me but it just says "For more DLL information, refer to the respective device handbooks". I looked up the user manual for the UBS blaster interface between the computer and the chip but it makes no mention of a DLL. So I looked up the documentation for the INTEL MAX 10 FPGA that's on the chip and got 545 results. Filtering by "Manual" gives me 230 results and filtering by 27. If you could help narrow down where I can find DLL documentation for the INTEL MAX 10 FPGA that would be outstanding.
These are the handbook that I could find:
Additionally here are the example design for MAX 10 memory interfaces: