Quartus prime pro

FIRMWARE TOPICS ONLY--non-firmware topics will be MOVED
dynamicfusion
Posts: 57
Joined: Thu Oct 14, 2021 5:23 am

Quartus prime pro

Postby dynamicfusion » Fri Jul 15, 2022 6:54 pm

I happen to have access to the top tier quartus through my PhD program and can install locally on my machine. Would it be "legal" to compile firmware through it and make available here? Would I be able to make available a remote desktop to any developers here who would like to experiment with firmware? It's an expensive piece of software so thought I would ask.
User avatar
w-u-2-o
Posts: 5539
Joined: Fri Mar 10, 2017 1:47 pm

Re: Quartus prime pro

Postby w-u-2-o » Fri Jul 15, 2022 7:22 pm

As long as you follow the open source licensing requirements it is legal. I'm not intimately familiar with them, but if you download a .qar file and open the project in Quartus you should be able to find the relevant language in the header comments of the project source code files. You might also have to do a little additional research beyond that based on the links and references in the source code comments.

An easier way to think about this is:

a) Don't charge for it.
b) Make sure that you carry forward and document the open source licensing information in the new code.
c) Don't use any proprietary code that people might have to pay for.

However, if you really get into the licensing language, derivative works that people might have to pay for are allowed. Open source is open source as long as you give credit where credit is due and don't charge for the bits you can't charge for. But people would probably prefer this didn't happen.

As for making remote access available to the workstation with Quartus Pro on it, I suspect that might be in violation of the licensing associated with what the university or college is making available. You'll have to check with them on that.

It's very much worth noting that one of the major philosophical issues that have been bandied about by the very few firmware developers involved in the project over the years is whether or not to use, or accept to use, a version of Quartus that is not free. The easiest part of this issue to understand is that if someone were to provide, gratis, a copy of Quartus Pro to a volunteer developer, then a volunteer firmware developer might feel they had some sort of responsibility or duty to develop. So far, no one has wanted to work under such an onus.

The trickier bit of this issue is the feeling that if the firmware was developed with a tool that not just anyone can afford (and yearly license costs for a single seat of Quartus Pro are very, very expensive), then somehow the code becomes less than open source. This isn't strictly true of course, but it could be argued on a de facto vs. de jure basis. Certainly code that relies on an expensive development environment to work does become less maintainable in the sort of development environment that exists around our radios.

On a more personal note, as a now retired chief engineer who has overseen innumerable firmware development efforts, my belief is that the GigE part of the code is extraordinarily difficult to develop without using features that are in Quartus Pro but not in Quartus Lite, namely incremental builds and floorplanning. Rick, N1GP, has worked near miracles to get what we have today, but we still have a few serial numbers out there that won't run P2 code. And the problem is all centered around the GigE MAC-PHY interface. The rest of the design is not running any faster than 125MHz, and at that speed achieving timing closure is a relatively easy. That's why the P1 100Mbit/s interface has no problems.

The other problem is that nobody has done a statistical study of the hardware by putting ten or so Orion MKII's (or MKIII's) into a thermal chamber and running them through their paces over a range of temperatures and voltages. This is how you develop both a thermal model and a timing model for the development environment. At this point it's all just a good guess. Indeed a very good guess based on Rick's great results to date, but still a guess.
Joe-W4WT
Posts: 167
Joined: Sun Apr 09, 2017 5:27 pm
Location: Cumming, GA

Re: Quartus prime pro

Postby Joe-W4WT » Sat Jul 16, 2022 5:56 pm

I would think that simply recompiling the current firmware under the Pro package with the appropriate settings enabled to optimize timing along with the appropirate languange included for public domain doesn't violate anything other than maybe some sensibilities about the process.

Making the compiled firmware available to Anan owners that might want to try it wouold be great. Anyone that doesn't agree to the manner of the development need not download it.

My two cents.

Joe W4WT
User avatar
w-u-2-o
Posts: 5539
Joined: Fri Mar 10, 2017 1:47 pm

Re: Quartus prime pro

Postby w-u-2-o » Sat Jul 16, 2022 8:38 pm

Merely using Pro to build the image is not sufficient to guarantee timing closure. The trick is to find a build that demonstrates good timing closure on an incremental build (frozen floorplan) of the MAC-PHY interface. Once that occurs and that critical increment locked down, then the rest of the design is free to iterate without the danger of screwing up the GigE timing.

Right now, just changing the version number in a build under Quartus Lite causes the entire floorplan to change. This is a function of the stochastic routing process used by all FPGA development systems.

I'm not saying it isn't worth a shot, mind you. We could all get lucky!
dynamicfusion
Posts: 57
Joined: Thu Oct 14, 2021 5:23 am

Re: Quartus prime pro

Postby dynamicfusion » Sat Jul 16, 2022 9:04 pm

I looked into the license and i think its per seat/machine.

From their site which I found interesting:
" Q. Do I need a license to evaluate Intel FPGA software or IP?

A. You do not need a license to evaluate the Intel Quartus Prime software or prior versions of Intel Quartus development software; the evaluation period is 30 days. A license file is required to evaluate DSP Builder for Intel FPGA software. Your local Intel sales person can provide you with the license. Intel FPGA IP is enabled for no-cost Intel FPGA IP Evaluation Mode immediately upon installation. No license file is required."

AND

"A. A checkout license enables portability for users with only floating seat licenses. The license administrator can issue a two-week fixed license allowing one of the users to have access to the same product licenses from the network while traveling with a laptop."

It seems an avenue to exploit may be to request indefinite trial licenses and install on a new VM every 30 days.
dynamicfusion
Posts: 57
Joined: Thu Oct 14, 2021 5:23 am

