0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何创建FPGA内核/SoC所需的所有常用组件

OpenFPGA 来源:OpenFPGA 作者:OpenFPGA 2022-09-13 09:04 次阅读

FPGA创建SoC如此容易

项目地址

https://github.com/enjoy-digital/litex/wiki

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

简介

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

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

简单内核:RAMROM定时器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上运行:

e35477c8-32fc-11ed-ba43-dac502259ad0.png

支持的硬件

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

e3cc7674-32fc-11ed-ba43-dac502259ad0.pnge4b9ca5a-32fc-11ed-ba43-dac502259ad0.png

典型的 LiteX 设计流程:

+---------------+
|FPGAtoolchains|
+----^-----+----+
||
+--+-----v--+
+-------+||
|Migen+-------->|
+-------+||Yourdesign
|LiteX+--->readytobeused!
||
+----------------------+||
|LiteXCoresEcosystem+-->|
+----------------------++-^-------^-+
(Eth,SATA,DRAM,USB,||
PCIe,Video,etc...)++
boardtarget
filefile



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

名称 描述
LiteX-Boards 板支持
精简版DRAM 动态随机存取存储器
LiteEth 以太网
精简版PCIe PCIe
LiteSATA SATA
LiteSD SD卡
LiteICLink 芯片通信
LiteJESD204B JESD204B
LiteSPI SPI/SPIFlah
LiteHyperBus HyperBus/HyperRam
LiteScope 逻辑分析仪

使用 LiteX 构建的设计示例:

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

e517934c-32fc-11ed-ba43-dac502259ad0.png

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

e615883a-32fc-11ed-ba43-dac502259ad0.png

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

e64af722-32fc-11ed-ba43-dac502259ad0.png

快速入门指南

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

安装 Migen/LiteX 和 LiteX 的核心:

wgethttps://raw.githubusercontent.com/enjoy-digital/litex/master/litex_setup.py
chmod+xlitex_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 时):

pip3installmesonninja
./litex_setup.py--gcc=riscv

建立目标......:

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

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

在 Linux (Ubuntu) 上:

sudoaptinstalllibevent-devlibjson-c-devverilator
litex_sim--cpu-type=vexriscv

在 MacOS 上:

brewinstalljson-cverilatorlibevent
brewcaskinstalltuntap
litex_sim--cpu-type=vexriscv

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

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

e6d76fe0-32fc-11ed-ba43-dac502259ad0.png

在FPGA上完美复刻Windows 95


e75a4a78-32fc-11ed-ba43-dac502259ad0.jpg

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


e775fd04-32fc-11ed-ba43-dac502259ad0.jpg

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

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


e7b742aa-32fc-11ed-ba43-dac502259ad0.jpg

优秀的 Verilog/FPGA开源项目介绍(十四)- 使用FPGA实现LeNet-5 深度神经网络模型

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21326

    浏览量

    593242
  • 定时器
    +关注

    关注

    23

    文章

    3148

    浏览量

    112045
  • 数字设计
    +关注

    关注

    0

    文章

    44

    浏览量

    22212
  • 组件
    +关注

    关注

    1

    文章

    338

    浏览量

    17587

