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

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

3天内不再提示

用DE1-SOC进行硬件加速的2D N-Body重力模拟器设计

友晶FPGA ? 来源:友晶Terasic ? 2024-04-09 11:08 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1. 项目概述

项目说明

该项目的目标是创建一个用DE1-SOC进行硬件加速的2D N-Body重力模拟器。

77eb7712-f61d-11ee-a297-92fbcf53809c.jpg

该模拟器拥有可定制的地图和基于鼠标的 GUI 交互功能。

使用标准CPU模拟天体(恒星、行星、小行星等)之间的引力是有限的,因为它只能进行顺序计算,随着天体数量的增加,模拟时间会很长。而该项目是通过将每个天体的信息发送到FPGA来加速这些计算,让它并行计算其他天体之间的每次交互,然后将结果发送回ARM继而显示在显示器上。

782793a0-f61d-11ee-a297-92fbcf53809c.png

2. 数学原理

加速器的数学基础从标准牛顿重力方程开始:

78395a86-f61d-11ee-a297-92fbcf53809c.png

为了简化方程并减少 HPS 处理的计算量,先这样求解加速度:

78425fa0-f61d-11ee-a297-92fbcf53809c.png

785512da-f61d-11ee-a297-92fbcf53809c.png

然后用同样的方法计算其他加速度:

78620242-f61d-11ee-a297-92fbcf53809c.png

不过,对于这个计算,

7874111c-f61d-11ee-a297-92fbcf53809c.png

这意味着如果物体靠得太近,会产生无限的加速度。这与现实不符,且由于该系统不处理对象的碰撞,因此需要添加不出故障的计算进去。

如果用一个偏移量epsilon来规范半径数学计算,就可阻止加速度增加到无穷大。

787fdb0a-f61d-11ee-a297-92fbcf53809c.png

当选择epsilon取值是10的负8次方时,这意味着它不会明显超出尾数的精度也就是小数点后9位。

7890d658-f61d-11ee-a297-92fbcf53809c.png

78a7a2c0-f61d-11ee-a297-92fbcf53809c.png

但是这只计算了总加速度。为了将加速度存储为矢量,则这里需要方向分量。为了计算这个,就用x和y的位移除以半径。

78b48fc6-f61d-11ee-a297-92fbcf53809c.png

当应用到之前的加速度公式时得到了下面的方程:

78cbd2bc-f61d-11ee-a297-92fbcf53809c.png

给物体2的加速度加上一个负号因为位移是我们在原始x^计算中计算的负的位移。

78e1d6c0-f61d-11ee-a297-92fbcf53809c.png

由于无法快速执行浮点除法,因此在计算中只能进行3种不同的操作。加/减,乘和反平方根(使用快速反平方根算法)。下面的操作用于计算加速器中的最终结果。首先用2个加法器计算半径的平方来计算x和y的位移,然后将输出与其自身相乘并求出它们的和,也就是半径的平方。

78f5199c-f61d-11ee-a297-92fbcf53809c.png

一旦有了半径的平方,就可以试着用半径平方的平方根的倒数来计算半径的倒数。

79071a16-f61d-11ee-a297-92fbcf53809c.png

用半径平方和epsilon平方之和的平方根的倒数,可以用下面的方法计算出前面所述的加速度方程:

79149ad8-f61d-11ee-a297-92fbcf53809c.png

更多原理介绍和方法实现请参考项目原文。




审核编辑:刘清

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

    关注

    1646

    文章

    22070

    浏览量

    619742
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9373

    浏览量

    378641
  • 模拟器
    +关注

    关注

    2

    文章

    938

    浏览量

    44605
  • GUI
    GUI
    +关注

    关注

    3

    文章

    680

    浏览量

    41397
  • 硬件加速器
    +关注

    关注

    0

    文章

    43

    浏览量

    13088

