簡體   English   中英

在FPGA的VHDL中實現以下操作/功能有多困難?

[英]how hard is it to implement the following operations/functions in VHDL for an FPGA?

作為固件工程師,您如何比較以下操作的計算成本(可能需要多少資源)

  • 加/減
  • 乘法
  • 三角函數,例如余弦
  • 平方根

對於具有32位計算的浮點。

從硬件(而非固件)的角度回答:不幸的是,您的問題沒有簡單的答案。 您列出的每個功能都有許多不同的硬件實現,通常在小到慢和大到快之間。 此外,它取決於您的目標FPGA,因為其中一些將這些功能嵌入到硬宏中,因此問題不再是它們的成本是多少 ,但是我在此FPGA中是否有足夠的功能

作為部分答案,您可以這樣做:在最直接的組合實現中,不使用任何硬宏,整數或定點N加法器/減法器的成本為O(N)N x N乘法器的成本為O(NxN) 大致。

對於其他功能,很難回答,要考慮的變量太多(固定/浮點,等待時間,吞吐量,准確性,范圍...)。 假設您對所有這些都做出了類似的選擇,我會說: add < mul < div < sqrt < trig 但老實說,不要認為這是理所當然的。 例如,如果使用浮點數,則加法器可能比乘法器更近甚至更大,因為它需要尾數對齊,即桶形移位器。

具有少量硬件設計知識的固件工程師可能會為每個功能使用預制內核。 Xilinx,Altera和其他公司提供可參數化的內核,這些內核可以執行您指定的大多數功能。 內核的參數可能包括輸入大小和指定操作所用的周期數等。 這些內核中的每個內核所使用的資源會因配置以及內核所針對的供應商和相應的FPGA系列(例如Altera Cyclone 5或Xilinx Artix 7)而異。 內核所具有的延遲也將成為您決定的一個因素,高速FPGA系列可以以更快的時鍾速率運行,從而減少了運行時間。 進行實際估算的方法是安裝供應商工具(例如Xilinx的Vivado或Altera的Quartus),然后使用這些工具生成所需的每種核心類型。 您需要在要評估的系列中選擇一個精確的FPGA部件。 選擇一個具有許多引腳的引腳,以避免FPGA的I / O耗盡。 然后針對要評估的每個核心綜合並實施設計。 最簡單的設計將只有您要評估的核心,並將其輸入和輸出映射到FPGA I / O引腳。 實施結果將為您提供設計所需的資源數量,以及設計可以運行的最大時鍾頻率。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM