Welcome !

Welcome to the YASEP's website !

Development version
version PRELIMINARY
(several features are broken or under development)

What is the YASEP ?

    The acronym "YASEP" means "Yet Another Small Embedded Processor". It's a family of original, Free, configurable (16-bit or 32-bit) microcontroller cores, meant to be quite small and as simple as possible (well, that's the original idea).


    By choosing sometimes unusual methods, it is possible to concentrate on the real issues of CPU development (mainly : architectural choices and implementation details).
    The YASEP exists in the form of this website, which is not just source code, a simulator, an assembler, a disassembler, a Flasher, a manual, a configuration tool, it is all that and it will be much more! Every part is integrated in the others (and vice versa), so the whole remains (almost) coherent, easy to use and quick to develop, fix and maintain. By extension, the YASEP is also a testbed for a modular toolset (using the YGWM framework) that will be re-used for other projects, in particular to design other CPU architectures.
    You will find some background on this project in the menus, in the blog and in these presentations: EHSM2012 (english) and JMLL2012 (french).

Happy clicking !
yg

You read this message because there is an internal bug, you are a search engine, JavaScript
is disabled or your connection is too slow but most probably you don't use Firefox
or a capable enough web browser. Notably, old MSIE often fails. I'm so sorry ! I never meant
to give you up, to let you down, to run around and desert you...

 

The YASEP's features and characteristics

 

Status

The microYASEP executed its first instructions in FPGA in 2012-03 and in JavaScript and VHDL simulation in 2012-11. The first Mandelbrot sets were computed in July 2013. However the YASEP project is still not considered ready. The pointer update system and the memory interface are being developed, the instruction format has changed significantly and the opcode map can still evolve a bit.

Work for 2014 : update, cleanup and stabilize the instruction set, the documentation, the VHDL and the critical tools. YASEP2014 obsoletes the previous architectures and should not not change radically again. A somewhat "milestone" release is expected by the year's end.

Planned for 2015 and beyond : GNL, compiler frontends (C, Pascal ?), faster simulation, the list is long... Stay tuned !

 

Download

You can download the whole YASEP website (source code, pages, documentation, tools, etc.) as a single archive (about 665KB in .tar.bzip2). You can test the YASEP at home, and play with the source code at will.
Note : if you want to use certain features (like file save/load), you'll need to modify your computer configuration. Install Apache under GNU/Linux, or EasyPHP under MS Windows. The SPI Flash tool needs a Raspberry Pi.

 

This site

The following open directories contain search-engine-friendly data ;-)

 

The YASEP on the web

 

Other websites

 

Browser requirements

This website has been designed with CPU efficiency and small memory footprint in mind so it could work on embedded, handheld or cheap devices like the Raspberry Pi.

Supported web browsers

This site is developed on a basic laptop with Firefox (currently 26, but 3.5 should work), plus some tests on Opera and Safari from time to time.

It is known to work with other browsers like Seamonkey, Omniweb, Shiira, Safari, Konqueror and Chrome. With a flaw or two.

It is known to not work well with Internet Explorer, however I have seen remarkable efforts since 2011 for the latest versions. It's welcome since supporting old IE is counter-productive.

Camino seems to not like it either.

The site uses a lot of drag&drop, it does not work with "tablets" or "smartphones" (iPhone, iPad, Android...). iPhone's Safari doesn't even load window's contents correctly. Use a desktop or a laptop, with a mouse or a stylus, but touch surfaces don't do it...

Cookies

Cookies have been used to provide persistence for navigation (language, window types and positions...). This system is now replaced by the HTML5 localStorage present in all recent browsers. Thi provides better session handling and limits the data sent by the browser. But don't forget to save your work often !

 


Bienvenue !

Bienvenue sur le site du YASEP !

Version de développement
version PRÉLIMINAIRE
(quelques parties ne fonctionnent pas encore)

