electronics forum

Rules | Recent posts | topic RSS | Search | Register  | Log in

My MicroBlaze Soft-Processor clone is ready :)


Post new topic  Reply to topic    EDAboard.com Forum Index -> PLD, SPLD, GAL, CPLD, FPGA Design -> My MicroBlaze Soft-Processor clone is ready :)
Author Message
yego



Joined: 28 Oct 2004
Posts: 154
Helped: 14
Location: Middle of Nowhere


Post10 Mar 2006 23:27   

microblaze clone


Finally this week end I'll launch my MicroBlaze clone for the very first time.
I have been working very hard to create it. I hope not in vain.
It synthesizes OK, just a final touch and it is going to run.
I spent many hours working on it. As soon as it works I'll post some more detailed info about it.
If no major flaws have been built in my design, it will run on Sunday.
There were many difficulties, as there are no good docs describing the MB architecture. Also programmers guide leaves much to desire, so my implementation may be either erratic or incomplete.

I have one more problem. Xilinx offers its assembler and C compiler for Microblaze bundled in the EDK package.
Unfortunately it costs some 2500 bucks. It is not beyond my wealth, but I have better things to buy.
Therefore I have neither assembler nor C compiler to write any program for my MB core.
Initially I'll write some simple tests using machine ( hex) codes, so my programs won't be very impressive.
On the other hand MB toolchain sold by Xilinx is based on some GNU release.

I was not able to spot it on the internet, but perhaps I hadn't tried hard enough.

Can anyone of the noble readers of this post provide any pointer to this tool chain or something alike which could be downloaded free ?

best regards, yego


Last edited by yego on 01 Jun 2006 14:58; edited 2 times in total
Back to top
throwaway18



Joined: 09 Jun 2005
Posts: 563
Helped: 75
Location: Kent, UK


Post11 Mar 2006 2:31   

microblaze c compiler


Related thread
Back to top
yego



Joined: 28 Oct 2004
Posts: 154
Helped: 14
Location: Middle of Nowhere


Post11 Mar 2006 12:01   

microblaze compiler


I was looking for something ready to use, but if it is not available,
I'll have to do some extra work to customize the TASM, which seems quite nice and easy.
I still hope for a pointer to GNU tool-chain resources for MicroBlaze.
Perhaps there will be some more input on this.

Thanks for the TASM link.
regards, yego
Back to top
Matrix_YL



Joined: 19 Aug 2005
Posts: 107
Helped: 2


Post12 Mar 2006 6:10   

microblaze soft processor


HI yego

I think this will be perfect for you Very Happy

www.itee.uq.edu.au/~jwilliams/mblaze-uclinux/
Back to top
yego



Joined: 28 Oct 2004
Posts: 154
Helped: 14
Location: Middle of Nowhere


Post17 Mar 2006 15:38   

free soft processor


It's a very good link, unfortunately all they've got is for uCLinux and for Linux. So I'd have to install Linux on my PC in order to just compile programs for my MicroBlaze. I am not very fond of Linux in grneral, so I'll stick to DOS or TRU64 or F......Windows.
Nevertheless thanks for your time to search this link.

By the time, I managed to synthesize and implement my VHDL code for the 3-stage pipelined MicroBlaze core.
I also have done some basic tests and my clone seems to work perfectly well running at 80MHZ ( no faster crystal Sad ), which gives me slightly less than 80MIPS of 32-bit performance within my Spartan3 FPGA.
It translates to about 240 MegaBytes of data transfered out of the chip or into it every single second Smile .
At this speed it might be used in some video processing or other real time tasks.
And best of all, I didn't pay a single penny for it.
The original Xilinx core with the EDK stuff costs about $2500.
Quite impressive, isn't it ?
The core is completely binary code compatible with the original MB in version EDK8.1i .
As it is ment to be a microcontroller I got rid of the caches and haven't implemented the FPU.
There are no typical external buses for off chip peripherals, however, the external data RAM support is provided.
Next I'm going to implement some serial I/O, some LCD pannel controller and make a digital scope ( plus some external analog components, of course).