原文标题:用FPGA创建SoC如此容易

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Xilinx(r) Ultrascale(r) 16nm FPGA/SoC 电源解决方案

    `描述PMP10555 参考设计提供为移动无线基站应用中的 Xilinx® Ultrascale® 16nm 系列 FPGA/SoC 供电所需所有电源轨。此设计对
    发表于 05-11 10:46

    Altera Cyclone V SoC 电源

    `描述此参考设计提供为 Altera Cyclone V SoC FPGA 供电时所需所有电源轨。此设计使用 LMZ3 系列模块产生用于为 FPG
    发表于 05-11 16:49

    Xilinx Ultrascale 16nm FPGA/SoC电源解决方案

    描述PMP10555 参考设计提供为移动无线基站应用中的 Xilinx® Ultrascale® 16nm 系列 FPGA/SoC 供电所需所有电源轨。此设计对
    发表于 11-19 14:58

    Microchip FPGA 和基于 SoC 的 RISC-V 生态系统简介

    ) 和PolarFire ®片上系统 (SoC) FPGA 产品组合。因此,基于 RISC-V 的设计具有更低的功耗、更高的灵活性、更快的上市时间,并提供 Linux 支持,而无需其他解决方案所需的权衡
    发表于 09-07 17:59

    面向移动通信无线基站的Xilinx(r) Ultrascale(r) 16nm FPGA/SoC电源解决方案

    描述PMP10555参考设计提供为移动无线基站移动无线应用中的 Xilinx® Ultrascale® 16nm 系列 FPGA/SoC 供电所需所有电源轨。此设计对
    发表于 09-28 06:56

    看技术专家:如何为您解决SoC FPGA设计难题

    电子发烧友网核心提示 :主要FPGA供应商已经开始销售集成了硬核处理器内核的低成本FPGA器件,SoCFPGA器件最终会成为主流。为能够充
    发表于 11-06 22:06 3228次阅读
    看技术专家:如何为您解决<b class='flag-5'>SoC</b> <b class='flag-5'>FPGA</b>设计难题

    面向移动通信无线基站的Xilinx Ultrascale 16nm FPGA/SoC电源解决方案

    PMP10555 参考设计提供为移动无线基站应用中的 Xilinx® Ultrascale® 16nm 系列 FPGA/SoC 供电所需所有电源轨。此设计对
    发表于 02-08 09:27 202次阅读

    SoC设计中嵌入FPGA(eFPGA)内核实用评估方法

    虽然系统级芯片( SoC )的架构师们已了解嵌入式FPGA( eFPGA )内核能如何为他们的ASIC/ SoC 设计增加价值,甚至是在规划
    的头像 发表于 09-20 09:51 3865次阅读

    FPGA_soc学习教程:编译嵌入式Linux系统内核

    小梅哥最新款FPGA_SOC
    的头像 发表于 09-02 06:03 1517次阅读
    <b class='flag-5'>FPGA_soc</b>学习教程:编译嵌入式Linux系统<b class='flag-5'>内核</b>

    如何创建在目标平台上实现设计加速所需的软件镜像

    如何使用此 XSA 以及如何创建在目标平台上实现设计加速所需的软件镜像。 熟悉 OpenCL 的用户可能对内核 (kernel)一词已耳熟能详,在 OpenCL 中执行功能的位置即被称为内核
    的头像 发表于 10-26 15:48 1244次阅读
    如何<b class='flag-5'>创建</b>在目标平台上实现设计加速<b class='flag-5'>所需</b>的软件镜像

    使用Xilinx Vivado创建自己板卡文件

    board.xml - 定义关于板的所有信息。它包括基本信息(例如电路板名称、描述、供应商)、有关板上组件的信息(例如 FPGA 部件、LED、按钮)、有关板上组件
    的头像 发表于 06-02 09:08 3198次阅读

    什么是SoC、SOPC、SoC FPGA?用在什么场景?

    ,先了解一下SoC FPGA是什么,相对于SOPC、SoC有什么优缺点,甚至常用在什么场景中还是比较轻松的,这些知识能对SoC
    的头像 发表于 03-30 10:13 6975次阅读

    基于FPGASoC创建方案

    LiteX 框架为创建 FPGA 内核/SoC、探索各种数字设计架构和创建完整的基于 FPGA
    发表于 06-28 09:08 471次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>SoC</b><b class='flag-5'>创建</b>方案

    SLMLET,具有混合RISC-V内核,高速IF和eFPGA的S

    SLMLET,具有混合RISC-V内核,高速IF和eFPGASoC 演讲ppt分享
    发表于 07-17 16:34 2次下载

    什么是片上系统(SoC)?SoC是如何工作的?

    片上系统(简称SoC)是半导体工业中常用的一个术语。它指的是将计算机或其他电子系统的所有必要组件集成到单个芯片上的一种微芯片。
    的头像 发表于 03-08 10:29 1658次阅读
    什么是片上系统(<b class='flag-5'>SoC</b>)?<b class='flag-5'>SoC</b>是如何工作的?