bookmark_borderRISC-V ISA Overview

A RISC-V ISA is defined as a base integer ISA, which must be present in any implementation, plus optional extensions to the base ISA. The base integer ISAs are very similar to that of the early RISC processors except with no branch delay slots and with support for optional variable-length instruction encodings. A base is carefully restricted to a minimal set of instructions sufficient to provide a reasonable target for compilers, assemblers, linkers, and operating systems (with addi tional privileged operations), and so provides a convenient ISA and software toolchain “skeleton” around which more customized processor ISAs can be built.

Although it is convenient to speak of the RISC-V ISA, RISC-V is actually a family of related ISAs, of which there are currently four base ISAs. Each base integer instruction set is characterized by the width of the integer registers and the corresponding size of the address space and by the number of integer registers. There are two primary base integer variants, RV32I and RV64I, described in Chapters 2 and 5, which provide 32-bit or 64-bit address spaces respectively. We use the term XLEN to refer to the width of an integer register in bits (either 32 or 64). Chapter 4 describes the RV32E subset variant of the RV32I base instruction set, which has been added to support small microcontrollers, and which has half the number of integer registers. Chapter 6 sketches a future RV128I variant of the base integer instruction set supporting a flat 128-bit address space (XLEN=128). The base integer instruction sets use a two’s-complement representation for signed integer values.

Although 64-bit address spaces are a requirement for larger systems, we believe 32-bit address spaces will remain adequate for many embedded and client devices for decades to come and will be desirable to lower memory traffic and energy consumption. In addition, 32-bit address spaces are sufficient for educational purposes. A larger flat 128-bit address space might eventually be required, so we ensured this could be accommodated within the RISC-V ISA framework.

The four base ISAs in RISC-V are treated as distinct base ISAs. A common question is why is there not a single ISA, and in particular, why is RV32I not a strict subset of RV64I? Some earlier ISA designs (SPARC, MIPS) adopted a strict superset policy when increasing address space size to support running existing 32-bit binaries on new 64-bit hardware.

The main advantage of explicitly separating base ISAs is that each base ISA can be opti mized for its needs without requiring to support all the operations needed for other base ISAs. For example, RV64I can omit instructions and CSRs that are only needed to cope with the nar rower registers in RV32I. The RV32I variants can use encoding space otherwise reserved for instructions only required by wider address-space variants.

The main disadvantage of not treating the design as a single ISA is that it complicates the hardware needed to emulate one base ISA on another (e.g., RV32I on RV64I). However, differences in addressing and illegal instruction traps generally mean some mode switch would be required in hardware in any case even with full superset instruction encodings, and the different RISC-V base ISAs are similar enough that supporting multiple versions is relatively low cost. Although some have proposed that the strict superset design would allow legacy 32-bit libraries to be linked with 64-bit code, this is impractical in practice, even with compatible encodings, due to the differences in software calling conventions and system-call interfaces.

The RISC-V privileged architecture provides fields in misa to control the unprivileged ISA at each level to support emulating different base ISAs on the same hardware. We note that newer SPARC and MIPS ISA revisions have deprecated support for running 32-bit code unchanged on 64-bit systems.

A related question is why there is a different encoding for 32-bit adds in RV32I (ADD) and RV64I (ADDW)? The ADDW opcode could be used for 32-bit adds in RV32I and ADDD for 64-bit adds in RV64I, instead of the existing design which uses the same opcode ADD for 32- bit adds in RV32I and 64-bit adds in RV64I with a different opcode ADDW for 32-bit adds in RV64I. This would also be more consistent with the use of the same LW opcode for 32-bit load in both RV32I and RV64I. The very first versions of RISC-V ISA did have a variant of this alternate design, but the RISC-V design was changed to the current choice in January 2011. Our focus was on supporting 32-bit integers in the 64-bit ISA not on providing compatibility with the 32-bit ISA, and the motivation was to remove the asymmetry that arose from having not all opcodes in RV32I have a *W suffix (e.g., ADDW, but AND not ANDW). In hindsight, this was perhaps not well-justified and a consequence of designing both ISAs at the same time as opposed to adding one later to sit on top of another, and also from a belief we had to fold platform requirements into the ISA spec which would imply that all the RV32I instructions would have been required in RV64I. It is too late to change the encoding now, but this is also of little practical consequence for the reasons stated above.