Later I'll try to make something more useful and try to make some money with it, if possible at all Smile .

When I get the tools to write some useful programs I'll think of making this core available in some limited version ( like without interrupts and exceptions ) to broader audience who might be interested in FPGA/MB stuff.

Regards, yego
Back to top
yego



Joined: 28 Oct 2004
Posts: 154
Helped: 14
Location: Middle of Nowhere


Post25 May 2006 19:41   

microblaze compatible core


Just as I promised, my IP-core is ready. Its code name is xMB32.
It's a clone of the well known Microblaze IP by Xilinx.

XMB32 is code compatible with the original Microblaze with the following architectural differences:
1). Dcache and Icache are not implemented,
2). FSL channels are absent,
3). hardware multiplication, division and Floating point are also absent,.
hence the respective commands are absent as well or performed by the compiler in software,
however, this is not much of a problem as my xMB32 is intended to be a microcontroller
not a huge general purpose CPU.
Perhaps I'll append some of those missing blocks in the future.
For the time being we have a barrel shifter and the compare block,
which are very useful in control applications..

Actually my core is still in beta phase until proven to be error free.
I did my very best to ensure that there are no major flaws,
but not all tests have been run so far.

The core I am going to share with you is fully functional with th following limitations.
1). No Reset or external interrupt pins are available,
2). Maskable interrupt is generated internally 188 times per second.
Just enough to run a 4 digit 7-segment display or some matrix keyboard.
Other tasks can be implemented in the main loop running with the full processor speed, which is 50MHz.

There are 2048 32-bit words for program storage and for user data.
There will be much higher limit in the future releases.
There is one input and one output port.
Both are 32-bits wide and can be accessed as 8, 16 or 32-bit registers.

I tested the design on the Digilent-Spartan 3-400 kit,
but the Digilent-Spartan 3-200 or anything else having some BRAM and about 1000 slices will do.
All you need to run this core is the free ISE Web-Pack 8.1.03i.

For software works there are two ways to go:
1). Buy the EDK package from Xilinxa for some $500, or
2). Install the free MB-GCC compiler under Linux for free..

Would anybody be interested in receiving the evaluation version of the core, I've made an .ngc netlist ready.
Just let me know if you are interested.

Regards, yego
Back to top
EDALIST



Joined: 27 Nov 2004
Posts: 133
Helped: 13


Post28 May 2006 19:36   

microblaze webpack


i'm interested.
Back to top
yego



Joined: 28 Oct 2004
Posts: 154
Helped: 14
Location: Middle of Nowhere


Post28 May 2006 23:18   

soft processor source download


EDALIST,

have you got any mailbox big enough to receive c.a. 4Mb of project data ?
I will not place it on the EDAboard as those files are too big and would cost you many points to download.

There is an ISE project for HW and the EDK for software in the bundle.

Regards, yego
Back to top
lucbra



Joined: 30 Oct 2003
Posts: 161
Helped: 6
Location: Belgium


Post31 May 2006 9:08   

microblaze processor


Hi Yego,

Is the xMB portable to other architectures as well? I would like to test on LatticeXP which is a non-volatile architecture and therefore most interesting.

I can give you my email address off-line. It can handle 8M of data, so that shouldn't be a problem.

Regards,

lucbra
Back to top
yego



Joined: 28 Oct 2004
Posts: 154
Helped: 14
Location: Middle of Nowhere


Post31 May 2006 11:11   

digital comparator vhdl ip core microblaze


Hi Lucbra,