原文标题:FPGA开源项目分享——2D N-Body重力模拟器

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于DE1-SOC开发板的oneAPI实验教程(2

    上一期我们从oneAPI CLI Samples Browser复制保存的Simple DMA是基于Quartus Pro的Nios V示例,无法直接用在DE1-SoC开发板上,因此这一节我们
    的头像 发表于 06-23 11:17 ?645次阅读
    基于<b class='flag-5'>DE1-SOC</b>开发板的oneAPI实验教程(<b class='flag-5'>2</b>)

    求购de1-soc开发版。有的请联系我。急求呢。QQ:528369266

    求购de1-soc开发版。有的请联系我。急求呢。QQ:528369266
    发表于 12-15 16:00

    DE1-SOC新货转让

    本人研究生,在暑假期间参加了一个比赛,获得了一块DE1-SOC作为比赛奖品,于2015年12月26日拿到奖品,淘宝官网上卖价1575,现在想低价转售,暂定价格1200,可议价,开发套件还未拆封,保证
    发表于 12-27 10:43

    DE1-SoC官方自带ControlPanel代码解读与AV图像采集处理?

    DE1-SoC一段时间了,官方给的controlPanel那个示例给出了工具链的安装方式,而且给了这块板开发QT界面的一套流程,目前想在该代码上修改,想结合AV端采集图像,通过Opencv进行图像处理,可如何与Opencv
    发表于 05-06 22:18

    DE1-Soc用户手册

    DE1-Soc用户手册
    发表于 08-05 16:08

    de1-soc FPGA(Quartus工程含Qsys系统) + HPS 操作步骤

    的---------.sof文件下载进FPGA,可执行文件进SD卡中执行 拓展:自启动。 FPGA:.pof文件固化到FPGA中,注意我们的de1-soc的不是EPCS,而是EPCQ,具体方式见用户手册倒数第
    发表于 07-03 08:10

    如何在MA35D1上使用硬件2D加速功能?

    如何在MA35D1上使用硬件 2D 加速功能?
    发表于 09-06 08:26

    基于VxWorks的硬件加速技术探讨

    简述了爱普生S1D13A05芯片的架构特征,并且介绍了其中的2D硬件加速引擎的工作模式和相关的寄存设置,最后以VxWorks操作系统作为开发环境,基于风河公司WindML图形开发包,
    发表于 09-01 14:07 ?1248次阅读
    基于VxWorks的<b class='flag-5'>硬件加速</b>技术探讨

    如何在DE1-SOC开发板上搭建NIOS II处理运行UCOS

    介绍了如何在DE1-SOC开发板上搭建NIOS II处理运行UCOS II,一步一步指导的,特此上传,希望能帮点忙。
    发表于 06-14 15:29 ?12次下载

    基于VxWorks的硬件加速技术探讨

    简述了爱普生S1D13A05芯片的架构特征,并且介绍了其中的2D硬件加速引擎的工作模式和相关的寄存设置,最后以VxWorks操作系统作为开发环境,基于风河公司WindML图形开发
    发表于 12-01 04:26 ?528次阅读
     基于VxWorks的<b class='flag-5'>硬件加速</b>技术探讨

    Veloce仿真环境下的SoC端到端硬件加速器功能验证

    很多人认为硬件加速器无非是一种速度更快的仿真而已。毫无疑问,由于硬件加速器使用物理硬件进行仿真,使用
    发表于 03-28 14:50 ?4279次阅读
    Veloce仿真环境下的<b class='flag-5'>SoC</b>端到端<b class='flag-5'>硬件加速器</b>功能验证

    ALTERA公司的DE1 SoC FPGA开发板的培训教程免费下载

    本文档的主要内容详细介绍的是ALTERA公司的DE1 SoC FPGA开发板的培训教程免费下载包括了:第1DE1-SOC 快速入门,第2
    发表于 07-08 08:00 ?34次下载
    ALTERA公司的<b class='flag-5'>DE1</b> <b class='flag-5'>SoC</b> FPGA开发板的培训教程免费下载

    DE1-SoC结构及电路图

    DE1-SoC结构及电路图免费下载。
    发表于 04-07 11:33 ?39次下载

    DIY 2D运动赛车模拟器

    电子发烧友网站提供《DIY 2D运动赛车模拟器.zip》资料免费下载
    发表于 11-08 10:54 ?3次下载
    DIY <b class='flag-5'>2D</b>运动赛车<b class='flag-5'>模拟器</b>

    在友晶DE1-SOC开发板实现Chirikov标准映射求解

    该项目是在友晶DE1-SOC开发板实现Chirikov标准映射的求解,并将其应用于图像加密和解密的概念验证。
    的头像 发表于 07-07 15:22 ?1010次阅读
    在友晶<b class='flag-5'>DE1-SOC</b>开发板实现Chirikov标准映射求解<b class='flag-5'>器</b>