page created 2005-06-17 by Yann Guidon / whygee(a)
Legend : (ok), (warning), (bork)
version française :

version: 2010-05-09
status: Minor upgrade, link updates. Read the latest news on the blog.
The documentation is not yet completely updated but the code is working well enough to justify a "green" status. The disassembler is re-enabled and the opcodes pass the autotest. The extended instructions are not yet complete and call/jump instructions are missing.
So the "green status" means that the code is self-coherent, it is however incomplete.

2012-05-02 : Check the YASEP on facebook and in the Homebuilt CPUs WebRing

2012-10-05 : This version of the site is OBSOLETE, kept only for archival. See the main site at

 Features   Download   Documentation   Opcode map   Instruction set manual   VHDL   Web sites 

Welcome to the YASEP's project page

    The acronym "YASEP" means "Yet Another Small Embedded Processor". It's a configurable (16-bit or 32-bit) microcontroller core that I have imagined, in parallel (and sometimes in contradiction) with the F-CPU project.
    It is meant to be small and as simple as possible (well, that's the original idea). This allows me to develop it with limited efforts and reduced resources. The trick is that 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 a package that is not just a simulator, an assembler, a disassembler, a manual, a development 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, maintain... The only requirement is the use of Firefox, because this all-in-one project heavily relies on Mozilla's JavaScript engine, see the browser compatibility list.

Happy clicking !

The YASEP's features and characteristics :

The YASEP's core structure in 2007


The resources of this site/package :


Description, documentation and references (/docs directory)

Software development and design tools

The pages of the Instruction Set Manual of the YASEP (/ISM directory)

The description of an individual opcode (like "ADD") can be accessed from many documents, for example by clicking on the corresponding name in the interactive opcode map or in the floating assembler window. (ok but more examples are needed)

Testbenches and verification (/benches directory)

RTL source code (/VHDL directory)

This is the core of the project, but it is yet under-developped.
YASEP16 gets the priority at this time of writing. The source files are not up-to-date yet.

Various early clickodromes, prototypes and sandboxes (/test directory)

This is where future functionalities are developped !



These things are kept for historical purpose, eventually because no suitable replacement has been written yet, or just because I don't want to erase them...

  • The original text-only draft of the (old) VSP.
    Most details are outdated but it can give you an idea of how much it has evolved.

    YASEP-related websites :


    Other sites (more or less related)


    Notes :