It has been noted we could enable the *W variants as an extension to RV32I systems to provide a common encoding across RV64I and a future RV32 variant.

RISC-V has been designed to support extensive customization and specialization. Each base integer ISA can be extended with one or more optional instruction-set extensions, and we divide each RISC V instruction-set encoding space (and related encoding spaces such as the CSRs) into three disjoint categories: standard, reserved, and custom. Standard encodings are defined by the Foundation, and shall not conflict with other standard extensions for the same base ISA. Reserved encodings are currently not defined but are saved for future standard extensions. We use the term non standard to describe an extension that is not defined by the Foundation. Custom encodings shall never be used for standard extensions and are made available for vendor-specific non-standard extensions. We use the term non-conforming to describe a non-standard extension that uses either a standard or a reserved encoding (i.e., custom extensions are not non-conforming). Instruction-set extensions are generally shared but may provide slightly different functionality depending on the base ISA. Chapter 27 describes various ways of extending the RISC-V ISA. We have also developed a naming convention for RISC-V base instructions and instruction-set extensions, described in detail in Chapter 28.

To support more general software development, a set of standard extensions are defined to provide integer multiply/divide, atomic operations, and single and double-precision floating-point arith metic. The base integer ISA is named “I” (prefixed by RV32 or RV64 depending on integer register width), and contains integer computational instructions, integer loads, integer stores, and control flow instructions. The standard integer multiplication and division extension is named “M”, and adds instructions to multiply and divide values held in the integer registers. The standard atomic instruction extension, denoted by “A”, adds instructions that atomically read, modify, and write memory for inter-processor synchronization. The standard single-precision floating-point exten sion, denoted by “F”, adds floating-point registers, single-precision computational instructions, and single-precision loads and stores. The standard double-precision floating-point extension, denoted by “D”, expands the floating-point registers, and adds double-precision computational instruc tions, loads, and stores. The standard “C” compressed instruction extension provides narrower 16-bit forms of common instructions.

Beyond the base integer ISA and the standard GC extensions, we believe it is rare that a new instruction will provide a significant benefit for all applications, although it may be very beneficial for a certain domain. As energy efficiency concerns are forcing greater specialization, we believe it is important to simplify the required portion of an ISA specification. Whereas other architectures usually treat their ISA as a single entity, which changes to a new version as instructions are added over time, RISC-V will endeavor to keep the base and each standard extension constant over time, and instead layer new instructions as further optional extensions. For example, the base integer ISAs will continue as fully supported standalone ISAs, regardless of any subsequent extensions.

bookmark_borderRISC-V Software Execution Environments and Harts

The behavior of a RISC-V program depends on the execution environment in which it runs.

Risc-V Board

A RISC-V execution environment interface (EEI) defines the initial state of the program, the number and type of harts in the environment including the privilege modes supported by the harts, the accessibility and attributes of memory and I/O regions, the behavior of all legal instructions exe cuted on each hart (i.e., the ISA is one component of the EEI), and the handling of any interrupts or exceptions raised during execution including environment calls.

Examples of EEIs include the Linux application binary interface (ABI), or the RISC-V supervisor binary interface (SBI). The implementation of a RISC-V execution environment can be pure hardware, pure software, or a combination of hardware and software. For example, opcode traps and software emulation can be used to implement functionality not provided in hardware. Examples of execution environment implementations include:

“Bare metal” hardware platforms where harts are directly implemented by physical processor threads and instructions have full access to the physical address space. The hardware platform defines an execution environment that begins at power-on reset.

RISC-V operating systems that provide multiple user-level execution environments by mul tiplexing user-level harts onto available physical processor threads and by controlling access to memory via virtual memory.

RISC-V hypervisors that provide multiple supervisor-level execution environments for guest operating systems.

RISC-V emulators, such as Spike, QEMU or rv8, which emulate RISC-V harts on an under lying x86 system, and which can provide either a user-level or a supervisor-level execution environment.

A bare hardware platform can be considered to define an EEI, where the accessible harts, memory, and other devices populate the environment, and the initial state is that at power-on reset. Generally, most software is designed to use a more abstract interface to the hardware, as more abstract EEIs provide greater portability across different hardware platforms. Often EEIs are layered on top of one another, where one higher-level EEI uses another lower-level EEI.