Qu'est-ce que le YASEP ?

    L'acronyme YASEP signifie "Yet Another Small Embedded Processor" (Encore Un Autre Petit Processeur Embarqué, mais "EUAPPE" sonne moins bien). C'est une famille de microcontrôleurs paramétrables (16 ou 32 bits) que j'ai imaginée en parallèle et souvent en contradiction avec le projet F-CPU.

    Il est conçu pour être aussi petit et simple que possible (enfin, c'est l'idée initiale), ce qui permet de le développer avec un minimum d'efforts et avec des ressources limitées. En choisissant des méthodes parfois inhabituelles, il est possible de se concentrer sur les véritables objectifs du développement d'un CPU (principalement : les choix architecturaux et les détails d'implémentation).

    Le YASEP existe sous la forme de ce site web. Ce n'est pas juste un simulateur, un assembleur, un désassembleur, un manuel, un programmeur ou un kit de développement, c'est tout ça et bien plus encore ! Chaque partie est intégrée dans les autres (et vice versa), l'ensemble reste donc (plutôt) cohérent, facile à utiliser, à développer, à réparer, à maintenir... Par extension, le YASEP est un environnement pour prototyper un ensemble d'outils modulaires, utilisant le framework YGWM, qui seront réutilisés en particulier pour concevoir d'autres architectures de processeurs.
    Vous trouverez d'autres informations dans les menus, le blog et ces présentations : EHSM2012 (anglais) et JMLL2012 (français).

Happy clicking !
yg

 

Caractéristiques du YASEP

 

Statut

Le microYASEP a exécuté ses premières instructions dans un FPGA en mars 2012, et calculé ses premiers ensembles de Mandelbrot en juillet 2013. Cependant le projet n'est pas considéré comme prêt, la gestion de l'incrémentation des pointeurs est en cours de développement et l'interface mémoire nécessite encore du travail.

Prévus pour 2014 : progresser sur GNL, accélérer les simulations, compiler du C et/ou du Pascal, la liste est longue...

 

Téléchargez-moi !

L'ensemble de ce site est disponible dans une archive (environ 665KB au format .tar.bzip2) pour l'utilisation en local. Vous pouvez tester le YASEP chez vous et jouer avec le code source comme il vous chante.
Note : si vous souhaitez utiliser la fonction de sauvegarde/chargement de fichiers ou le programmeur SPI, vous devrez peut-être modifier la configuration de votre ordinateur (installer Apache, PHP, CGI...). Le programmeur ne fonctionne pour l'intant que sur Raspberry Pi.

 

Sur ce site

Nos amis les moteurs de recherche peuvent se régaler dans ces répertoires ouverts ;-)

 

Le YASEP sur le web

 

D'autres sites web

 

Configuration du navigateur

Ce site web a été conçu avec le souci de l'efficacité, en n'utilisant que le minimum de ressources de processeur et de mémoire, afin qu'il puisse fonctionner sur des appareils embarqués, portables ou économiques comme le Raspberry Pi.

Navigateurs supportés

Ce site est développé sur un bête petit laptop avec GNU nano et Firefox (version 26 actuellement mais 3.5 devrait fonctionner). J'effectue des tests sur Opera et Safari de temps en temps.

Il fonctionne assez bien sur Seamonkey, Omniweb, Shiira, Safari, Konqueror et Chrome, avec un défaut ou deux...

Internet Explorer n'aime pas trop ce site, bien que les toutes dernières versions de MSIE aient fait des progrès remarquables depuis 2011. C'est bienvenu car supporter les vieilles versions serait contre-productif.

Camino n'aime pas.

Le site utilise beaucoup de drag&drop, il fonctionne mal avec les "tablettes" ou les "smartphones" (iPhone, iPad, Android...). D'ailleurs le Safari de l'iPhone n'arrive même pas à charger le contenu des fenêtre externes. Utilisez un vrai PC ou un laptop, avec une souris, un trackpad ou un stylet, mais les surfaces tactiles ne conviennent pas.

Cookies

Ils servaient uniquement à ajouter de la persistence pour la navigation (langue, type et position des fenêtres...). Ce mécanisme est maintenant remplacé par le mécanisme localStorage introduit par HTML5. Cela permet de mieux gérer des sessions et réduit les informations transmises par le navigateur. Mais n'oubliez pas de sauvegarder votre travail souvent !

 
Willkommen !

Willkommen auf den YASEP.org Webseiten !

Entwicklungsversion
version PRELIMINARY
(einige Funktionen nicht funktional oder noch in Entwicklung)
Übersetzung : Jürgen Göritz 2014-03-03

Was ist der YASEP ?

    Das Abkürzung "YASEP" bedeutet "Yet Another Small Embedded Processor" (Wieder ein weiterer kleiner Embedded Prozessor). Es handelt sich um eine Familie originaler, frei, konfigurierbarer (16-bit oder 32-bit) Mikrokontroller Kerne, die besonders klein und so einfach wie möglich sein sollen (zumindest war das die ursprüngliche Idee).


    Wenn man auch mal etwas unüblichere Methoden wählt, ist es möglich sich auf die echten Fragen bei der CPU Entwicklung zu konzentrieren (hauptsächlich : die Wahl der Architektur und Implementierungsdetails).
    Der YASEP existiert in der Form dieser Webseiten. Das ist nicht einfach nur Quellcode, ein Simulator, ein Assembler, ein Disassembler, ein Handbuch, ein Konfigurationstool, sondern das und es wird noch viel mehr ! Jeder Teil ist integriert in die anderen (und umgekehrt), so dass das Ganze (ziemlich) klar und verständlich, einfach anzuwenden und schnell zu entwickeln, zu korrigieren und wartbar bleibt.

Fröhliches Klicken !
yg