- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I know how this is the NIOS forum and such, but NIOSII (or NIOSI for that matter) will not support the upcoming MAXII family. I have been working on a minimal 8 it processor for MAXII, but as I am mainly a hardware person the best I can do is an assembler for it and not a 'C' compiler. As this is really just a pet project it's all just a bit of fun, but if there is interest I will test more fully and get some code examples and develop a low-cost board for development. It would be nice if someone would port the gnu 'C' compiler to run with it (I can morph some of the instructions if necessary to make it a better fit) I looked at making it emulate NIOSII instructions, but then it defeated the purpose of being small (no offence) - currently the processor + UART + memory interface is 490LE push-button with a web-edition licence in a EPM1270 device and fmax 34Mhz. for those interested the instruction set is ... 0000 00rr ldri n r <= n 0000 01rr ldra r <= a 0000 10rr ldar a <= r 0000 1100 ldax a <= mem(x,y) 0000 1101 stax mem(x,y) <= a 0000 1110 incx (x,y) <= (x,y) + 1 0000 1111 decx (x,y) <= (x,y) - 1 0001 00rr pshr 0001 01rr pulr 0010 0000 sec 0010 0001 clc 0010 0010 sei 0010 0011 cli 0010 0100 ror 0010 0101 rol 0010 0110 shr 0010 0111 shl 0010 1000 pshp 0010 1001 pulp 01cc c000 sjpr n if c true then pc <= pc + sext(n) else pc <= pc + 2 01cc c001 jpr nn if c true then pc <= pc + nn else pc <= pc + 3 01cc c010 jrs nn if c true then push(pc), sp++, pc <= pc + nn else pc <= pc + 3 01cc c011 retc 1aaa 00rr alui n a <= alu(a,n) 1aaa 01rr alur a <= alu(a,r) 1aaa 10rr alux a <= alu(a,mem(x,y)) aaa ccc 000 add c 001 adc nc 010 sub z 011 sbc nz 100 and i 101 or ni 110 xor alw 111 cmp alw Regards, Steve.Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Cool (I'm doing a similar project but I'm not sure if I'm just going to extend NIOS II or do mine from scratch like you did).
In your case you should stick ASM code (you want to keep memory down as small as possible I'm assumming and that won't happen if compiled from C). I'd help you out with the compiler but I'm a hardware guy too so I just know how to program C, making a compiler would probably blow my mind hehe. G'luck- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If I'm not mistaken our local Altera guys said NIOS1 or 2 could not work with MAXII because they don't have the right kind of memory (if any at all). We were told that the MAXII parts are really Cyclone parts with an internal config memory device. What happened to the Cyclone memory? We suggested to them that there is a market out there for a small processor that could fit in the MAXII parts. Looks like this post agrees with us. They should create a MAXII part that has a reasonable amount of internal memory. This would be a great solution for many!
Rick- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What he means is that he's making his own core, and trying to match it up to NIOS as much as possible.

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