A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.fpga-cores.com/instant-soc/ below:

Instant SoC | FPGA Ethernet Cores

Instant SoC (System on Chip) is a new innovative system that compiles C++ code directly to synthesize-able VHDL. The VHDL code includes a RISC-V soft CPU, CPU instructions, memories and peripherals. This is the fastest and easiest way to create a CPU system for FPGAs.

The CPU peripherals like logic IOs, UARTs, SPI, I2C, AXI4 Streams etc are defined as C++ objects.

The VHDL code is optimized with respect to the generated RISC-V instructions. Only used instructions are implemented. The memories are optimized using static stack analysis.

The following example shows a very simple “Hello World” application that sends a message on an UART and then toggles a LED every second using a timer.

#include "fc_io.h"
#include "fc_system.h"

int main(void)
{
//% hw_begin
    FC_IO_Clk clk(100);                 // 100 MHz
    FC_IO_Out led;  
    FC_IO_UART_TX uart_tx(115200,32);   // 32 Bytes FIFO
    FC_System_Timer timer;    
//% hw_end

    int led_state = 0x01;    

    uart_tx << "Hello World!!";

    for(;;) {
        timer.Sleep(1000, TU_ms);
        led_state = ~led_state;
        led = led_state;
    }
} 

When compiling the C++ code the following outputs are generated:

The generated VHDL entity for the example above will look like:

library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;

entity hello_world is
    port(
        clk : in std_logic;    --  100 MHz
        led : out std_logic;
        uart_tx : out std_logic    --  32 Bytes FIFO
    );
end entity;

The generated system can be used as a top-level or as a lower level component. Since the code is very optimized your system can contain several Instant SoC components.

All major FPGA providers (Xilinx, Intel/Altera, Lattice) are supported.

Installation instructions.

Getting Started.

Instant SOC C++ Class Library


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4