ANN: Introducing MANIK - a 32 bit Soft-Core RISC Processor

S

Sandeep Dutta

http://www.niktech.com

Hardware Features

· Data Path Width 32 bits
· Most instructions are 16 bit. PC Relative jump instructions are 32 bit.
· Four stage pipeline.
· Von Neumann Architecture (Data and Instruction in the same address space).
· Sixteen, 32 bit General Purpose Registers.
· Four USER defined instructions (with Register File Write back capability).
· Parallel execution of independent Load/Store, Multiply/Shift ,
User Defined Instructions and ALU instructions (In order issue; Out of
order completion)
· Some Conditional Instructions (Reduces branches & increases code density).
· Built in 32 bit Timer.
· Power Down Mode.
· 32x32 Multiplier (Multi cycle execution).

Software Development Tools
· GNU Assembler, Linker (binutils)
· GCC (C Compiler)
· GDB (Debugger) and Instruction Set Simulator
· Standalone C-Library (RedHat newlib)
· Modified version of DietLibc

Size and Performance.

Netlists for the current implementation is available for XILINX Virtex,
Spartan-II and Spartan-IIE; it
utilizes 1375 LUTs (809 slices); the size includes a 32 bit timer and a
32x32 bit LUT based multiplier.

The design has been tested to operate at 60MHZ on a Spartan-II (speed
grade -6).

Netlists, Documentation and Development tools can be downloaded from
http://www.niktech.com.
 
J

Jaime Andrés Aranguren Cardona

Hi Sandeep,

I guess it would fit into an Spartan-3 XC3S200, right? I'd like to test it
with this FPGA. How can we do that? (I see that there are synthesized
netlists on Niktech's website).

Regards,

--
Jaime Andrés Aranguren Cardona
(e-mail address removed)
SanJaaC Electronics
Soluciones en DSP
www.sanjaac.com

(Remove "nospam" from e-mail address)
 
4

42Bastian Schick

http://www.niktech.com

Hardware Features

..
Software Development Tools
· GNU Assembler, Linker (binutils)
· GCC (C Compiler)
· GDB (Debugger) and Instruction Set Simulator
· Standalone C-Library (RedHat newlib)
· Modified version of DietLibc

The GCC - link seems to be broken ...
 
J

Jon Beniston

Antti Lukats said:
1) are you going to release the HDL sources?

Similarly to you Antti, are you going to be releasing the HDL source for NIOX?

Cheers,
Jon
 
S

Sandeep Dutta

The GCC - link seems to be broken ...

Thanks a for reporting this problem; It is fixed now.
http://www.niktech.com/manik-elf-toolchain.tar.gz

We currently have no plans of releasing the HDL sources.
We do have plans to add more open source Cores to the package.

Yes we have plans of porting Operating Systems to the processor;
uC/OS and uClinux seem to be good choices for a CPU like
MANIK.

Sandeep
 
E

Eric Smith

Jaime Andrés Aranguren Cardona said:
I guess it would fit into an Spartan-3 XC3S200, right? I'd like to test it
with this FPGA. How can we do that? (I see that there are synthesized
netlists on Niktech's website).

Why bother? There are comparable cores available that fit in an XC3S200,
and for which you get HDL source code, not just a netlist. I completely
fail to understand what MANIK brings to the party.
 
A

Antti Lukats

Jon Beniston said:
1) are you going to release the HDL sources?

Similarly to you Antti, are you going to be releasing the HDL source for NIOX?

Cheers,
Jon[/QUOTE]

Hi Jon,

lets put it that way, NIOX sources are obtainable ;)

Antti
 
S

Sandeep Dutta

I completely fail to understand what MANIK brings to the party.

An excellent question ; at the risk of staring a flame war I will say
"code size". Now, does "code size" matter ? It depends on a lot of
factors, but given the small amounts of BLOCKRAMs available
on a FPGA, it would matter in "most" cases, especially if the
code size saving is substantial.

I have done a comparison with MIPS and to eliminate different libraries
I have compared the sizes of the individual object files. Note the MANIK
tool chain merges text and data section into text section. In both cases
the sizes of the uninitialized global variables are not listed (size
command does not display it).

-----------------------------------------------------------------------
Dhrystone (complied with -O2)
MIPS
text data bss dec hex filename
1363 26 0 1389 56d dhry21a.o
620 0 0 620 26c dhry21b.o

