1. 項(xiàng)目概述
項(xiàng)目說(shuō)明
該項(xiàng)目的目標(biāo)是創(chuàng)建一個(gè)用DE1-SOC進(jìn)行硬件加速的2D N-Body重力模擬器。
該模擬器擁有可定制的地圖和基于鼠標(biāo)的 GUI 交互功能。
使用標(biāo)準(zhǔn)CPU模擬天體(恒星、行星、小行星等)之間的引力是有限的,因?yàn)樗荒苓M(jìn)行順序計(jì)算,隨著天體數(shù)量的增加,模擬時(shí)間會(huì)很長(zhǎng)。而該項(xiàng)目是通過(guò)將每個(gè)天體的信息發(fā)送到FPGA來(lái)加速這些計(jì)算,讓它并行計(jì)算其他天體之間的每次交互,然后將結(jié)果發(fā)送回ARM繼而顯示在顯示器上。
2. 數(shù)學(xué)原理
加速器的數(shù)學(xué)基礎(chǔ)從標(biāo)準(zhǔn)牛頓重力方程開始:
為了簡(jiǎn)化方程并減少 HPS 處理的計(jì)算量,先這樣求解加速度:
然后用同樣的方法計(jì)算其他加速度:
不過(guò),對(duì)于這個(gè)計(jì)算,
這意味著如果物體靠得太近,會(huì)產(chǎn)生無(wú)限的加速度。這與現(xiàn)實(shí)不符,且由于該系統(tǒng)不處理對(duì)象的碰撞,因此需要添加不出故障的計(jì)算進(jìn)去。
如果用一個(gè)偏移量epsilon來(lái)規(guī)范半徑數(shù)學(xué)計(jì)算,就可阻止加速度增加到無(wú)窮大。
當(dāng)選擇epsilon取值是10的負(fù)8次方時(shí),這意味著它不會(huì)明顯超出尾數(shù)的精度也就是小數(shù)點(diǎn)后9位。
但是這只計(jì)算了總加速度。為了將加速度存儲(chǔ)為矢量,則這里需要方向分量。為了計(jì)算這個(gè),就用x和y的位移除以半徑。
當(dāng)應(yīng)用到之前的加速度公式時(shí)得到了下面的方程:
給物體2的加速度加上一個(gè)負(fù)號(hào)因?yàn)槲灰剖俏覀冊(cè)谠紉^計(jì)算中計(jì)算的負(fù)的位移。
由于無(wú)法快速執(zhí)行浮點(diǎn)除法,因此在計(jì)算中只能進(jìn)行3種不同的操作。加/減,乘和反平方根(使用快速反平方根算法)。下面的操作用于計(jì)算加速器中的最終結(jié)果。首先用2個(gè)加法器計(jì)算半徑的平方來(lái)計(jì)算x和y的位移,然后將輸出與其自身相乘并求出它們的和,也就是半徑的平方。
一旦有了半徑的平方,就可以試著用半徑平方的平方根的倒數(shù)來(lái)計(jì)算半徑的倒數(shù)。
用半徑平方和epsilon平方之和的平方根的倒數(shù),可以用下面的方法計(jì)算出前面所述的加速度方程:
更多原理介紹和方法實(shí)現(xiàn)請(qǐng)參考項(xiàng)目原文。
審核編輯:劉清
-
FPGA
+關(guān)注
關(guān)注
1642文章
21920瀏覽量
612003 -
ARM
+關(guān)注
關(guān)注
134文章
9270瀏覽量
373536 -
模擬器
+關(guān)注
關(guān)注
2文章
890瀏覽量
43863 -
GUI
+關(guān)注
關(guān)注
3文章
671瀏覽量
40571 -
硬件加速器
+關(guān)注
關(guān)注
0文章
42瀏覽量
12956
原文標(biāo)題:FPGA開源項(xiàng)目分享——2D N-Body重力模擬器
文章出處:【微信號(hào):友晶FPGA,微信公眾號(hào):友晶FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
求購(gòu)de1-soc開發(fā)版。有的請(qǐng)聯(lián)系我。急求呢。QQ:528369266
DE1-SOC新貨轉(zhuǎn)讓
DE1-SoC官方自帶ControlPanel代碼解讀與AV圖像采集處理?
小弟求購(gòu)Altera DE1-SOC開發(fā)板,哪位大神玩剩下了傳承一下,多謝!
de1-soc FPGA(Quartus工程含Qsys系統(tǒng)) + HPS 操作步驟
基于VxWorks的硬件加速技術(shù)探討

如何在DE1-SOC開發(fā)板上搭建NIOS II處理器運(yùn)行UCOS
基于VxWorks的硬件加速技術(shù)探討

Veloce仿真環(huán)境下的SoC端到端硬件加速器功能驗(yàn)證

DE1-SoC開發(fā)工具包的詳細(xì)用戶和使用手冊(cè)資料免費(fèi)下載

ALTERA公司的DE1 SoC FPGA開發(fā)板的培訓(xùn)教程免費(fèi)下載

DIY 2D運(yùn)動(dòng)賽車模擬器

評(píng)論