| Author |
Message |
yego
Joined: 28 Oct 2004 Posts: 154 Helped: 14 Location: Middle of Nowhere
|
10 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
|
|
| Back to top |
|
 |
yego
Joined: 28 Oct 2004 Posts: 154 Helped: 14 Location: Middle of Nowhere
|
11 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
|
|
| Back to top |
|
 |
yego
Joined: 28 Oct 2004 Posts: 154 Helped: 14 Location: Middle of Nowhere
|
17 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 ), 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 .
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 .
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
|
25 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
|
28 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
|
28 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
|
31 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
|
31 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

|
31 May 2006 11:11 Ads |
|
|
|
|
|
|
| Back to top |
|
 |
yego
Joined: 28 Oct 2004 Posts: 154 Helped: 14 Location: Middle of Nowhere
|
01 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
|
14 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
|
29 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
|
01 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
|
06 Mar 2008 7:45 microblaze gcc toolchain install |
|
|
|
|
seems like the file was hunted down and killed.
the_penetrator©
|
|
| Back to top |
|
 |
praghavendrareddy
Joined: 20 Aug 2006 Posts: 6
|
12 Jun 2009 11:12 microblaze video processing |
|
|
|
|
Hello,
can you please help me in getting error-free microblaze toolchain ....
....Raghavendra
|
|
| Back to top |
|
 |