OpenCores
URL https://opencores.org/ocsvn/ssbcc/ssbcc/trunk

Subversion Repositories ssbcc

[/] [ssbcc/] [trunk/] [README] - Diff between revs 11 and 12

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 11 Rev 12
Line 23... Line 23...
- simple Forth-like assembly language (43 instructions)
- simple Forth-like assembly language (43 instructions)
- single cycle instruction execution
- single cycle instruction execution
- automatic generation of I/O ports
- automatic generation of I/O ports
- configurable instruction, data stack, return stack, and memory utilization
- configurable instruction, data stack, return stack, and memory utilization
- extensible set of peripherals (I2C busses, UARTs, AXI4-Lite busses, etc.)
- extensible set of peripherals (I2C busses, UARTs, AXI4-Lite busses, etc.)
 
- optional interrupt peripheral and interrupt handler
- extensible set of macros
- extensible set of macros
- memory initialization file to facilitate code development without rebuilds
- memory initialization file to facilitate code development without rebuilds
- simulation diagnostics to facilitate identifying code errors
- simulation diagnostics to facilitate identifying code errors
- conditionally included I/Os and peripherals, functions, and assembly code
- conditionally included I/Os and peripherals, functions, and assembly code
 
 
Line 678... Line 679...
 
 
User defined peripherals can be in the same directory as the architecture file
User defined peripherals can be in the same directory as the architecture file
or a subdirectory named "peripherals".
or a subdirectory named "peripherals".
 
 
 
 
 
INTERRUPTS
 
================================================================================
 
 
 
Interrupts are enabled by including an interrupt peripheral in the architecture
 
file and an interrupt handler in the assembly code.
 
 
 
Incorporating an interrupt adds the following output ports as strobes:
 
 
 
  O_INTERRUPT_DIS       disable interrupts
 
  O_INTERRUPT_ENA       enable interrupts
 
 
 
and the following 3 macros
 
 
 
  .dis          disable interrupts
 
                Note:  This is equivalent to .outstrobe(O_INTERRUPT_DIS)
 
  .ena          enable interrupts
 
                Note:  This is equivalent to .outstrobe(O_INTERRUPT_ENA)
 
  .returni      return from interrupt handler and enable interrupts
 
                Note:  This is equivalent to the 3 instruction sequence
 
                       "O_INTERRUPT_ENA return outport"
 
                Note:  The assembler prohibits the ".return" macro in the
 
                       interrupt handler and the ".returni" macro anywhere other
 
                       than the interrupt handler.
 
 
 
See examples/interrupt for a demonstration of an interrupt handler for two
 
events, one external to the processor and one internal to the processor.
 
 
 
The interrupt handler included in core/9x8/peripherals handles one to eight
 
interrupt sources.  See core/9x8/doc/interrupt.html for instructions on creating
 
custom interrupt peripherals, possibly with more interrupt sources.
 
 
 
 
PARAMETER and LOCALPARAM
PARAMETER and LOCALPARAM
================================================================================
================================================================================
 
 
Parameters are incorporated through the PARAMETER and LOCALPARAM configuration
Parameters are incorporated through the PARAMETER and LOCALPARAM configuration
commands.  For example, the clock frequency in hertz is needed for UARTs for
commands.  For example, the clock frequency in hertz is needed for UARTs for

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.