Forum Discussion
Altera_Forum
Honored Contributor
18 years ago --- Quote Start --- 2) HAL.... that leads me to believe 'operating system' which is not something i want.... ( i also have visions of a faint glowing red eye .. but that may be a figment of my imagination :) ). I read page 8-9 in that ISr document. 485 cycles to enter the interrupt and 222 to clean up? and 10 before it even vectors off ? what is wrong with the world.... an 8051 takes 4 clockpulses to vector off... and that thing is a 25 year old 8 bit 'toy' .... All that the cpu does is push the return vector on the stack and 1 or 2 registers. and off it goes. returning is the reverse. it takes a maximum of 10 cycles to enter and exit. Whats the point of having a 32 bit 500 MHz processor if an 12 MHz 8 bit runs faster... In my application the NIOs will get bombarded with interrupts. ( about 60.000 a second... ) this means i need a minimum of 60.000 x 700 ... 42 MHz just to enter exit the handler.... yikes. my system clock is 48 MHz .... looks like the good people form altera will have some explaining to do here .... --- Quote End --- The HAL gets involved only as deep the peripherals you use. You can eliminate all peripheral drivers and effectively the HAL is eliminated. It is an advanced subject as to how to do this but I can explain later. There is an interrupt accelerator available to help speed up the handler time. For most high performance systems interrupts are simply not used. DMA's are used. And for good reason. It makes no sense to use a processor for only handling interrupts. That's why it is not a critical issue for the Nios - even with the numbers you pointed out. The DMA controller is a very simple device and can do what you need. Again, like my previous post, you are going to need to learn the tools to get the best and most effective use of them. --- Quote Start --- 3) The lack of a method to 'lock' a variable to a specific address would make the compiler for the NIOS the biggest piece of useless junk available. So i can't believe that this does not exist... Anyone who does memory mapped IO needs such a construction. My whole system is built around memory mapped IO. Heck, all the systems i have built the last 20 years use memoy mapped io. Whether they used 6802 6809 68000 8051 8096 i960 80166 80188 ARM in all its flavours , MIPS and a number of other processors as their base is irrelevant. All the compilers i have used ( assembly , PL/M , C ) have a provision to do this. --- Quote End --- Most high performance systems like the ARM use the (*(volatile unsigned int *)0xXXXXXXXX) construct as well. This is an industry standard not found typically in low performance systems like limited resource 8 bit processors. --- Quote Start --- 4) i have no time to read all this stuff. I have a block of code that runs on an 8051 . it needs porting to NIOS so i can speed up the 32 bit arithmetic. The code is very very simple. ( about 1 kilobyte when compiled on an 8051 ) It just needs to be able to handle a couple of interrupts and deal with memory mapped i/o. And those 2 things seem to be a virtual impossibility on the NIOS 'monstrosity'... I have always been told that 'c' is the most portable language in the world .... right. and pigs can fly when the temperature in hell drops below 0 ... anyone has a BASIC compiler for this thing ? it would have been written in 2 minutes... 5) i have watched that completely.But even that thing assumes to much. I have never used GCC in my life ( right now i am disgusted at that toolchain. Its full of loose ends and very poorly documented. Support is inexisting. All you can do is post your question on the internet and hope someone will answer .. I prefer tools i have to pay lots of money for. At least then i can call someone and yell at them if it does't work ( It may accomplish nothing, but it makes me feel better :) haha ) and they can solve the problem. Anyway, thanks for the suggestions. --- Quote End --- I am sorry you feel this way. I would highly recommend you terminate your attempt to use the Nios if you are not willing to spend the time necessary to learn it. You will not get any benefit of what soft processors on an FPGA can give you for the reasons you cite. If the 8051 can give you what you need then the Nios and FPGA's is probably not for you. Good Luck! Rick