From the perspective of software running in a given execution environment, a hart is a resource that autonomously fetches and executes RISC-V instructions within that execution environment. In this respect, a hart behaves like a hardware thread resource even if time-multiplexed onto real hardware by the execution environment. Some EEIs support the creation and destruction of additional harts, for example, via environment calls to fork new harts.

The term hart was introduced in the work on Lithe to provide a term to represent an abstract execution resource as opposed to a software thread programming abstraction. The important distinction between a hardware thread (hart) and a software thread context is that the software running inside an execution environment is not responsible for causing progress of each of its harts; that is the responsibility of the outer execution environment. So the environment’s harts operate like hardware threads from the perspective of the software inside the execution environment.

An execution environment implementation might time-multiplex a set of guest harts onto fewer host harts provided by its own execution environment but must do so in a way that guest harts operate like independent hardware threads. In particular, if there are more guest harts than host harts then the execution environment must be able to preempt the guest harts and must not wait indefinitely for guest software on a guest hart to ”yield” control of the guest hart.

 

bookmark_borderRISC-V Hardware Platform Terminology

A RISC-V hardware platform can contain one or more RISC-V-compatible processing cores to gether with other non-RISC-V-compatible cores, fixed-function accelerators, various physical mem ory structures, I/O devices, and an interconnect structure to allow the components to communicate.

A component is termed a core if it contains an independent instruction fetch unit. A RISC-V compatible core might support multiple RISC-V-compatible hardware threads, or harts, through multithreading.

A RISC-V core might have additional specialized instruction-set extensions or an added coprocessor. We use the term coprocessor to refer to a unit that is attached to a RISC-V core and is mostly sequenced by a RISC-V instruction stream, but which contains additional architectural state and instruction-set extensions, and possibly some limited autonomy relative to the primary RISC-V instruction stream.

Risc-V Boards
Risc-V Boards

We use the term accelerator to refer to either a non-programmable fixed-function unit or a core that can operate autonomously but is specialized for certain tasks. In RISC-V systems, we expect many programmable accelerators will be RISC-V-based cores with specialized instruction-set extensions and/or customized co processors. An important class of RISC-V accelerators are I/O accelerators, which offload I/O processing tasks from the main application cores.

The system-level organization of a RISC-V hardware platform can range from a single-core micro controller to a many-thousand-node cluster of shared-memory manycore server nodes. Even small systems-on-a-chip might be structured as a hierarchy of multicomputers and/or multiprocessors to modularization development effort or to provide secure isolation between subsystems.

bookmark_borderRISC-V ISA Introduction

RISC-V (pronounced “risk-five”) is a new instruction-set architecture (ISA) that was originally designed to support computer architecture research and education, but which we now hope will also become a standard free and open architecture for industry implementations. Our goals in defining RISC-V include:

A completely open ISA that is freely available to academia and industry. A real ISA suitable for direct native hardware implementation, not just simulation or binary translation.

An ISA that avoids “over-architecting” for a particular microarchitecture style (e.g., mi crocoded, in-order, decoupled, out-of-order) or implementation technology (e.g., full-custom, ASIC, FPGA), but which allows efficient implementation in any of these.

An ISA separated into a small base integer ISA, usable by itself as a base for customized accelerators or for educational purposes, and optional standard extensions, to support general purpose software development.

Support for the revised 2008 IEEE-754 floating-point standard.

An ISA supporting extensive ISA extensions and specialized variants.

Both 32-bit and 64-bit address space variants for applications, operating system kernels, and hardware implementations.

An ISA with support for highly-parallel multicore or manycore implementations, including heterogeneous multiprocessors.

Optional variable-length instructions to both expand available instruction encoding space and to support an optional dense instruction encoding for improved performance, static code size, and energy efficiency.

A fully virtualizable ISA to ease hypervisor development.

An ISA that simplifies experiments with new privileged architecture designs.

The RISC-V ISA is defined avoiding implementation details as much as possible (although com mentary is included on implementation-driven decisions) and should be read as the software-visible interface to a wide variety of implementations rather than as the design of a particular hardware artifact.

