s-macke / jor1k

Online OR1K Emulator running Linux
http://jor1k.com
BSD 2-Clause "Simplified" License
1.73k stars 196 forks source link

Request for explaining the internals #112

Open omerjerk opened 8 years ago

omerjerk commented 8 years ago

Hi Sebastian, I loved this project to its core. I downloaded the source and started reading a couple of files, but couldn't understand it at all. Could you please write a wiki just explaining the core concepts involved ? It'd be great help. I'd love to contribute further to this project.

Thanks Umair

s-macke commented 8 years ago

Hi,

thanks for the interest in jor1k.

Actually, there is a wiki. https://github.com/s-macke/jor1k/wiki Especially the technical details section. Did you see the slides from the two talks? Especially the graph with the different modules (worker, master, devices, ...) is very important

Unfortuantely the nature of such an emulation makes it very hard to understand. Most of the details become clear when you read the corresponding literature like the OpenRISC or the RISC-V architecture specification. For the devices I gave some specification links at the top of the source file.

Also there are some internals such as the memory layout for the asm.js part and the message passing between worker and master.

I would suggest that you try to understand the first working version. I guess, this is around commit 1-5 and contains only 1000-1500 lines.

Maybe you can provide more details about the problems you have. and what you want to do.

andrakis commented 8 years ago

This is exactly what I needed, thanks. I wanted to step through each iteration and examine how it works, and commit 04bc31aae687ddb gives me a working version that I can step through.