在 03-01-2010 10:14 PM
NI工程師您好:
想請教一下
本人使用cRIO-9010,在FPGA中選寫以下二種程式,其Memory可寫成暫存位移器的功能,
若暫存的Data非常的多,其暫存位移器所使用的容量非常的大。
但若使用Memory卻非常小,請問這二種結構為何差異非常的大?
謝謝
已解決! 轉到解決方案。
在 03-01-2010 10:42 PM
NI工程師您好 我再多加一個問題
在FPGA中使用這個除法器,他是以整數來作除法
找尋技術文,據說使用這個VI將會花費眾多時間來執行。
那我在想 原理是否是這樣↓
在分子設分100,分母為3。
回圈執行一次時100-3=97;i=1,回圈執行第二次97-3=94;i=2,.....
當分子小於分母時停止,並送出i值, 所以才需花費較多時間?
謝謝
在 03-02-2010 03:06 AM
建議您使用移位暫存器的時候,請放一個 array constant ( 否則他會隨便指定 array 的大小)
另外 FPGA 除法的觀念,透過您所說方式太慢了。
有些人透過同餘定理,先讓整數變小,然後再透過您的方式慢慢找到餘數。
當然還有很多數學技巧,除非問 R&D 人員。
在 03-02-2010 09:12 PM
你好
1、照你所說Memory和位移暫存器在容量上差異不大?
2、還是其實位移暫存器也跟memory一樣 暫存在記憶體中?
3、像memory他可以儲檔、指定位址,可以儲存到破萬筆資料(所用容量小)(順便想請教一下,MEMORY所儲存的Data是使用到FPGA晶片容量上還是外部記憶體容量上)(CompactRIO-9014在整體上,它的容量分別有哪些,例如FPGA邏輯閘、記憶體…等)
★我想了解使用哪個FPGA的VI,它會應用到何處的空間。
4、如下圖,跟Memory差異就很大,下圖二種程式使用方法,無法編譯至CompactRIO中,照你所說設置陣列大小,下圖中有設,卻還是無法編譯?(那下圖二種程式寫法,Data分別存在CompactRIO 何處)
謝謝
若是位移暫存器
在 03-05-2010 12:42 AM
hi 你好
Memory使用的是FPGA上面的Memory
而shift register使用的是FPGA上面的邏輯閘在存檔
所以當你大量使用SHIFT REGISTER,如果FPGA的邏輯閘容量不夠大, 會有COMPILE不過的情形
同時你可以看COMPILE REPORT上面的GATE使用量
另外FPGA上面沒有辦法使用浮點數運算, 只能用1.FIXED POINT或是2.用加減運算來取代除法3.轉換成對應BITS的整數丟到RT再做除法
所以如果用那個VI去做除法的話 會相當耗費資源
請參考
謝謝
NI 應用工程部