MANIK
text data bss dec hex filename
919 0 0 919 397 dhry21a.o
416 0 0 416 1a0 dhry21b.o

While code size is the strongest suite of MANIK; it does have other
goodies; ability to execute multiple instructions simultaneously;
power down mode, built in timer; are just a few of them.

Following is a file by file comparison of a benchmark (099.go) from
the SPEC95 suite (Does not have any uninitialzed globals) . How much
will you save ? Give it a try with the MANIK toolchain .....

-------------------------------------------------------------------------
Files of 099.go (from SPEC95 benchmark)
-------------------------------------------------------------------------

MIPS
text data bss dec hex filename
3170 863 0 4033 fc1 g2.o
7824 0 0 7824 1e90 g22.o
69236 880 0 70116 111e4 g23.o
64318 1440 0 65758 100de g25.o
3448 0 0 3448 d78 g26.o
6804 8 0 6812 1a9c g27a.o
2596 224 0 2820 b04 g27b.o
11976 0 0 11976 2ec8 g28.o
27616 0 0 27616 6be0 g29.o
19600 1100 0 20700 50dc g2eye.o
0 49784 0 49784 c278 g2jlib2.o
7488 12 0 7500 1d4c g2jos.o
2760 0 0 2760 ac8 g2list.o
6803 5260 0 12063 2f1f g2reas.o
12372 0 0 12372 3054 g2s2.o
4730 4 0 4734 127e g2s3.o
29600 14484 0 44084 ac34 g2shp.o


MANIK
text data bss dec hex filename
3258 0 0 3258 cba g2.o
5232 0 0 5232 1470 g22.o
46320 0 0 46320 b4f0 g23.o
42522 0 0 42522 a61a g25.o
2220 0 0 2220 8ac g26.o
4480 0 0 4480 1180 g27a.o
1776 0 0 1776 6f0 g27b.o
7716 0 0 7716 1e24 g28.o
17784 0 0 17784 4578 g29.o
13660 0 0 13660 355c g2eye.o
49784 0 0 49784 c278 g2jlib2.o
4860 0 0 4860 12fc g2jos.o
1928 0 0 1928 788 g2list.o
12064 0 0 12064 2f20 g2reas.o
8268 0 0 8268 204c g2s2.o
3874 0 0 3874 f22 g2s3.o
33712 0 0 33712 83b0 g2shp.o
[
 
4

42Bastian Schick

Yes we have plans of porting Operating Systems to the processor;
uC/OS and uClinux seem to be good choices for a CPU like
MANIK.

Sciopta (the company I work for) should be easyly ported.
(If code-size and speed matters :)
A reason why I downloaded the GCC :)
 
J

Jaime Andrés Aranguren Cardona

Eric,

Would you mind to tell me where from?

Regards,

--
Jaime Andrés Aranguren Cardona
(e-mail address removed)
SanJaaC Electronics
Soluciones en DSP
www.sanjaac.com

(Remove "nospam" from e-mail address)
 
A

Antti Lukats

Eric Smith said:

Hi Eric,

opencores is not solution for everything, there are a few cores with full
toolchain, but not so many. OR1K has full GNU toolchain support but its a
real huge ip core, so if you are looking for small cpu core with full GNU
toolchain support ? at opencores ? the answer is there barely is one, if you
want a small CPU with GNU toolchain and SUPPORT? I dont think you find it at
opencores at the moment.

but, I agree, any CPU cores from startup companinies should not be
considered at all if not available in HDL sources. So the MANIK does not
count either as it not available in HDL source.

Still room for another player!

Antti
 
E

Eric Smith

Antti Lukats said:
opencores is not solution for everything, there are a few cores with full
toolchain, but not so many. OR1K has full GNU toolchain support but its a
real huge ip core, so if you are looking for small cpu core with full GNU
toolchain support ? at opencores ? the answer is there barely is one, if you
want a small CPU with GNU toolchain and SUPPORT?

You don't get support for ANYTHING without paying for it.

But there are multiple cores for which there is a full GNU toolchain.
aeMB (32-bit) and several of the AVR cores (8-bit) come to mind, but
there are other choices.
 
E

Eric Smith

Jim Stewart said:
And conversely, we've all paid for support and not
gotten anything at times :)

There's a saying that "you get what you pay for". What they don't
normally bother to tell you is that that is the *best* case.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,982
Messages
2,570,185
Members
46,736
Latest member
AdolphBig6

Latest Threads

Top