Despre Xpresso

Xpresso este o clonă peste utilitarul espresso de la Berkeley ce-și propune să realizeze desenarea automată a circuitelor logice, specificate într-un limbaj cât mai natural cu putință și respectând cât mai multe constrângeri.

Capabilități:

  • programul va înțelege descrieri de componente logice diverse (porți, bistabili, formule algebrice sau cod Verilog)
  • programul va înțelege diverse constrângeri (tip porți, număr porți, arie ocupată, cost, temperatură, etc.)
  • programul va scoate o schemă a circuitului, desenată automat respectând constrângerile și realizând și minimizări
  • ulterior programul va permite integrarea schemei în diverse documente, posibil LaTeX
  • ulterior programul va realiza legături între componentele schemei și reprezentarea lor (abordare top-down: o schemă prezintă modulele mari și legăturile între ele, la un click pe un modul suntem transportați la schema acelui modul)
  • mult mai târziu programul va avea adăugată și capacitatea de a analiza circuitul și a trasa formele de undă (deși această componentă nu face parte din design-ul inițial al proiectului)
  • daca se implementează etapa anterioară programul va fi extins până ce va ajunge un înlocuitor bun pentru Xilinx.

Limbajul de programare folosit este Haskell, se va folosi Gtk pentru interfața grafică.

Odată terminat, proiectul va fi transformat într-un pachet Cabal.

RSoC v2

În această etapă ne vom concentra treptat pe fiecare componentă, construind bottom-up tot programul, având grijă ca să putem permite mereu extinderea facilă a lui.

Este indicat ca persoanele care se vor implica să rămână colaboratori și după terminarea perioadei de practică, echipa stabilă formată putând prezenta proiectul la sesiunea de comunicări și ca proiect de diplomă.

Logo

Găsim noi un artist, nu e nevoie momentan.

Dezvoltare

  • trac (127.0.0.1)
  • svn
  • irc (canalul va fi construit la începutul perioadei de practică)
  • Haskell, Gtk -> Vim (TODO guidelines)
  • întâlniri, etc, vom discuta pe canalul de irc și pe lista de discuții (construită tot atunci)

Echipa actuala

  • Mihai Maruseac (323CC) - Project owner
  • Irina Gradinaru (322CC) - Programmer (RSOC v2)
  • Lucian Mogoşanu (322CC) - Programmer (RSOC v2)

Etapele proiectului

Etapa 1

Etapa 2

  • Ne concentrăm pe partea de transformare a input-ului la o formă canonică
  • Vom introduce și nivelul de minimizare și cel de potrivire cu restrângerile

Etapa 3

  • Salvare rezultate ca imagine PNG
  • Realizare interfață GUI corespunzătoare (până aici va fi doar ceva de test)

Etapa 4, 5..

  • depinde de cât de repede ne mișcăm.

Attachments