基于FPGA的SoC创建方案

时间:2025-09-17  作者:Diven  阅读:0

LiteX 框架为创建 FPGA 内核/SoC、探索各种数字设计架构和创建完整的基于 FPGA 的系统提供了方便高效的基础架构。

基于FPGA的SoC创建方案

简介

LiteX 提供了轻松创建 FPGA 内核/SoC 所需的所有常用组件:

总线(Wishbone、AXI、Avalon-ST)及其互连。

简单内核:RAM、ROM、定时器、UART、JTAG 等。

通过内核生态系统的复杂内核:LiteDRAM、LitePCIe、LiteEth、LiteSATA等......

各种 CPU 和 ISA:RISC-V、OpenRISC、LM32、Zynq、X86(通过 PCIe)等...

混合语言支持 VHDL/Verilog/(n)Migen/Spinal-HDL/etc...

通过各种桥接器和Litescope进行强大的调试基础设施。

通过Verilator直接/快速仿真。

为开源和供应商工具链构建后端。

通过将 LiteX 与内核生态系统相结合,创建复杂的 SoC 变得比使用传统方法容易得多,同时提供更好的可移植性和灵活性:例如,基于 VexRiscv-SMP CPU、LiteDRAM、LiteSATA 构建的多核 Linux SoC与 LiteX 集成,在廉价的改造Acorn CLE215+ Mining Board上运行:

支持的硬件

https://github.com/litex-hub/litex-boards/tree/master/litex_boards/targets

 

典型的 LiteX 设计流程:

                                      +---------------+                                      |FPGA toolchains|                                      +----^-----+----+                                           |     |                                        +--+-----v--+                       +-------+        |           |                       | Migen +-------->           |                       +-------+        |           |        Your design                                        |   LiteX   +---> ready to be used!                                        |           |              +----------------------+  |           |              |LiteX Cores Ecosystem +-->           |              +----------------------+  +-^-------^-+               (Eth, SATA, DRAM, USB,     |       |                PCIe, Video, etc...)      +       +                                         board   target                                         file    file                                                                        

LiteX 已经支持各种软核 CPU:VexRiscv、Rocket、LM32、Mor1kx、PICoRV32、BlackParrot,并且与 LiteX 的核心生态系统兼容:

名称描述
LiteX-Boards板支持
精简版DRAM动态随机存取存储器
LiteEth以太网
精简版PCIePCIe
LiteSATASATA
LiteSD卡SD卡
LiteICLink芯片间通信
LiteJESD204BJESD204B
LiteSPISPI/SPIFlah
LiteHyperBusHyperBus/HyperRam
LiteScope逻辑分析仪

 

使用 LiteX 构建的设计示例:

围绕 LitePCIe 构建并与 LiteX 集成的定制 PCIe SDI 采集/播放板,允许完全控制 SDI 流和极低的延迟。

SDS1104X-E 范围的替代固件/网关

Forest Kitten 33 上的 HBM2 测试基础设施:

快速入门指南

安装 Python 3.6+ 和 FPGA 供应商的开发工具和Verilator(仿真器,可以不安装)。

安装 Migen/LiteX 和 LiteX 的核心:

wget https://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.pychmod +x litex_setup.py./litex_setup.py --init --install --user (--user 安装到用户目录) --config=(minimal, standard, full)

需要更新所有存储库:

./litex_setup.py --update

注意:在 MacOS 上,确保您已安装HomeBrew。然后做,brew install wget。

注意:在 Windows 上,您可能必须将SHELL环境变量设置为SHELL=cmd.exe.

安装 RISC-V 工具链(仅当您想使用 CPU 测试/创建 SoC 时):

pip3 install meson ninja./litex_setup.py --gcc=riscv

建立目标......:

转到 litex-boards/litex_boards/targets 并执行您要构建的目标。

直接在您的计算机上安装Verilator并测试 LiteX,无需任何 FPGA 板:

在 Linux (Ubuntu) 上:

sudo apt install libevent-dev libjson-c-dev verilatorlitex_sim --cpu-type=vexriscv

在 MacOS 上:

brew install json-c verilator libeventbrew cask install tuntaplitex_sim --cpu-type=vexriscv

在板上的串行端口 115200 8-N-1 上运行终端程序。

应该得到如下所示的 BIOS 提示。

 

 

在FPGA上完美复刻Windows 95


优秀的 Verilog/FPGA开源项目介绍(十七)- AXI

 

优秀的 Verilog/FPGA开源项目介绍(十六)- 数字频率合成器DDS

 

想用FPGA加速神经网络,这两个开源项目你必须要了解

 

 

编辑:黄飞

 

猜您喜欢

三角锉是常见的手工工具,应用于金属加工、木工和修整工作中。规格尺寸因用途和制造标准而异,通常分为不同的型号。三角锉的长度通常在150毫米到300毫米之间,最常见...
2021-08-01 00:00:00


电流采样电阻作为关键的电子元器件,其性能直接影响到系统的稳定性和精度。PHYCOM(飞元)作为国内知名的电阻品牌,其电流采样电阻凭借很好的品质和创新技术,赢得了...
2014-08-04 15:47:30

贴片电阻虽然体积小,但在实际应用中也会面临各种受力问题,这些力可能会影响其性能甚至导致失效。主要受力问题包括:机械应力: 来自PCB板的弯曲、扭曲或振动。例如,...
2024-11-29 10:26:18

液态金属(LM)表现出与金属相当的高导电性和源自其液态独特的可变形性,因此被认为是高性能软电子器件的有前途的材料。然而,快速图案化液态金属以实现高灵敏度传感系统...
2023-08-14 09:57:00

刀套装主要优势有哪些?刀具是厨房中不可少的工具,而刀套装则是提升烹饪体验的重要选择。刀套装通常包含多种类型的刀具,如厨师刀、切片刀和削皮刀,满足不同食材的切割需...
2008-05-09 00:00:00

分流器电阻作为电路中关键的元件,受到了关注。Kyocera(京瓷)作为全球知名的电子元器件制造商,其分流器电阻产品因高品质和稳定性能赢得了市场的认可。本文将围绕...
2017-05-04 09:02:30

贴片电阻阻值偏低,可能由多种因素造成,主要包括以下几个方面:生产工艺问题: 这是最常见的原因。例如,在厚膜电阻生产过程中,浆料成分配比不准确、烧结温度控制不当、...
2024-11-29 10:25:49

在选择帐篷时,了解其参数非常重要。帐篷的容量是一个重要指标,通常以“人”为单位,选择适合自己需求的大小。材料方面,帐篷的外层通常采用防水涂层的聚酯或尼龙,防水等...
2011-10-19 00:00:00