it's a very interesting idea to port the MB to another architecture.
I basically aimed my xMB at Xilinx FPGAs but for some time I have been considering porting the xMB to the ProASIC3 or 3E by Actel, as those are also nonvolatile entities, just like the LatticeXP devices. There are, however some differences which should be considered. For instance Actel uses 3 input LUTs, instead of four used by Xilinx, which makes quite a big difference. At the moment I haven't got time to play with it, but the idea looks good to me. Comparing LatticeXP and ProASIC3 it seems that Lattice is much faster and gives better chance for good performance. I haven't worked with Lattice technology yet, so have got no experience.
Regarding your request I am sceptic about portability of .ngc files. Those are technology dependent and I wouldn't expect them to merge with the primitives in the LatticeXP. The source should be rewritten a little as I used some Xilinx specific primitives. Actually just two: the register block and BRAM blocks, but I belive there are counterparts in the LatticeXP. I'll try to modify the source in a near future to adjust it to the LatticeXP architecture. I hope they provide some free tools like ISE WebPack from Xilinx.
I'll ask your help when I reach this stage, as you may know the LatticeXP architecture already.
Unfortunately I am not entitled to provide any source code of the design, so You'll have to wait a bit for a netlist file if you are interested in this IP.
Are you able to provide some links to download Lattice software and some tutorials for this purpose? I'll gladly learn from you to speed up the process.
I haven't got any LatticeXP devel board, so I'll rely on you in testing the design on a real hardware.

Best regards and thanks for your interest, yego
Back to top
Google
AdSense
Google Adsense




Post31 May 2006 11:11   

Ads




Back to top
yego



Joined: 28 Oct 2004
Posts: 154
Helped: 14
Location: Middle of Nowhere


Post01 Jun 2006 14:38   

xmb32


The evaluation bundle is available for download here :
http://rapidshare.de/files/21918943/xMB32_bundle.ZIP.html

If it's not too much trouble I'd be obliged for info from those who downloaded and tried the core. Your opinions may be really valuable.

Thanks and have fun, Yego
Back to top
Rainbow00



Joined: 23 Feb 2006
Posts: 24


Post14 Jun 2006 6:15   

microblaze toolchain binary


maybe you can try to post it on opencore.

rgds
gd
Back to top
atmaca



Joined: 13 Jan 2004
Posts: 355
Helped: 1


Post29 Feb 2008 16:13   

ise webpack microblaze


rapidshare link is dead
please give a new link
Back to top
darylz



Joined: 24 Mar 2005
Posts: 132
Helped: 4


Post01 Mar 2008 11:12   

microblaze floating point divide


the file was removed
Back to top
the_penetrator



Joined: 22 Jun 2001
Posts: 327
Helped: 3


Post06 Mar 2008 7:45   

microblaze gcc toolchain install


seems like the file was hunted down and killed. Twisted Evil

the_penetrator©
Back to top
praghavendrareddy



Joined: 20 Aug 2006
Posts: 6


Post12 Jun 2009 11:12   

microblaze video processing


Hello,
can you please help me in getting error-free microblaze toolchain ....


....Raghavendra
Back to top
Arabic versionBulgarian versionCatalan versionCzech versionDanish versionGerman versionGreek versionEnglish versionSpanish versionFinnish versionFrench versionHindi versionCroatian versionIndonesian versionItalian versionHebrew versionJapanese versionKorean versionLithuanian versionLatvian versionDutch versionNorwegian versionPolish versionPortuguese versionRomanian versionRussian versionSlovak versionSlovenian versionSerbian versionSwedish versionTagalog versionUkrainian versionVietnamese versionChinese version
Post new topic  Reply to topic    EDAboard.com Forum Index -> PLD, SPLD, GAL, CPLD, FPGA Design -> My MicroBlaze Soft-Processor clone is ready :)
Page 1 of 1 All times are GMT + 1 Hour
Similar topics:
whats the difference among soft processor and hard processor (4)
Microblaze + Fuzzy Processor to Robot interface! (7)
is there any concurency remains using microblaze processor? (1)
intro on soft core processor (2)
processor for cpld ( equivalent to microblaze for fpga ) (3)
soft viterbi decoding-using TMS processor-Help req (1)
how to design a soft core processor using verilog language (3)
processor choice - processor similar to the minimips (3)
RISC processor and PIC Processor architecture (1)
valid-ready pipeline protocol (1)


Abuse || Administrator || Moderators || Support us || sitemap
topic RSS