MicroCore logo
  
  

Conventions used in MicroCore Code

  1. Version numbering

    Version numbers are composed of an identifier 3 (released version) or 4 (prerelease version) digits long to identify a specific MicroCore. A '.' is inserted between the first and second position. Each character position has its own semantic and is counted up starting from 0, 1 .. 9 followed by A, B etc.

    • 1st position Substantial functional change. Versions which differ in this position can be expected to be no longer source code compatible.
    • 2nd position Functional extension. New instructions added.
    • 3rd position Bug fixes
    • 4th position Prerelease digit. Version numbers with 4 digits are experimental versions. This 3 or 4 digit identifier may be followed by multiple _ attachments which stand for functional capabilities added to the I/O bus.

    Examples:
    1.00 First released version of MicroCore
    1.01 Released version after first bug fix with debug interface added.
    1.100_fpgabus Experimental version with e.g. a new instruction and an FPGAbus interface added.

  2. VHDL source code

    All VHDL keywords have been written in upper case, all aplication specific names in lower case. I find it more readable this way.

    For identifiers, the following conventions have been used:

    IdentifierSemantics
    <name>_addr Address
    <name>_ctr Counter
    <name>_en Enable signal
    <name>_i Internal signal which corresponds to signal <name>, which is an OUT signal in the entity.
    <name>_in Input signal. Only used to clarify a signal name and its direction.
    <name>_out Output signal. Only used to clarify a signal name.
    <name>_reg Register
    s_<name> Status register bit
    c_<name> Control register bit
    sel_<name> Select signal