RV12 RISC-V Processor by RoaLogic
Product Brief
The RV12 is a highly configurable single-issue, single-core RV32I, RV64I compliant RISC CPU intended for the embedded market. The RV12 is a member of the Roa Logic’s 32/64bit CPU family based on the industry standard RISC-V instruction set
The RV12 implements a Harvard architecture for simultaneous instruction and data memory accesses. It features an optimizing 6-stage pipeline, which optimizes overlaps between the execution and memory accesses, thereby reducing stalls and improving efficiency.
Optional features include Branch Prediction, Instruction Cache, Data Cache, and Debug Unit. Parameterised and configurable features include the instruction and data interfaces, the branch-prediction-unit configuration, and the cache size, associativity, and replacement algorithms. Providing the user with trade offs between performance, power, and area to optimize the core for the application
Documentation
Features
- Royalty Free Industry standard instruction set (www.riscv.org)
- Parameterized 32/64bit data
- Fast, precise interrupts
- Custom instructions enable integration of proprietary hardware accelerators
- Single cycle execution
- Optimizing folded 6-stage pipeline
- Memory Protection Support
- Optional/Parameterized branch-prediction-unit
- Optional/Parameterized caches
Compatibility
The RV12 is compatible with the following RISC-V Foundation specifications:
Interfaces
- AHB3 Lite
Parameters
The following parameters control the feature set of a specific implementation of the RV12:
Parameter | Type | Default | Description |
---|---|---|---|
JEDEC_BANK |
Integer | 0x0A | JEDEC Bank |
JEDEC_MANUFACTURER_ID |
Integer | 0x6E | JEDEC Manufacturer ID |
XLEN |
Integer | 32 | Datapath width |
PLEN |
Integer | XLEN |
Physical Memory Address Size |
PMP_CNT |
Integer | 16 | Number of Physical Memory Protection Entries |
PMA_CNT |
Integer | 16 | Number of Physical Menory Attribute Entries |
HAS_USER |
Integer | 0 | User Mode Enable |
HAS_SUPER |
Integer | 0 | Supervisor Mode Enable |
HAS_HYPER |
Integer | 0 | Hypervisor Mode Enable |
HAS_RVM |
Integer | 0 | “M” Extension Enable |
HAS_RVA |
Integer | 0 | “A” Extension Enable |
HAS_RVC |
Integer | 0 | “C” Extension Enable |
HAS_BPU |
Integer | 1 | Branch Prediction Unit Control Enable |
IS_RV32E |
Integer | 0 | RV32E Base Integer Instruction Set Enable |
MULT_LATENCY |
Integer | 0 | Hardware Multiplier Latency (if “M” Extension enabled) |
ICACHE_SIZE |
Integer | 16 | Instruction Cache size in Kbytes |
ICACHE_BLOCK_SIZE |
Integer | 32 | Instruction Cache block length in bytes |
ICACHE_WAYS |
Integer | 2 | Instruction Cache associativity |
ICACHE_REPLACE_ALG |
Integer | 0 | Instruction Cache replacement algorithm 0: Random 1: FIFO 2: LRU |
DCACHE_SIZE |
Integer | 16 | Data Cache size in Kbytes |
DCACHE_BLOCK_SIZE |
Integer | 32 | Data Cache block length in bytes |
DCACHE_WAYS |
Integer | 2 | Data Cache associativity |
DCACHE_REPLACE_ALG |
Integer | 0 | Data Cache replacement algorithm 0: Random 1: FIFO 2: LRU |
HARTID |
Integer | 0 | Hart Identifier |
PC_INIT |
Address | h200 |
Program Counter Initialisation Vector |
MNMIVEC_DEFAULT |
Address | PC_INIT-‘h004 |
Machine Mode Non-Maskable Interrupt vector address |
MTVEC_DEFAULT |
Address | PC_INIT-‘h040 |
Machine Mode Interrupt vector address |
HTVEC_DEFAULT |
Address | PC_INIT-‘h080 |
Hypervisor Mode Interrupt vector address |
STVEC_DEFAULT |
Address | PC_INIT-‘h0C0 |
Supervisor Mode Interrupt vector address |
UTVEC_DEFAULT |
Address | PC_INIT-‘h100 |
User Mode Interrupt vector address |
BP_LOCAL_BITS |
Integer | 10 | Number of local predictor bits |
BP_GLOBAL_BITS |
Integer | 2 | Number of global predictor bits |
BREAKPOINTS |
Integer | 3 | Number of hardware breakpoints |
TECHNOLOGY |
String | GENERIC |
Target Silicon Technology |
License
Released under the RoaLogic Non-Commercial License
Dependencies
Requires the Roa Logic Memories IPs and AHB3Lite Package. These are included as submodules.
After cloning the RV12 git repository, perform a git submodule init
to download the submodules.
title: Non-Commercial License Agreement
Non-Commercial License Agreement
PLEASE CAREFULLY REVIEW THE FOLLOWING TERMS AND CONDITIONS BEFORE DOWNLOADING AND USING THE LICENSED MATERIALS. THIS LICENSE AGREEMENT (“AGREEMENT”) IS A LEGAL AGREEMENT BETWEEN YOU (EITHER A SINGLE INDIVIDUAL, OR A SINGLE LEGAL ENTITY)(“YOU”) AND ROA LOGIC BV (“ROA LOGIC”) COVERING THE PRODUCTS OR SERVICES YOU PURCHASE FROM ROA LOGIC.
By downloading and/or using or installing products from Roa Logic you automatically agree to and are bound by the terms and conditions of this agreement.
PLEASE NOTE THAT THIS AGREEMENT IS INTENDED FOR NON-COMMERCIAL USE OF THE PRODUCT. IF YOU INTENT TO USE ROA LOGIC PRODUCTS FOR COMMERCIAL PURPOSES, THEN PLEASE CONTACT info@roalogic.com TO ARRANGE AN AGREEMENT WITH US BASED ON OUR COMMERCIAL LICENSE TERMS
1. DEFINITIONS
“Intellectual Property” means any or all of the following and all rights in, arising out of, or associated with:
- all inventions (whether patentable or not), invention disclosures, improvements, trade secrets, proprietary information, know how, technology, algorithms, techniques, methods, devices, technical data, customer lists, and all documentation embodying or evidencing any of the foregoing;
- all computer software, source codes, object codes, firmware, development tools, files, records, data, and all media on which any of the foregoing is recorded
“Product” means an Intellectual Property block consisting of, but not limited to, Verilog, VHDL, and/or SystemVerilog design files, specifications, block diagrams and documentation.
“Physical Implementation” means any implementation in programmable or non-programmable technologies including, but not limited to Field Programmable Gate Arrays (FPGAs), Complex Programmable Logic Devices (CPLDs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs)
“Silicon Device(s)” means any customer Physical Implementation containing a unique part number.
“You” the opposite contract party as referred to in article 6:231, subsection c, of the Dutch Civil Code, being the party to whom an offer is made by Roa Logic, or with whom an agreement is concluded by Roa Logic, or to whom the Product is supplied.
2. LICENSE TO USE
Roa Logic hereby grants you the following limited, non-exclusive, non-transferable, no-charge, and royalty-free licenses to use, modify, and distribute the Product provided you do so for non-commercial (personal, educational, research and development, demonstration) purposes:
- Copyright license
- Patent license, where such license only applies to those patent claims licensable by Roa Logic.
Specifically you are allowed to:
- Use the Product in your design to create, simulate, implement, manufacture, and use a Silicon Device provided you don’t do so to make a profit
- Distribute the Product, provided the original disclaimer and copyright notice are retained and this Agreement is part of the distribution.
Specifically you are allowed to:
- Use the Product in your design to create, simulate, implement, manufacture, and use a Silicon Device provided you don’t do so to make a profit
- Distribute the Product, provided the original disclaimer and copyright notice are retained and this Agreement is part of the distribution.
3. OWNERSHIP
The Product, its documentation, and any associated material is owned by Roa Logic and is protected by copyright and other intellectual property right laws.
Any modification or addition to the Product, documentation, and any associated materials or derivatives thereof, that You intentionally submit to Roa Logic for inclusion in the Product will become part of the Product and thus owned and copyrighted by Roa Logic.
By submitting any material for inclusion you wave any ownership, copyright, and patent rights and claims for the use of the submitted material in the Product. “Submitting” means any form of electronic, verbal, or written communication sent to Roa Logic or its representatives, including, but not limited to, email, mailing lists, source repositories, and issue tracking systems for the purpose of discussing and improving the Product.
You shall not remove any copyright, disclaimers, or other notices from any parts of the Product.
4. RIGHT OF EQUITABLE RELIEF
You acknowledge and agree that violation of this agreement may cause Roa Logic irreparable injury for which an adequate remedy at law may not be available. Therefore Roa Logic shall be entitled to seek all remedies that may be available under equity, including immediate injunctive relief, in addition to whatever remedies may be available at law.
5. DISCLAIMER OF WARRANTY
The Product is provided “AS IS”. Roa Logic has no obligation to provide maintenance or support services in connection with the Product.
ROA LOGIC DISCLAIMS ALL WARRANTIES, CONDITIONS AND REPRESENTATIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, THOSE RELATED TO MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, SATISFACTORY QUALITY, ACCURACY OR COMPLETENESS OR RESULTS, CONFORMANCE WITH DESCRIPTION, AND NON-INFRINGEMENT.
6. LIMITATION OF LIABILITY
TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL ROA LOGIC BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES WHATSOEVER (INCLUDING, BUT NOT LIMITED TO, DAMAGES FOR LOSS OF PROFIT, BUSINESS INTERRUPTIONS OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THE PRODUCT WHETHER BASED ON A CLAIM UNDER CONTRACT, TORT OR OTHER LEGAL THEORY, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. EXPORT RESTRICTIONS
The Product may be subject to U.S. or E.U. export laws and may be subject to export or import regulations in other countries. You agree to comply fully with all laws and regulations of the United States, European Union, and other countries to ensure that the product is not:
- exported directly, or indirectly, in violation of export laws;
- intended to be used for any purposes prohibited by export laws, including, but not limited to, nuclear, chemical, or biological weapons proliferation.
8. APPLICABLE LAW AND CHOICE OF FORUM
All agreements and contracts between you and Roa Logic, which these conditions are applicable to, shall be governed by Dutch law with the exclusion of the uniform UN Convention on Contracts for the International Sale of Goods (CISG) and other bilateral or multilateral treaties for the purpose of unifying international sales.
The competent courts in the district where Roa Logic has its registered office in the Netherlands has jurisdiction over all disputes concerning rights and obligations associated with the contractual relations.
Conversion: If any clause or sentence of this agreement is held by a court of law to be illegal or unenforceable, the remaining provisions of the agreement remain in effect. The failure of Roa Logic to enforce any of the provisions in the agreement does not constitute a waiver of Roa Logic’s rights to enforce any provision of the agreement in the future.
Non-Commercial
Last activity 2 years ago
v1.3 released 2 years ago
Primary language: Verilog-SystemVerilog
135 commits by 4 contributors
activity over the last year
LibreCores data updated 4 months ago