All pastes #2640402 Raw Edit

Miscellany

public unlisted text v1 · immutable
#2640402 ·published 2014-02-14 06:01 UTC
rendered paste body

== OpenRISC System Creator == 

'''Knowledge Prerequisite:'''

Any scripting language.

System design and computer architecture knowledge


'''Brief explanation:'''

OpenRISC project main problem is difficulty in creating a full system design
(CPU, switch, peripherals) and visualizing them.

Task is to create a tool to solve this problem.

Several approaches are possible:

- You'll design Mercurial/Git/Npm like tool for OpenRISC system design. By
  executing 'openrisc init' empty system will get created, by doing
  'openrisc create switch' switch will be placed in the system etc..
  Example:

  openrisc init
  openrisc create switch sw0
  openrisc create cpu -t or64k cpu0
  openrisc connect sw0.m0 cpu0.s_inst0
  openrisc connect sw0.m1 cpu0.s_data0
  
  etc

- you'll pick and define DSL (Domain Specific Language) for system
  description

- you'll use YAML/JSON as system description.



'''Mentor:'''

Wojciech Koszek <wkoszek@freebsd.czest.pl>

== OpenRISC Web-based system for system visualization ==

'''Skills'''

HTML5, Jquery

Graph/chart javascript library (d3?)

'''Brief explanation:'''

OpenRISC needs easy-to-use system for showing how system looks like in a
"graphical" way. Think of connecting boxes together with each other on the
schematics. There's no way to do this now in OpenRISC, since there's no
software.

Goal is to:

- understand HW/SW elements in modern embedded systems.

- figure out in JQuery/Javascript/HTML5 how to write an application with
  drag&drop capabilities to place CPU (1 box), Switch (1 box) and some other
  blocks, and wire them all together. Then store this config in memory
  somehow (JSON) and preserve it on the client side (LocalStorage on HTML5)
  and submit it to the server.

- server should at least receive it 


'''Mentor:'''

Wojciech Koszek <wkoszek@freebsd.czest.pl>