GithubHelp home page GithubHelp logo

decafpga / freedom-e300 Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 2.0 3.69 MB

SiFive's Freedom e300 for the DECA Max10 FPGA

License: Apache License 2.0

Tcl 0.03% Verilog 99.97%
risc-v fpga sifive deca max10 e300 others

freedom-e300's Introduction

RISC-V Freedom E300

RISC-V is a free and open Instruction Set Architecture (ISA) enabling a new era of processor innovation through open standard collaboration. Any organization or individual can design their own processor based on the RISC-V architecture. Freedom E300 is a RISC-V core implemented in RTL by SiFive in Scala. For more information and source files visit the Freedom E300 project page.

About the Project

The original Freedom E300 was implemented in Scala and modified to run on Altera/Intel boards. Since the Verilog code generated by the Scala is hardly readable, the project was encapsulated. The clock, reset, JTAG interface, QSPI interface, GPIO interface (including various peripherals such as UART, I2C, SPI, etc.) are on the top-level port for easy logic operation and pin connection to the FPGA.

Top-Level Block Diagram

The Freedom E300 which contains an E31 Coreplex, a selection of flexible I/O peripherals, a dedicated off-chip Quad-SPI flash controller with execute-in-place support, On-chip Memory, clock generation, and an always-on (AON) block. In addition, custom accelerator can be added to provide application-specific processing.

block-diagram

Memory map of Freedom E300

Base Top Description Notes
0x0000_0000 0x0FFF_FFF refer E3 Coreplex Manual
0x1000_0000 0x1000_7FFF Always-On (AON) E3 Coreplex
0x1000_8000 0x1000_FFFF Power, Reset, Clock, Interrupt (PRCI) On-Chip Peripherals
0x1001_0000 0x1001_0FFF On-chip OTP control On-Chip Peripherals
0x1001_1000 0x1001_1FFF On-chip eFlash control On-Chip Peripherals
0x1001_2000 0x1001_2FFF GPIO0 On-Chip Peripherals
0x1001_3000 0x1001_3FFF UART0 On-Chip Peripherals
0x1001_4000 0x1001_4FFF QSPI0 On-Chip Peripherals
0x1001_5000 0x1001_5FFF PWM0 On-Chip Peripherals
0x1002_3000 0x1002_3FFF UART1 On-Chip Peripherals
0x1002_4000 0x1002_4FFF QSPI1 On-Chip Peripherals
0x1002_5000 0x1002_5FFF PWM1 On-Chip Peripherals
0x1003_4000 0x1003_4FFF QSPI2 On-Chip Peripherals
0x1003_5000 0x1003_5FFF PWM2 On-Chip Peripherals
0x2000_0000 0x3FFF_FFFF QSPI0 XIP Off-Chip Non-Volatile Memory
0x4000_0000 0x7FFF_FFFF Additional I/O or RAM Off-Chip Non-Volatile Memory
0x8000_0000 0x8001_FFFF Instruction and Data RAM On-Chip Volatile Memory
0x8002_0000 0xFFFF_FFFF Additional RAM On-Chip Volatile Memory

Building

Bitstream

BSP

Toolchain (e-SDK)

TODO

Upload core to FPGA

TODO

Upload Binary code to QSPI Flash

TODO

e300 GPIO Pinout

pinout_deca

Credits and acknowledgment

Legal Notices

This work is licensed under multiple licenses.

All original source code is licensed under the Apache License Version 2.0 unless implicit indicated.

All documentation is licensed under Creative Commons Attribution-ShareAlike 4.0 International Public License.

The authors and contributors or any of its maintainers are in no way associated with or endorsed by Intel®, Terasic®, SiFive® or any other company not implicit indicated. All other brands or product names are the property of their respective holders.

freedom-e300's People

Contributors

boogermann avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

curliph bobe-wang

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.