小白入手指南:基于TinyRISC-V的安装与配置全攻略
2026-01-21 04:57:15作者:沈韬淼Beryl
TinyRISC-V是一个旨在简化理解RISC-V架构的教学级项目,由梁康南开发。它采用Verilog语言编写,设计思想接近 ARM Cortex-M3,非常适合RISC-V新手入门。以下是详细的安装和配置过程,专为小白量身定制。
1. 项目基础介绍及编程语言
项目简介: TinyRISC-V是一款极其简单的RISC-V处理器核心,采用Verilog HDL编写,特别强调易于理解,适合想要进入RISC-V世界的学习者。该项目支持RV32IM指令集,具有三级流水线,并能够运行C语言程序,支持中断、JTAG调试等功能。
主要编程语言:
- Verilog:用于处理器核心的硬件描述。
- C/C++:用于编写和测试C语言程序,以证明处理器功能。
- Python:用于自动化脚本,如编译、仿真等。
2. 关键技术和框架
- Verilog HDL:硬件描述语言,用来定义数字逻辑电路。
- Git:版本控制工具,用于代码管理和分发。
- Icarus Verilog (iverilog):用于Verilog代码的仿真。
- GNU Toolchain for RISC-V:提供了编译、汇编和链接RISC-V代码的工具。
- GTKWave:波形查看器,帮助分析仿真结果。
- OpenOCD(可选):用于JTAG调试和闪存编程。
3. 安装和配置步骤
准备工作
确保你的计算机已安装Git,如果没有,请访问Git官网下载安装。
安装步骤(Windows平台示例)
步骤1: 获取源代码
git clone https://github.com/liangkangnan/tinyriscv.git
步骤2: 安装必要工具
- Icarus Verilog:Icarus Website 或通过预先准备的安装包。
- GNU Tools for RISC-V:
- 下载链接通常可在项目文档中找到,或将此[链接](https://pan.baidu.com/s/1bYgslKxHMjtiZtIPsB2caQ 提取码: 9n3c)作为参考。
- Make:可以从官方网站或使用 Chocolatey(适用于Windows)安装。
- Python 3:访问Python官网下载安装,并确保添加到系统PATH中。
- 环境变量配置:确保上述工具的bin目录添加到了系统的PATH环境变量中。
步骤3: 设置GNU工具链路径
检查tests/example/common.mk中指定的GNU工具链路径是否匹配你的安装位置。
步骤4: 运行指令测试和C语言程序
- 仿真测试:
cd tinyriscv/sim python sim_new_nowave.py \tests\isa\generated\rv32ui-p-add bin inst data - 编译并运行C语言程序:
进入到你的C程序目录(例如
tests/example/simple),并执行make来编译,然后回到sim目录使用类似上面的脚本进行仿真测试。
注意事项
- 对于Linux用户,步骤相似,但工具的安装可能通过包管理器如apt或yum完成。
- 在开始任何编译或仿真之前,确保所有必要的环境变量已正确设置。
以上步骤完成后,你应该能成功地运行TinyRISC-V的测试程序和C语言程序,开始你的RISC-V探索之旅。如果有额外的细节需求或遇到特定问题,查阅项目GitHub页面的文档或提交反馈,以获得更具体指导。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0194
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0121
MiMo-V2.5-Pro-FP4-DFlashMiMo-V2.5-Pro-FP4-DFlash 是驱动 MiMo-V2.5-Pro-UltraSpeed 的底层模型: FP4 量化骨干网络:对 MoE 专家采用 MXFP4 量化,同时保持模型其他部分的更高精度,在几乎无损质量的前提下,显著减小模型体积并降低内存带宽压力。 BF16 DFlash 草稿生成器:用于块扩散推测解码,每次前向传播可生成一整个块的 tokens,并让骨干网络一步完成验证。 两者协同作用,既降低了每参数的位宽,又减少了骨干网络前向传播的次数,而这两者正是万亿参数模型解码过程中的两大主要成本来源。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
AstrBot✨ 易上手的多平台 LLM 聊天机器人及开发框架 ✨ 平台支持 QQ、QQ频道、Telegram、微信、企微、飞书 | OpenAI、DeepSeek、Gemini、硅基流动、月之暗面、Ollama、OneAPI、Dify 等。附带 WebUI。Python05
handy-ollama动手学Ollama,CPU玩转大模型部署,在线阅读地址:https://datawhalechina.github.io/handy-ollama/Jupyter Notebook07
项目优选
收起
暂无描述
Dockerfile
767
4.99 K
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
857
1.94 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
686
1.34 K
Ascend Extension for PyTorch
Python
721
892
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
458
445
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.08 K
1.11 K
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.01 K
262
CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。
Python
1 K
618
openJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力
TSX
2.99 K
637
华为昇腾面向大规模分布式训练的多模态大模型套件,支撑多模态生成、多模态理解。
Python
151
253