PPC Linux SoC on Virtex4 in 4 hours !?

Setting up MicroBlaze-uClinux on new FPGA board is a matter of hours - with PPC linux, well there are gurus around claiming that it can be done within 4 hours - so far I have been very sceptical against such claims mainly as I had until 10 minutes ago never created a Xilinx FPGA PPC system with linux booting capability

So my schedule was

1 New V4 PPC system with EDK (complete from scratch) 2 ppc u-boot, compile test working 3 ppc uClinux, build load run, console prompt ================== => 2.5 days work

that is a defenetly more than 4 hours, but hey I believe now that some guy with extensive linux-ppc-fpga experience could have managed it all in 4 hours. First time try til succesful linux prompt its just me who needed a bit more :)

When its done it always simple, the PPC capable linux SoC requirements are actually same as for the microblaze uclinux ram, intc, timer, uart, then load linux.bin start and you get console prompt!

so my way to working PPC (uc)linux (with MMU !) was

1 VMWARE player, KDE 3.5/SUSE 2
formatting link
3 build 4 WinXP, EDK 8.1 SP1, BSB new design, add uart, timer, plb sdram 5 configure, start bootloader, 6 wath the uclinux to boot up

I had to run synthesis maybe 8 or 9 times to get 'linux-ready' bitstream, and I spend lots of time trouble shooting the kernel as I used old version (make copied the new kernel to tftboot not to tftpboot from where I fetched it...)

jipii jeee!!!

Antti PS at the same clock frequency the V4 PPC design seems to use less power (V4FX12-363 is not warm at all!) then similar microblaze design in the same device

Reply to
Antti
Loading thread data ...

Hi Antti,

currently, you are the uCLinux guru in FPGA SoC ;)

Do you publish your work on the web? I think it could be useful for a lot of people. Particularly, the PowerPC-uCLinux implementation is interesting for me. I have implemented some PowerPC systems, but I have never time to run uCLinux in PowerPC. And, are you trying Linux?

Good work.

Regards,

Ivan

Antti wrote:

Reply to
Ivan

"Ivan" schrieb im Newsbeitrag news:HA2Nf.665634$ snipped-for-privacy@telenews.teleline.es...

Hi Ivan,

the trick is there is no trick, its just is plain and simple !

compile the uclinux kernel as described here

formatting link

I used the same ref design that was included in that distro, only changing the amount of memory from 128MB down to 16MB

after that created a ppc refdesing that matches the autoconfig loaded the linux image at 0x400000 into ram and executed it will decompress itself and boot.

really no tricks - but as I had not done that before I was afraid it is more complicated, when in the matter of fact it isnt.

I was trying to boot up the PPC SoC step by step

1) bram + uart, test for 'hello' 2) adding GPIO connected Sd-card (for image bootloader) 3) adding PLB sdram, testing with u-boot 4) adding intc, timer, testing with uclinux

I think the same system can run full linux as well, because the ppc uclinux actually is using MMU already so it is almost full linux, I was using ppc uclinux as next step simply because of previous experience with Microblaze uclinux.

And yes there will be some contributios back from me sd card drivers for u-boot,uclinux, some other stuff maybe as well, but well I need to get the source code cleaned up etc..

Sure I will check out the ppclinux 2.6 also, just next step..

Antti

Reply to
Antti Lukats

So you discovered our work on PPC Linux - it had to happen eventually I suppose!

It is "full Linux". We are just building an auto-config'd PPC Linux kernel inside the uClinux / SnapGear Linux build system. It's completely MMU enabled, etc etc. Nothing "uC" or noMMU about it.

John

Reply to
John Williams

Hi John,

thanks for clarification, I did think that it is full linux as it was using the MMU 'in full' so I was wondering from what point of view it is 'uc'linux not full :)

as I have said already, there isnt any magic required, no tricks, no issues, just build as described, (adjust RAM size if you have less memory) then start from RAM and you get linux prompt

I am using small 'pre-boot' loader that sits in 16KB BRAM and loads images from sd-card, but loading with XMD works equally well

nice, thanks !

Antti

Reply to
Antti Lukats

Hi John,

I did not see the URL with details... but it is not a surprise for me that you are related with this work (PPC-uClinux). After your work in the uCLinux port to MicroBlaze, I think this port is full-functional too. I will follow the instructions... ;)

Regards,

Ivan

P.S.: I am the same "Ivan" than writes in the uCLinux-MicroBlaze mailing list ( snipped-for-privacy@yahoo.es), but here I use different e-mail address :)

Reply to
Ivan

Ivan,

I posted the full link twice - sorry you did not get it from my first posting. Info on Paul's website says tested on V2Pro only - as of today I can confirm that it works completly 'out of the box' on V4FX also inclusive ehternet. No issues. Just build load and run.

I had not tested networking yesterday, actually its a board where ethernet has not been tester before at all, I only had the UCF file setup, and when I booted ppclinux, well even network worked, I only had to ping :)

Antti

Reply to
Antti

Hi Antti,

Don't worry. Thanks. I have a Virtex-II Pro FPGA, but it is interesting to know that it works on Virtex-4 FX too.

It sounds good!! ;)

Regards,

Ivan

Reply to
Ivan

Antti,

Any chance you can report some power consumption numbers and the clock rate of the PPC? Particularly the power delta between MB linux and PPC linux?

I'm on the hook to produce an embedded linux platform at under 2 watts and I'm anxious to know how hard it will be.

Thanks, Clark

Reply to
Anonymous

Hi Clark,

I dont have comparison results, I commented mostly on the 'finger' feeling

data I can give:

V4FX12-SF363, everything clocked from 72MHz, the SoC has plb sdram (3.3V powered), uartlite, timer, ethernet, development platfrom HydraXC-50 on LEEB eval board, some info (also picture of the modue on eval board)

formatting link

power consumption as measurer from 5V supply

160ma when FPGA not configured, 250ma when configured (eg running FULL linux)

hope this helps :)

if you use lower powered memory and any other power lowering tricks you should be able to get nice system with 2W power consumption, of course you can have options to increase, or lower the clock to get higher performance or lower consumption, optionally you may lower the 1.2 a little this is nondocu by xilinx (they have not specified it) - Lattice is offering low power mode for LatticeSC where the core running at 1.0 (not 1.2) is giving power advantage with timing lowered by 35 % (from memory maybe less), similar trick should be possible for Xilinx also, or even better self adjustable core regulator that adjust the voltage as of performance needed.

Antti

Reply to
Antti

Antti,

Is it using TRI-MAC in V4FX?

Thanks, /Mikhail

Reply to
MM

"MM" schrieb im Newsbeitrag news: snipped-for-privacy@individual.net...

no, I just used PLB_ethernet not TEMAC, hm I dont know if the linux drivers are all available, hm would be nice of course,!

Antti

Reply to
Antti Lukats

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.