GithubHelp home page GithubHelp logo

ttsiodras / grlib-gpl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nyan2x/grlib-gpl

9.0 3.0 0.0 112.9 MB

My optimistic - yet unexpectedly successful - attempt to create a LEON3 inside my FPGA boards (ZestSC1, Pano Logic G2)

Makefile 1.05% C 18.24% Stata 1.12% VHDL 75.42% Tcl 1.52% Batchfile 0.23% sed 0.01% Shell 0.01% Assembly 0.75% C++ 0.16% Verilog 1.49% Python 0.01%

grlib-gpl's Introduction

Running a grlib-gpl Leon3 inside my ZestSC1

This repo contains my (unexpectedly) successful creation of a LEON3 inside my ZestSC1 FPGA board. The work was based on the GPL version of Gaisler's GRLIB, and was performed in one week: from the weekend of March 2nd 2019, and all through the four evenings that followed it (after work).

Finally, in the evening of March 7th I proudly saw my board respond to GRMON3:

Video of victory

I also kept a complete log of the attempt as I was going, here.

So... I "compiled" my own CPU! Another "magic thing" demystified :-)

And since I begun learning the ropes 30 years ago on a SPARCstation running at 40MHz... the emotional high of "compiling my own SPARC" in my FPGA was, well, priceless :-)

Hats off to the Gaisler people; for making things so easy that even a complete newbie (HW-wise) like me, can actually put the pieces together.

UPDATE: Here's the complete log of the execution of the Dhrystone 2.1 benchmark in my Leon3; a benchmark that I barely managed to squeeze in my puny 16KB of BlockRAM :-)

Running a grlib-gpl Leon3 inside my Pano Logic G2

UPDATE, many months later: I got my hands on a Pano Logic G2, thanks to the magnificent Tom Verbeure.

After soldering my, erm, custom JTAG "adapter"...

Soldering JTAG...

Soldering other end of JTAG...

...I was able to "see" the board from my Arch Linux:

Natively seeing an LX100 under Arch Linux, with the free WebPACK

...and two evenings later, I bootstrapped a Leon3 again - but this time, via JTAG (order(s) of magnitude faster than UART), and since the XC6LX100 is a monster (compared to the Spartan3), with 16 times more memory, and 4 Leon3 cores!

A Leon3 inside a Pano Logic G2

In any case, I need to write a blog post about this - I've done too many things, that must be documented.

UPDATE: I finally found the willpower to document everything, in a very detailed blog post. Enjoy!

grlib-gpl's People

Contributors

gxliu avatar jeandet avatar jirgais avatar ttsiodras avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.