The RISC-V manual is structured in two volumes. This volume covers the design of the base unprivileged instructions, including optional unprivileged ISA extensions. Unprivileged instructions are those that are generally usable in all privilege modes in all privileged architectures, though behavior might vary depending on privilege mode and privilege architecture.

The second volume provides the design of the first (“classic”) privileged architecture. The manuals use IEC 80000-13:2008 conventions, with a byte of 8 bits.

bookmark_borderRISC-V ISA modules

The RVWMO memory model has been ratified at this time. The ISA modules marked Ratified, have been ratified at this time.

The modules marked Frozen are not expected to change significantly before being put up for ratification. The modules marked Draft are expected to change before ratification.

The document contains the following versions of the RISC-V ISA modules:

RISC-V ISA modules
RISC-V ISA modules

 

 

 

bookmark_borderRisc-V Processor

The main features of FII-IPcore :

  1. Fully supports the RV32IMFAC instruction architecture and provides a rich set of storage and interfaces, including: ITCM 64K(Instruction Tightly Coupled Memories) and DTCM 64K(Data Tightly Coupled Memories) for separate storage of instructions and data, and 2M bytes External super RAM support as well .
  2. 3-stage pipeline architecture
  3. support machine mode only
  4. From instruction fetch ,Decoder ,Execution to memory operation modules are 100% Manually developed by using pure verilog HDL, scalable and easy to be understood.
  5.  The flexible RISC-V IPCORE is suitable for customized ASIC for specific domain, Also can be used as embedded CPU with in FPGA.
  6.  Interrupt controller, supports 16 high-priority, low-latency local vectored interrupts.
  7. includes a RISC-V standard PLIC (platform-level interrupt controller ), which supports 127 global interrupts with 7 priority levels. provides the standard RISCV machine-mode timer and software interrupts via the CLINT(Core Local Interruptor)
  8. 2 UART
  9. 3 QSPI
  10. I2C
  11. PWM
  12. 10M/100M/1G ethernet
  13. Watchdog
  14. 32 GPIO
  15. 4 7-seg display interface
  16. External Serial Flash
  17. Debug Interfaces: JTAG
  18. 12-Bit ADC
  19. Four data lines I2S and can support maximum of 8 audio outputs or 4 stereo channels
  20. Hardware Crypto Engine for Advanced Fast Security, Including: AES 128, CRC, Checksum etc
Risc-V CPU
Risc-V CPU

A lot of our Risc-V experiments and our Risc-V courses are based on our own FII-CPU on our FII-PRX100 platform:

Codasip is proud to be a founding member of the RISC-V Foundation, joining industry leaders such as Google, Oracle, HP, AMD, Nvidia, and many others.

The power of RISC-V board is that it defines an ISA that helps a healthy HW and SW ecosystems develop, allowing each vendor to deliver their own unique value.

Cloud server will use Risc-V Processor in the near future. If you want to have a cheap cloud hosting with no downtime, please go to PowerHoster.

bookmark_borderCan FPGA board used in web hosting service ?

Intel pushes FPGAs into the data center

Modern FPGAs can speed up a wide range of applications, but they still require a lot of expertise. Intel aims to make it easier for the rest of the world to use programmable logic for server acceleration.

When it comes to speeding up computationally intensive workloads, GPUs are not the only game in town. FPGAs (field-programmable gate arrays) are also gaining traction in data centers.

While companies used to have to justify everything they wanted to migrate to the cloud, that scenario has flipped in recent years. Here’s how to make the best decisions about cloud computing.

These programmable logic devices, which can be reconfigured “in the field” for different tasks after manufacturing, have long been used in telecom gear, industrial systems, automotive, and military and aerospace applications. But modern FPGAs with large gate arrays, memory blocks, and fast IO are suitable for a wide range of tasks.

Microsoft has been using Altera FPGAs in its servers to run many of the neural networks behind services such as Bing searches, Cortana speech recognition, and natural-language translation. At the Hot Chips conference in August, Microsoft announced Project Brainwave, which will make FPGAs available as an Azure service for inferencing. Baidu is also working on FPGAs in its data center and AWS already offers EC2 F1 instances with Xilinx Virtex UltraScale+ FPGAs.

