Forum Discussion
Nios 1 vs Nios 2
We have an avionics lighting group in our company that is expanding into newer technology. It is only a matter of time that they will need a super low cost micro solution. I am in a group that designs avionics display products and they have approached me on micro suggestions. I believe that the NIOS is the way to go. However, I am divided on whether to suggest the NIOS1 or NIOS2. The applications will be unbelievably simple and straight forward. The reason I would even suggest NIOS1 is this group has no software engineers. They know just enough C to be dangerous. The NIOS1 SDK is easier for non software types, and there is a layer of abstraction in the NIOS2 that may be confusing to engineers who only know C. I know that NIOS1 will probably not be supported, but I know that they would have trouble with NIOS2. They will not be able to hire an engineer because there is a hiring freeze. They can only get some support from our group. The NIOS1 support may not be an issue to them because we archive all tools, drivers, debuggers, etc for every project because these products may be in service for more than 20 years. If they need a software change in 5 years, we would use the same tools as they used in the initial design (unless there is a bug or update). Thoughts....
17 Replies
- Altera_Forum
Honored Contributor
If you already own NIOS I and speed isn't an issue then stick with it.
However, NIOS II is smaller, faster, and it's not too bad for programming (I'm a hardware guy and I have very little problems programming on NIOS II, mind you I don't do complicated stuff like OS programming). If you have neither core take NIOS II because of the advantages (that and the assembly language of NIOS I is already obsolute so an upgrade to something else like NIOS II, or NIOS III (if it comes to that) if they did do ASM code they would have legacy problems). - Altera_Forum
Honored Contributor
Nios II supports the Nios I SDK so there really isn't any reason for you to use Nios I.
As you point out, you could stay with Nios I for many years without any problems but you'll be more on the mainstream if you switch to Nios II. One of the great things about the Nios I and Nios II soft cores is that we just use normal VHDL/Verilog and Quartus synthesis so supporting a variety of FPGA devices is pretty straightforward. Altera is pretty good about having new devices be compatible with old ones so you should have few problems migrating Nios I or Nios II to newer FPGA devices as they become available. This is one of the advantages of soft-core CPUs over hard-core CPUs on FPGAs. Given all this, I must say that our focus at Altera is now on Nios II development. Nios I is basically in maintenance mode with bug fixes. - Altera_Forum
Honored Contributor
If we opt for the NIOS2/SDK approach, is Altera going to support the SDK? As I said before, simplicity and code size would be the main goal for this product line. Our application must fit on a small fpga such as a Cyclone 1C3 or 2C5 (when it's available). I have been working on single chip solutions using a 1C3 and have done amazing things with it. FPGA, config device, xtal... doesn't get any better for a super small app!
Rick - Altera_Forum
Honored Contributor
I have a HW friend who grooves to the NiosI dev environment, but the Nios2 IDE might as well be straight from the Alien Spacecraft. Personally, I'm a software guy and prefer the new IDE, but until Altera gets real about code size and fixes a truckload of teething bugs, I'm sticking with NiosI as well.
A halfway approach would be to use NiosII but with Legacy SDK support. But IMO there are plenty of LE's on the chips that make sense to us financially, but very little RAM and flash. Right now NiosI makes more sense for us. Ken - Altera_Forum
Honored Contributor
Legacy SDK support will be there for Nios II for as long as I have a say :-)
That's the main thing I test, so it is being tested and supported. Personally I prefer it to the IDE also. But I do see where software people would love the IDE. - Altera_Forum
Honored Contributor
Oh I almost forgot. Another difference between the two is if you need to optimize your code doing assembly, you'll have a much easier time with NIOS II then with I. I can't tell you how many time I've cursed outloud because I used the wrong cc_xx code due to the reverse logic in NIOS I.
- Altera_Forum
Honored Contributor
--- Quote Start --- originally posted by kenland@Aug 26 2004, 10:27 AM i have a hw friend who grooves to the niosi dev environment, but the nios2 ide might as well be straight from the alien spacecraft. personally, i'm a software guy and prefer the new ide, but until altera gets real about code size and fixes a truckload of teething bugs, i'm sticking with niosi as well. --- Quote End --- KenLand, You state that Altera need to "get real about code size". The new software scales to the same size as the old SDK, have you tried the recommendations in the Reducing Code Footprint section of the Software Developers Handbook? It was a conscious decision to provide full featured systems by default, but if code size is your main focus the code scales down. - Altera_Forum
Honored Contributor
Ya the recommendations help a lot.
I took something that had a 70kB footprint and brought it down to 4kB with a few changes here and there (I'll admit as a hardware guy I was kinda lost on how to do those at first, but 30 minutes later I got things working fine). - Altera_Forum
Honored Contributor
rugbybloke,
IMO NiosI/II are primarily embedded products that should therefore assume footprint is of primary concern. If you're going to create a slick GUI frontend then you need to go all the way and make it do what the customers need, comments in HelloWorld.c are not exactly the 'A' solution. Altera knows that and I'm confident they will address this in future releases. I fully plan to switch over to NiosII + IDE at some point. Different people will have different thresholds. Sure I ported my 2 processor system over using Legacy Support and yes it "worked" but I made the subjective decision that the entire chain was not yet up to my idea of Prime Time. A lot of people consciously or subconsciously enjoy obscure procedures and workarounds. Not a problem, but that's not Altera's stated goal for this product chain. I've documented, as others have, some of the bugs and overly brittle work flows in other posts. (Project setup, custom board creation, footprint size, libraries, ALLCAPMACROS, etc.) I'm looking forward to the day when the tools and all the parts are solid to the point that the embedded engineer can forget about the tools and focus on his application. I know its a journey and don't expect overnight miracles, but the discussion of goals and shortfalls among supporters is healthy and necessary. Ken - Altera_Forum
Honored Contributor
Kenland,
You seem to have done a lot of evaluation and have lots of views on bugs and features we could add. I would really like to hear this feedback. I have searched the boards based upon your description and can find little detail on the problems mentioned. Please send me a list of your feature requests/bugs by private email, if you could provide more detail that would be greatly appreciated. Thanks