split nexys board from riscv-software.md to board/nexys.md

This commit is contained in:
Yan_yan 2020-11-26 14:31:34 +08:00
parent c5f58f806c
commit 16e6f6ea3a
5 changed files with 88 additions and 75 deletions

View File

@ -19,7 +19,8 @@ const sidebar = {
'/doc/board/stm32f407zgt6', '/doc/board/stm32f407zgt6',
'/doc/board/hifive1-rev', '/doc/board/hifive1-rev',
'/doc/board/maxgo', '/doc/board/maxgo',
'/doc/board/kd233' '/doc/board/kd233',
'/doc/board/nexys'
], ],
'controller': [ 'controller': [
'/doc/controller/ximenzi', '/doc/controller/ximenzi',

View File

@ -15,3 +15,5 @@
* [MAXGO](/doc/board/maxgo.md) * [MAXGO](/doc/board/maxgo.md)
* [KD233](/doc/board/kd233.md) * [KD233](/doc/board/kd233.md)
* [Nexys_A7-100T](/doc/board/nexys.md)

76
docs/doc/board/nexys.md Normal file
View File

@ -0,0 +1,76 @@
# Nexys A7-100T
## 综述
<center>
<img src="https://s3.ax1x.com/2020/11/19/DuzSVf.jpg">
<br>
<div style="color:orange; border-bottom: 1px solid #d9d9d9;
display: inline-block;
color: #999;
padding: 2px;">Nexys A7</div>
</center>
Nexys A7-100T 是 Digilent 多孔 RAM-based Nexys 开发板的简易替代品。搭载Xilinx®Artix™-7 FPGA芯片Nexys 4 DDR 是一个打开即用型的数字电路开发平台帮助使用者能够在课堂环境下实现诸多工业领域的应用配有高容量的大型FPGA芯片Xilinx产品编号XC7A100T-1CSG324C并集成了USB以太网和其它端口。Nexys 4 DDR开发板能实现从理论型组合电路到强大的嵌入式处理器的多种设计。
## 硬件特点
| 序号 | 描述 | 序号 | 描述 |
| ---- | ---- | ---- | ---- |
| 1 | 选择供电跳线 |13|CPU复位按键用于软核|
| 2 | UART/JTAG共用USB接口 |14|FPGA 配置复位按键|
| 3 | 外部配置跳线柱SD/USB |15|模拟信号Pmod端口XADC|
| 4 | Pmod端口 |16|编程模式跳线柱|
| 5 | 扩音器 |17|音频连接口|
| 6 | 电源测试点 |18|VGA连接口|
| 7 | 16个LED |19|FPGA编程完成LED|
| 8 | 16个按键开关 |20|以太网连接口|
| 9 | 8位7段数码管 |21|USB连接口|
| 10 | 可选用与外部接线的JTAG端口 |22|工业用PIC24编程端口|
| 11 | 5个按键开关 |23|电源开关|
| 12 | 板载温度传感器 |24|电源接口|
## 验证FPGA 移植linux
通过 lowRISC 开源项目,基于 rocket 修改的软核上运行完整的 linux。支持键盘、显示器、网卡等常见通用设备验证了riscv软核运行linux操作系统的可行性为XiUOS进一步支持riscv软核提供了试验基础。
* 生成riscv软核比特流
* 裁剪编译 linux
* 生成伯克利 bootloader(bbl)
* 将软核写入 flash
* 将 bbl 和 linux 写入 microSD卡
* JP1 位于 USB / SD 位置JP2 位于 USB 位置,电源选择 JP3位usb底部的开关打开DIP-SW 1引导linux从sd卡启动
<center>
<img src="https://s3.ax1x.com/2020/11/13/DSRnpj.png">
<br>
<div style="color:orange; border-bottom: 1px solid #d9d9d9;
display: inline-block;
color: #999;
padding: 2px;">在Nexys A7-100T上基于riscv软核运行Linux</div>
</center>
```bash
Debian GUN/Linux buster/sid lowrisc tty1
lowrisc login: xiuos
Password:
Last login:Thu Jan 1 01:09:48 BST 1970 on tty1
Linux lowrisc 4.18.0-gc81ff0d #48 Thu Oct 18 16:00:24 BST 2018 riscv64
The programs included with the Debian GUN/linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GUN/linux comes with ABSOLUTELY NO WARRANT, to the extent
permitted by applicable law.
xiuos@lowrisc:~$ cat /proc/cpuinfo
hart : 0
isa : rv64imafdc
mmu : sv39
uarch : sifive,rocket0
xiuos@lowrisc:~$ uname -a
Linux lowrisc 4.18.0-gc81ff0d #48 Thu Oct 18 16:00:24 BST 2018 riscv64 GUN/linux
xiuos@lowrisc:~$
```

View File

@ -10,92 +10,26 @@ IP核的提供方式通常分为软核、固核和硬核这3类。软核(Soft IP
## 一些常见软核 ## 一些常见软核
### 开源RISCV软核 ### 开源RISCV软核
1. RocketUC Berkeley 发起 RISC-V 项目的团队所设计的兼容 RISC-V 指令集的CPU核。为了设计一个新的指令集UC Berkeley开发的一门“硬件构建语言”-Chisel。从功能上的角度来看Chisel 可以将用户描述的硬件(写的代码)转化为等价的可综合的 Verilog HDL 代码或时等价的 C++ 仿真模型 1. Rocket是 UC Berkeley 的 RISC-V 项目团队发起并设计的兼容 RISC-V 指令集的 CPU 核。它是一款64位、5级流水线、单发射顺序执行处理器支持 MMU支持分页虚拟内存具有兼容 IEEE 754-2008 标准的 FPU具有分支预测功能具有 BTBBranch Prediction Buff、BHTBranch History Table、RASReturn Address StackRocket是采用 ChiselConstructing Hardware in an Scala Embedded Language编写硬件电路可以通过编译得到对应的 Verilog 设计,还可以得到对应的 C++ 模拟器
2. PULPino PULPino 是一个开源的微型控制系统基于一个32位RISC-V核心由瑞士苏黎世联邦理工学院开发。核心IPC接近1完全支持基整数指令集(RV32I),压缩指令(RV32C)和部分支持乘法指令集扩展(RV32M)。 2. PULPino 是一个开源的微型控制系统基于一个32位RISC-V核心由瑞士苏黎世联邦理工学院开发。核心IPC接近1完全支持基整数指令集 (RV32I),压缩指令 (RV32C) 和部分支持乘法指令集扩展 (RV32M)。
3. Shakti印度理工学院的一个项目由 Verilog 编写,其使用了大量第三方IP根据需要分成了不同的类。该计划不仅构建开源生产级处理器还包括互连结构验证工具存储控制器外围IP和SOC工具等相关组件。 3. Shakti印度理工学院的一个项目由 Verilog 编写,其使用了大量第三方 IP根据需要分成了不同的类。该计划不仅构建开源生产级处理器还包括互连结构验证工具存储控制器外围 IP SOC 工具等相关组件。
4. 蜂鸟,国内最早比较成熟的 RISC-V 实现由胡振波现在芯来创始人开发使用Verilog设计其开源CPU为E200使用2级流水线。 4. 蜂鸟,国内最早比较成熟的 RISC-V 实现由胡振波现在芯来创始人开发使用Verilog设计。其开源CPU为E200使用2级流水线。
5. tinyriscv国内开发者在GitHub上开源的一个微 RISC-V 处理器核用verilog语言编写以最简单、最通俗易懂的方式实现RISC-V指令的功能没有对代码做任何的优化。 5. tinyriscv国内开发者在GitHub上开源的一个微RISC-V处理器核用verilog语言编写以最简单、最通俗易懂的方式实现RISC-V指令的功能没有对代码做任何的优化。
### 商业非开源软核 ### 商业非开源软核
1. MicroBlazeRISC 微处理器, Xilinx 嵌入式产品系列的重要组件。MicroBlaze 是功能齐全的、更少指令集的 FPGA 优化型 32 位计算机 (RISC) 软处理器,可充分满足各种应用需求。作为一款高度可配置的易用型处理器MicroBlaze 可在 FPGA 以及全可编程 (AP) SoC 产品系列中使用。它免费配套提供 Vivado 设计与系统版以及 Vivado Webpack 版。 1. MicroBlazeMicroBlaze 是功能齐全的、更少指令集的 FPGA 优化型 32 位 RISC 软处理器,可充分满足各种应用需求。MicroBlaze 是一款高度可配置的易用型处理器,可在 FPGA 以及全可编程 (AP) SoC 产品系列中使用。它免费配套提供 Vivado 设计与系统版以及 Vivado Webpack 版。
2. Nios II系列RSIC微理器Altera 推出的32位RISC嵌入式处理器 。Nios II是应用于Intel FPGA的嵌入式软核处理器它是Qsys嵌入式系统的核心部件 2. Nios II系列是 Altera 推出的32位RISC嵌入式处理器。Nios II是应用于 Intel FPGA 的嵌入式软核处理器,它是 Qsys 嵌入式系统的核心部件,具有较强的性能和可定制特性。一片 FPGA 内部可以构建多个 Nios II 处理器,它们可以作为主 CPU也可以是协处理器在同一芯片内部协调有序地完成整个复杂系统的各项功能。Nios II 处理器内核是32位 RISC 架构处理器包含了大多数现代32位处理器中常见的基本架构元素。
有较强的性能和可定制特性。一片FPGA内部可以构建多个 Nios II 处理器它们可以作为主CPU也可以是协处理器在同一芯片内部协调有序地完成整个复杂系统的各项功能。Nios II处理器内核是32位RISC架构精简指令集架构处理器它包含了大多数现代32位处理器中常见的基本架构元素。
## Nexys A7-100T设备参数
Nexys A7-100T 是 Digilent 多孔 RAM-based Nexys 开发板的简易替代品。搭载Xilinx®Artix™-7 FPGA芯片Nexys 4 DDR 是一个打开即用型的数字电路开发平台帮助使用者能够在课堂环境下实现诸多工业领域的应用配有高容量的大型FPGA芯片Xilinx产品编号XC7A100T-1CSG324C并集成了USB以太网和其它端口。Nexys 4 DDR开发板能实现从理论型组合电路到强大的嵌入式处理器的多种设计。
<center>
<img src="https://s3.ax1x.com/2020/11/19/DuzSVf.jpg">
<br>
<div style="color:orange; border-bottom: 1px solid #d9d9d9;
display: inline-block;
color: #999;
padding: 2px;">Nexys A7</div>
</center>
| 序号 | 描述 | 序号 | 描述 |
| ---- | ---- | ---- | ---- |
| 1 | 选择供电跳线 |13|CPU复位按键用于软核|
| 2 | UART/JTAG共用USB接口 |14|FPGA 配置复位按键|
| 3 | 外部配置跳线柱SD/USB |15|模拟信号Pmod端口XADC|
| 4 | Pmod端口 |16|编程模式跳线柱|
| 5 | 扩音器 |17|音频连接口|
| 6 | 电源测试点 |18|VGA连接口|
| 7 | 16个LED |19|FPGA编程完成LED|
| 8 | 16个按键开关 |20|以太网连接口|
| 9 | 8位7段数码管 |21|USB连接口|
| 10 | 可选用与外部接线的JTAG端口 |22|工业用PIC24编程端口|
| 11 | 5个按键开关 |23|电源开关|
| 12 | 板载温度传感器 |24|电源接口|
### 验证FPGA 移植linux
通过 lowRISC 开源项目,基于 rocket 修改的软核上运行完整的 linux。支持键盘、显示器、网卡等常见通用设备验证了riscv软核运行linux操作系统的可行性为XiUOS进一步支持riscv软核提供了试验基础。
* 生成riscv软核比特流
* 裁剪编译 linux
* 生成伯克利 bootloader(bbl)
* 将软核写入 flash
* 将 bbl 和 linux 写入 microSD卡
* JP1 位于 USB / SD 位置JP2 位于 USB 位置,电源选择 JP3位usb底部的开关打开DIP-SW 1引导linux从sd卡启动
<center>
<img src="https://s3.ax1x.com/2020/11/13/DSRnpj.png">
<br>
<div style="color:orange; border-bottom: 1px solid #d9d9d9;
display: inline-block;
color: #999;
padding: 2px;">在Nexys A7-100T上基于riscv软核运行Linux</div>
</center>
```bash
Debian GUN/Linux buster/sid lowrisc tty1
lowrisc login: xiuos
Password:
Last login:Thu Jan 1 01:09:48 BST 1970 on tty1
Linux lowrisc 4.18.0-gc81ff0d #48 Thu Oct 18 16:00:24 BST 2018 riscv64
The programs included with the Debian GUN/linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GUN/linux comes with ABSOLUTELY NO WARRANT, to the extent
permitted by applicable law.
xiuos@lowrisc:~$ cat /proc/cpuinfo
hart : 0
isa : rv64imafdc
mmu : sv39
uarch : sifive,rocket0
xiuos@lowrisc:~$ uname -a
Linux lowrisc 4.18.0-gc81ff0d #48 Thu Oct 18 16:00:24 BST 2018 riscv64 GUN/linux
xiuos@lowrisc:~$
```

View File

@ -16,7 +16,7 @@ AIIT ARM-board是基于STM32F407ZGT6设计的一款低功耗智能物联网终
AIIT ARM-board拥有的资源包括 AIIT ARM-board拥有的资源包括
* 集成在芯片内部的 FPU 和 DSP 指令集 * 集成在芯片内部的 FPU 和 DSP 指令集
* 存储大小: 192KB SRAM、 512K FLASH * 存储大小: 192KB + 1 MB SRAM、 512K FLASH
* 摄像头接口: 1个 * 摄像头接口: 1个
* 定时器12 个 16 位定时器、 2 个 32 位高级定时器 * 定时器12 个 16 位定时器、 2 个 32 位高级定时器
* IIC硬件控制器 3 个 * IIC硬件控制器 3 个