Most customers buy FPGAs as chips, and then design their own hardware and program them in a hardware description language such as VHDL or Verilog. Over time, some FPGAs have morphed into SoCs with ARM CPUs, hard blocks for memory and IO, and more (this week Xilinx just announced a family of Zync UltraScale+ FPGAs with a quad-core Cortex-A53 and the RF data converters for 5G wireless and cable). But the fact remains that FPGAs require considerable hardware and software engineering resources.

“One of the strengths of FPGAs is that they are infinitely flexible, but it is also one of their biggest challenges,” said Nicola Tan, senior marketing manager for data center solutions in Intel’s Programmable Solutions Group.

Now Intel is aiming to make it easier for other businesses to use FPGAs as server accelerators. This week the chipmaker announced the first of a new family of standard Programmable Acceleration Cards (PACs) for Xeon servers as well as software that makes them easier to program. In addition, Intel and partners are building functions for a wide variety of applications including encryption, compression, network packet processing, database acceleration, video streaming analytics, genomics, finance, and, of course, machine learning.

The PAC is a standard PCI Express Gen3 expansion card that can be plugged into any server. The first card combines the Arria 10 GX, a mid-range FPGA manufactured on TSMC’s 20nm process, with 8GB of DDR4 memory and 128MB of flash. It is currently sampling and will ship in the first half of 2018. Intel said it will also offer a PAC with the high-end Stratix 10, manufactured on its own 14nm process, but it hasn’t said when that version will be available.

At Hot Chips in August, Microsoft provided a sneak preview of the kind of performance that the Stratix 10 can deliver in the data center and said it expects a production-level chip running at 500MHz with tuned software will deliver a whopping 90 teraops (trillions of operations per second) for AI inferencing using its custom data format.

In addition to the PACs, Intel will also offer an MCP (multi-chip package) that combines a Skylake Xeon Scalable Processor and an FPGA. This is something Intel has been talking up since the $16.7 billion acquisition of Altera, and it has previously shown test chips with Broadwell Xeons and FPGAs, but the first commercial chip will arrive in the second half of 2018.

Conceptually, this isn’t really all that different from the Altera and Xilinx SoCs that already include ARM CPUs, but x86 processors should deliver higher performance and Intel can leverage the proprietary interconnect and 2.5D packaging technologies it has been developing.

bookmark_borderWhat is RTL and Verilog ?

What is RTL?

RTL stands for Register Transfer Level. You might also encounter the terms Register Transfer Logic or Register Transfer Language, they all mean the same in the context of hardware designing. RTL is a higher level abstraction for your digital hardware design and comes somewhere between strictly behavioral modeling on one end and purely gate-level structural modeling on other ends.

Behavioral modeling is explained in the next articles in this series so don’t be daunted with this term. Gate modeling means describing hardware using basic gates which is quite tedious. RTL can also be thought of as analogous to the term “pseudo-code” used in software programming. It is possible to describe the hardware design as sequences of steps (or flow) of data from one set of registers to next at each clock cycle.

