Altera_Forum
Honored Contributor
21 years agoProcessor for MAXII
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.