Re: Quartus prime pro

Postby dynamicfusion » Sun Jul 17, 2022 2:23 am

To do a proper build, would one need access to multiple 7000's ?
User avatar
w-u-2-o
Posts: 5539
Joined: Fri Mar 10, 2017 1:47 pm

Re: Quartus prime pro

Postby w-u-2-o » Sun Jul 17, 2022 12:12 pm

dynamicfusion wrote:To do a proper build, would one need access to multiple 7000's ?
Yes, if you want to get it right in the lowest number of code iterations.

One of the most important parts of timing analysis and simulation is determining the "operating conditions". This is primarily the range of supply voltages provided to the FPGA, and the range of temperatures the FPGA achieves during operation. Temperature is a function of both ambient temperature and any variations in the mechanical (fan, heatsink, solder attach, etc.) performance of the unit. All of this will vary across a population of units. For high speed signals, e.g. GigE PHY data and clock lines, there is also PCB trace length to worry about, but that tends to be much less variable unit to unit.

If you take a look at this article you will see how terrifically complex this all is. In particular, look at sections 12.2.2.18 through 12.2.2.21. One of the things that happened when Rick, N1GP, significantly improved the performance of the P2 firmware was that he and I discussed at length making changes to the operating condition inputs to the original P2 timing analysis. This was a major factor in improving build performance. A lot of what we did was educated guessing because we don't have a lab, a thermal chamber, and ten examples of each model ANAN to measure. Rick made a lot of builds while varying the operating conditions before finding something that started to work well for everyone. And he fixed a lot of bugs, too!

The good news is that the operating condition inputs as they are known right now should at least be close to where they need to be. The thermal performance of the E-series FPGA will not be identical to the GX-series FPGA, but it should be close. But even after Rick gets his MKIII hardware to develop on and comes up with a candidate build, we won't really know if it's a good build until it runs successfully on ten or twenty MKIII units over a wide variety of room temperatures and operating scenarios from low duty cycle phone to high duty cycle digital, and from 10W drive levels to 100W drive levels. In other words, from chilly to maximally hot.

The other major point the above referenced article brings up is "incremental compilation". Read starting at section 12.3.2.1. Unfortunately Quartus Lite does not allow for incremental compilation. Thus the metallization gets redone for then entire design every time one tiny change is made. Ideally this should not be a problem, but if some timing is running on the ragged edge in the real world because the assumptions for operating conditions are not precisely correct, then a seemingly innocuous choice for metallization by the compiler might have substantially bad results. Thus once you get a build by happy accident that is working really well for, say, the GigE interface, then you want to lock that part of the build down and never let it change. Then you can move on to fixing other bugs or adding other improvements without breaking the stuff that now works.
administrator
Posts: 118
Joined: Wed Aug 24, 2016 5:20 am

Re: Quartus prime pro

Postby administrator » Sun Jul 17, 2022 12:21 pm

Quartus Prime Pro does not support any of the FPGA families used in our boards!

dynamicfusion wrote:I happen to have access to the top tier quartus through my PhD program and can install locally on my machine. Would it be "legal" to compile firmware through it and make available here? Would I be able to make available a remote desktop to any developers here who would like to experiment with firmware? It's an expensive piece of software so thought I would ask.
User avatar
w-u-2-o
Posts: 5539
Joined: Fri Mar 10, 2017 1:47 pm

Re: Quartus prime pro

Postby w-u-2-o » Sun Jul 17, 2022 2:13 pm

Interesting. The Cyclone IV is only supported in Quartus Standard. Of course Quartus Standard does support incremental builds, same as Pro, so there is that.

At any rate this is probably all academic. Rick has Quartus Lite and that is almost certainly what will be used for further development, given the cost and philosophical reasons discussed above in my first post.
dynamicfusion
Posts: 57
Joined: Thu Oct 14, 2021 5:23 am

Re: Quartus prime pro

Postby dynamicfusion » Sun Jul 17, 2022 5:13 pm

Well damn, thats a curve ball I didn't see coming. How odd, standard but not the pro, huh.
K1LSB
Posts: 639
Joined: Wed Feb 05, 2020 5:25 pm

Re: Quartus prime pro

Postby K1LSB » Tue Aug 16, 2022 8:31 pm

w-u-2-o wrote:Interesting. The Cyclone IV is only supported in Quartus Standard. Of course Quartus Standard does support incremental builds, same as Pro, so there is that.

At any rate this is probably all academic. Rick has Quartus Lite and that is almost certainly what will be used for further development, given the cost and philosophical reasons discussed above in my first post.

Then I'm confused, because here's what it says in Wikipedia's Intel Quartus Prime article:

"The low-cost Cyclone family of FPGAs is fully supported by this [Lite] edition,..."

Capture.PNG
Capture.PNG (27.76 KiB) Viewed 4384 times

Mark
User avatar
w-u-2-o
Posts: 5539
Joined: Fri Mar 10, 2017 1:47 pm

Re: Quartus prime pro

Postby w-u-2-o » Tue Aug 16, 2022 9:39 pm

The issue was what does Prime Pro support vs. Standard or Lite. If you go to the primary source, i.e. the Intel web site for Quartus, you will find that Prime Pro does not support many of the older architectures, including Cyclone IV.

See this link: https://www.intel.com/content/www/us/en/products/details/fpga/development-tools/quartus-prime/article.html
K1LSB
Posts: 639
Joined: Wed Feb 05, 2020 5:25 pm

Re: Quartus prime pro

Postby K1LSB » Wed Aug 17, 2022 9:43 am

Ah, thanks for the clarification Scott.

Mark

Return to “Orion Mk II & III Firmware (all 7000, 8000 & Andromeda Variants)”