Therefore, RTL is also commonly referred to as “dataflow” design. Once the RTL design is ready, it is easier to convert it into actual HDL code using languages such as Verilog, VHDL, SystemVerilog or any other hardware description language. HDL and Verilog are explained in the next section. Check out the Wikipedia page on RTL for more information (https://en.wikipedia.org/wiki/Register-transfer_level)

What is Verilog?

In the previous paragraphs, I mentioned the word “oversimplified” two times. The reason is that FPGAs are much much more than just a bunch of gates. While it is possible to build logic circuits of any complexity simply by arranging and connecting logic gates, it is just not practical and efficient. So we need a way to express the logic in some easy to use format that can be converted to an array of gates eventually.

Two popular ways to accomplish this are schematic entry and HDLs (Hardware Description Language). Before HDLs were popular, engineers used to design everything with schematics. Schematics are wonderfully easy for small designs but are painfully unmanageable for a large design (think about Intel engineers drawing schematics for Pentium, which has millions of gates! it is unacceptably complex).

If you have some electronics background, your initial tendency will be to use schematics to realize your design instead of learning a new language (This happened to me, honestly). For the aforementioned reasons, we will stick with HDL throughout this tutorial.

Verilog is a Hardware Description Language (HDL) which can be used to describe digital circuits in a textual manner. We will write our design for FPGA using Verilog (as if you write microcontroller programs in C and Assembly). Learning Verilog is not that hard if you have some programming background. VHDL is also another popular HDL used in the industry extensively.

Verilog and VHDL share more or less same market popularity, but I chose Verilog since it is easy to learn and its syntactical similarity to C language. Once you are comfortable with Verilog, it should be easy learning VHDL as well. Want to read more about Verilog? Check out this wiki page (http://en.wikipedia.org/wiki/Verilog) or check this tutorial (http://www.asic-world.com/verilog/index.html).

What tools do we need?

1. A good text editor (I use Notepad++ )

2. Xilinx ISE Webpack (Download from Xilinx for free. Registration required).

FPGA Beginner Boards
FPGA Beginner Boards

3. A good FPGA development board (Mimas V2 FPGA Development Board is used in the examples here. Picture of Mimas V2 is shown at the top of this page. If you have an Elbert V2 Spartan 3A FPGA board, that should work perfectly too. There are some differences when setting up the project for Mimas V2 vs Elbert V2 but I will point them out when it is necessary.)

4. Mimas V2 or Elbert V2 Configuration downloader software (Required only if Mimas V2 /Elbert V2 FPGA Development Board is used. Download from the respective product pages)

Additional tools may be necessary to follow advanced topics in this series. Information about such tools will be shared ass they are needed.

bookmark_borderWhat is Risc-V board ?

What is RISC-V Foundation?

RISC-V  is a free and open ISA enabling a new era of processor innovation through open standard collaboration.

FII-CPU (RV32G2.0)

We have our own IPcore FII-CPU (RV32G) and it will be taped out soon.

The main features of our IPcore :

  1. Fully supports the RV32IMFAC instruction architecture and provides a rich set of storage and interfaces, including: ITCM 64K(Instruction Tightly Coupled Memories) and DTCM 64K(Data Tightly Coupled Memories) for separate storage of instructions and data, and 2M bytes External super RAM support as well .
  2. 3-stage pipeline architecture
  3. support machine mode only
  4. From instruction fetch ,Decoder ,Execution to memory operation modules are 100% Manually developed by using pure verilog HDL, scalable and easy to be understood.
  5.  The flexible RISC-V IPCORE is suitable for customized ASIC for specific domain, Also can be used as embedded CPU with in FPGA.
  6.  Interrupt controller, supports 16 high-priority, low-latency local vectored interrupts.
  7. includes a RISC-V standard PLIC (platform-level interrupt controller ), which supports 127 global interrupts with 7 priority levels. provides the standard RISCV machine-mode timer and software interrupts via the CLINT(Core Local Interruptor)
  8. 2 UART
  9. 3 QSPI
  10. I2C
  11. PWM
  12. 10M/100M/1G ethernet
  13. Watchdog
  14. 32 GPIO
  15. 4 7-seg display interface
  16. External Serial Flash
  17. Debug Interfaces: JTAG
  18. 12-Bit ADC
  19. Four data lines I2S and can support maximum of 8 audio outputs or 4 stereo channels
  20. Hardware Crypto Engine for Advanced Fast Security, Including: AES 128, CRC, Checksum etc

FII-PRX100 Risc-V FPGA Board is a ready-to-use development platform designed around the Field Programmable Gate Array (FPGA) from Xilinx. It was designed to cover all aspects of FPGA Development and Experiment, RISC-V SOC . The main application areas aim at smart home, Wearable, sensor Fusion, IOT, and industrial control etc.

FII-PRX100 Risc-V FPGA Board is a ready-to-use development platform designed around the Field Programmable Gate Array (FPGA) from Xilinx. It was designed to cover all aspects of FPGA Development and Experiment, RISC-V SOC . The main application areas aim at smart home, Wearable, sensor Fusion, IOT, and industrial control etc.

FII-PRA040 RiscV Educational Platform is a ready-to-use development platform designed around the Field Programmable Gate Array (FPGA) from Intel Altera. RISC-V (pronounced “risk-five”) is an open-source hardware instruction set architecture (ISA) based on established reduced instruction set computer (RISC) principles.

The RISC- V Foundation is a non-profit entity serving members and the industry and was originally developed in the Computer Science Division of the EECS Department at the University of California, Berkeley.

Recently RISC-V and GigaDevice announced the GD32V Series, which is said to be the world’s first 32-bit general-purpose microcontroller based on the RISC-V core.

Features and Benefits

      1. gpio  (16 ) 2×8 standard 2.54mm connectors (pin)
      2. led  outport (8 个) 0603 smd
      3. switch (8 in one group) smd 
      4. 7 Buttons (up , down, left, right, ok, menu, return)
      5. i2c  24c02 smd soic
      6. spi  flash MX25L6433F 8-SOP (8M bytes)
      7. usb2uart ft2232C/H (2 uart ) Or cp2102 (1  uart)
      8. jtag 2×5 standard 2.54mm connectors(pin)
      9. eth  1G CAT5 Ethernet (rtl8111e)
      10. Digital tube 7seg (4) oasistek TOF-5421BMRL-N
      11. Hdmi out adv7511hdmi_adv7511.SchDoc
      12. Test Port1×6 Standard 2.54mm connector (pin)

Today we released Longan Nano development board powered by GD32VF103CBT6 MCU today and it only costs $4.90.

Sipeed Longan Nano is a development board based on GD32VF103CBT6 MCU with RISC-V 32-bit core of GigaDevice.
It is convenient for students, engineers and geek enthusiasts to contact the new-generation RISC-V processor.
Longan Nano comes with a 0.96inch 160×80 IPS RGB LCD and an acrylic transparent case.

Besides Longan Nano, let’s through back to take a look at what happened about RISC -V at Seeed Studio in 2019. Please don’t forget our full selection of Sipeed products, which will help you a lot to getting started with AI projects in a cost-effective way.

February – $7.9 RISC-V Module – Sipeed MAIX-I module w/o WiFi ( 1st RISC-V 64 AI Module, K210 inside)

MAIX is Sipeed’s purpose-built module designed to run AI at the edge, we called it AIoT. It delivers high performance in a small physical and power footprint, enabling the deployment of high-accuracy AI at the edge, and the competitive price make it possible embed to any IoT devices. As you see, Sipeed MAIX is quite like Google edge TPU, but it act as master controller, not an accelerator like edge TPU, so it is more low cost and low power than AP+edge TPU solution.

RISC-V is the new hotness, and companies are churning out code and announcements. Eventually, RISC-V microcontrollers and SoCs will cost just a few bucks. This day might be here, with Seeed’s Sipeed MAix modules. it’s a RISC-V chip you can buy right now, the bare module costs eight US dollars, there are several modules, and it has “AI.”

 

March – Grove AI HAT for Edge Computing

Next, in March, we released Grove AI HAT.

The Grove AI HAT for Edge Computing is built around Sipeed MAix M1 AI MODULE with Kendryte K210 processor inside. It’s a low cost but powerful raspberry pi AI hat which assists raspberry pi run the AI at the edge, it also can work independently for edge computing applications.

The MAix M1 is a powerful RISC-V 600MHz AI module that features dual-core 64-bit CPU, 230GMULps 16-bit KPU(Neural Network Processor), FPU(Float Point Unit) supports DP&SP, and APU(Audio Processor) supports 8 mics. In addition to the powerful Kendryte K210 processor, the Grove AI HAT for Edge Computing board provides a wealth of peripherals: I2C/UART/SPI/I2S/PWM/GPIO. The HAT also offers an LCD and a camera interface, which supports the Sipeed 2.4inch QVGA LCD and DVP camera, it will be helpful and convenience with your AI vision project.

It’s a low cost but powerful raspberry pi AI hat which assists raspberry pi run the AI at the edge, it also can work independently for edge computing applications. The MAix M1 is a powerful RISC-V 600MHz AI module that features dual-core 64-bit CPU, 230GMULps 16-bit KPU(Neural Network Processor), FPU(Float Point Unit) supports DP&SP, and APU(Audio Processor) supports 8 mics. In addition to the powerful Kendryte K210 processor, the Grove AI HAT for Edge Computing board provides a wealth of peripherals: I2C/UART/SPI/I2S/PWM/GPIO. The hat also offers an LCD and a camera interface, which supports the Sipeed 2.4inch QVGA LCD and DVP camera, it will be helpful and convenience with your AI vision project.

Based on MAIX Module, the Maixduino is a RISC-V 64 development board for AI + IoT applications. Different from other Sipeed MAIX dev. boards, Maixduino was designed in an Arduino Uno form factor, with ESP32 module on board together with MAIX AI module.

Maixduino will help you extend AI function in the following applications:

  •  Smart Home applications like robot cleaners, smart speakers, electronic door locks, household monitoring etc.
  •  Medical Industry applications like Auxiliary diagnosis and treatment, medical image recognition, emergency alarm etc.
  • Smart Industry applications like industrial machinery, intelligent sorting, monitoring of electrical equipment, etc.
  • Education applications like educational robots, intelligent interactive platforms, educational efficiency inspection, etc.
  • Agriculture applications like agricultural monitoring, pest and disease monitoring, automated control, etc.

Perf-V is a FPGA demo board designed for RISC-V opensource community by PerfXLab. It integrates various peripheral chips and offers many interfaces.

  • It uses Xilinx Artix-7 FPGA, Vivado software development,and is designed for the RISC-V open source community and FPGA learning enthusiasts design development board.
  • It Integrates a variety of peripheral chips to provide a rich set of peripheral interfaces, including PMOD, Arduino, JTAG, UART interfaces, and high-speed interfaces for expansion of HDMI, VGA, USB2.0/3.0, camera, Bluetooth, expansion boards, etc. Strong flexibility.
  • Based on Perf-V’s self-developed smart car, it can use mobile phone Bluetooth to control the movement of the car, and can realize automatic tracing and obstacle avoidance functions.

You can also choose another one with the chip XC7A100T-1FTG256C, which has more logic cells and CLBs.

What is the next board are you expecting? Please feel to let us know in the forum: New Product Ideas. We will carefully listen to and take action!

 

bookmark_borderFPGA Development Board and Educational Platform ( xc7z030 ZYNQ EVB Board )

FII-PE7030 is a ready-to-use for educational platform which has been designed to cover FPGA development and experiment, ARM SOC development and experiment, network(copper or fiber) development ,digital communication and SDR(software define radio) with daughter board FII-BD9361 plug on.

xc7z030 ZYNQ EVB Board – FII-PE7030 FPGA Development Board and Educational Platform

Basic Experiment Functions:

FII-PE7030  xc7z030 zynq evb board  is a ready-to-use for educational platform which has been designed to cover FPGA development and experiment,  ARM SOC development and experiment,  network(copper or fiber) development ,digital communication and SDR(software define radio) with daughter board FII-BD9361 plug on.  It was designed for university students, teachers, and all other industrail professionals.  FII-PE7030 is an incredibly flexible processing platform, capable of adapting to most of your project requires.

More surprising show up that recently Engineers has successful port RISC-V(RV32G) and RV64I to this platform, it becomes a real RISC-V SOC platform.

Application:

wireless Communication
DBC(digital base band communication) and DSP
SDR Software defined radio
LTE protocol analysis
4/5G  base station

Network communication:
100M/1G  ethernet communication both for PS and PL
10G SFP+  fibre communication with multiple protocol supported like LAN, SONET/SDH, CPRI etc.
Network switch and router
VLAN
Spanning  Tree

USB:
1 480M high speed USB2.0  HUB
4 480M high speed USB2.0  connectors

CPU:
RISC-V CPU 32bit ecosystem development ,verification and validation
RISC-V CPU 64bit ecosystem development,verification and validation

Artificial Intelligence:
Audio or Voice Collection, Speech Recognition
Image Acquisition and Image Recognition, Deep Learning

IOT: ALL kinds of IOTs with RISC-V system

FII-PE7030 System Hardware Resources:

  1. 2 ports 10G Ethernet(Fibre)
  2. 2 ports100M/1G Ethernet, one for PS and for PL
  3. 1 HDMI output Interface。
  4. dual channel Audio Interface
  5. AD9361 Interface(FMC-LPC)
  6. 8 LEDs
  7. 8 switches
  8. 8 buttons
  9. GPIO Expansion Port
  10. JTAG Debug Interface
  11. 1GB ddr3 –SOC(PS)
  12. 1GB ddr3—FPGA(PL)
  13. SDCARD Interface
  14. 32M Serial FLASH
  15. Serial EEPROM
  16. 12bit 1MPS ADC
  17. Temperature Sensor