日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

这一两天要做的事--关于Altera FPGA首先要搞清楚的几个问题 以及解答

發布時間:2023/12/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 这一两天要做的事--关于Altera FPGA首先要搞清楚的几个问题 以及解答 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


弄清楚以下的東東的意思 和 作用

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

? ??? @ FPGA的片內存儲器??? ok

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

? ? ? @ 有些人說的“你的RAM存儲器空間不夠了,裝不下你的程序了”到底是個怎么回事?這個程序是DHL編譯出來的程序還是在NIOS處理器中運行的程序。??? ok

??? A: 這一定是在Nios軟核處理器中運行的可執行程序了,它可放在外部flash中,由Nios處理器reset時從flash的地址boot調用(可參見 Nios II Software Developer's Handbook之? Boot Configurations 4-67? 或? Memory Usage->Boot Modes 6-46);也可由Jtag直接下載到片內RAM 或 片外SDRAM 中運行(可參考一下Nios II Processor Reference Handbook之 JTAG Debug Module->Download and Execute Software 2-18。至于JTAG嫩不能下程序到片外SDRAM 中運行?這個還不能確定,等日后 實作時再探明吧,關系不大。)。

???? 而DHL編譯出來的程序是下載到配置芯片中的,上電時再傳入FPGA芯片中,配置FPGA網絡。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????? @ DSP Builder?? ok? (具體詳細的應該還要以后用到了才深入了解)

?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????? @ 配置芯片? ok???

???????? 可詳見”config_handbook.pdf“文檔

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
?@Cyclone II 系列中? 帶有 “內嵌乘法器”,此作用為何,效果怎樣?? ok

A: 下面搜集了一些關于乘法器的一些 只言片語 的集錦,綜合集結起來看,可以很好得回答上面的問題:


如果FPGA有內嵌乘法器,可以用乘號;否則就要設計乘法器或使用IP core。

1.加法、減法現在可以綜合,乘法、除法現在還不能綜合,只能仿真。
2.無論是加法、減法電路,都是有很多種電路結構的,光加法器就不
下5、6種這些電路結構有不同的特征,比如速度快或者面積小。而且
有時候還需要多時鐘周期的運算單元。
所以,有時候是要自己來設計運算單元的。
補充一點,現在乘法器和除法器在dc中是可以綜合的,但這是調用DC中的DW中的現有IP來實現的.
如果你的要求比較特殊當然需要自己寫了,但一般情況下這個IP還是可以的!

一 般 來 說 現 在 的 綜 合 器 都 能 對 加 減 乘 除 進行 綜合。
比如D C,一般如果你本人對乘法器沒有相當的了解,
或沒有獨特的算法來實現,那么建議直接調用,就是直接寫 A * B
因為根據你綜合時約束條件的不同,綜合器能調用你所想要的乘法器了。

synopsys 公司的 Design Compiler工具 簡稱DC。是集成編譯綜合的一種工具。
另外Quartus里面也有乘法除法的IP,充分利用即可。
一般不是特別要求,現在的FPGA中的設計遇到的乘除法運算都不自己寫了。

SE自帶的IP核調乘法器還比較好用,但除法器根據數據的位寬不同,輸出有較大的延時。

其實直接調用 AMBIT WARE或者DESIGN WARE里面的乘法器, 再配合合成的的時候下不同的constraint,基本上可以滿足一般的設計要求...如果不是非常特殊的運用,這種運用特殊到DC/AC,不能幫你綜合你令你滿意的電路,那可能要自己動手寫了...不過,除非有很新穎的算法,否則,可能自己寫的也不會令你滿意....,Anyway, AMBIT/ DESIGN WARE值得一用..

個人觀點:自己做alu(運算器)的好處就是可以自己控制面積與時序的折中,對于需要時間緊湊而面積可以忽略的可以考慮設計成純組合邏輯的,對面積要求嚴格而對時序要求不是很高的話可以考慮純時序邏輯的RTL設計。當然一般情況是采用2種方法的折中。當然也可以有很多牛B的算法。

乘法器規模比加法器大很多。不過要是乘數就幾個bit的話,直接寫個*也沒有大問題

如果FPGA有內嵌乘法器,可以用乘號;否則就要設計乘法器或使用IP core。

首先乘法器 有很多種實現方法 比如 carry-save-arrays, wallace trees . booth-wallace-trees ......
每個都有自己對應的優點(area , speed, power) 就看你需要什么了? 。??
如果能滿足你的要求的話。 你可以直接 用*? . 一般的 fpga 已經有了 專用的乘法器 你可以 直接用的 。
但是你也可以設計自己的乘法。

直接寫的*綜合器會把它綜合為自帶的乘法器,占用了乘法器資源,自己寫乘法器省資源。特別是對簡單的幾bit乘法的情況,沒必要再消耗一個乘法器。當然,不是什么綜合器都能認*的,lz最好在代碼內不要寫*。

呵呵。。FPGA里的乘法器,和鎖相環一樣,是珍惜資源。不容浪費的。(dl注:鎖相環即PLL,詳細的參考日志里另一篇文章)

咳咳,如果是定系數乘法,移位加比較省
如果是兩個變量乘就直接*好了,具體實現的時候在選擇不同的方式

總之是要根據你的芯片取速度與面積平衡的問題,關于使用“*”? 移位加? 或者 對移位加進行改造? 比如使用csd數
這些你在設計中慢慢體會,看看關于這方面資料才會有比較全面的了解。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

@怎么能夠把FPGA芯片中自帶的乘法器使用起來呢?? ok

A:分兩個步驟:
一、首先,把芯片自帶的乘法器 例化,例化的方法,沒具體操作不是很明了,到時實作一下就行了。
????? 網上有兩種說法如下,參考一下:
1、Tools—MegaWizard Plug-in Manager—選擇“Create a new custom megafunction variation”—選擇 “Installed Plug-Ins”—選擇

“LPM_MULT ”這就是你需要的IP核啦? 進去以后可以根據你的需要進行設置 。。。
2、在MegaWizard Plug-in Manager->Arithmetic中LPM_MULT是乘法器IP,可以選擇自帶的乘法器或者用邏輯單元生成乘法器。
? (dl注:上面提到的LPM即 library of parameterized modules (LPM) )

二、自帶的乘法器 例化好了,在HDL語言中,直接用“乘號”(*)就可以使用了。

(可參考:Cyclone II Device Handbook 之 Section V. DSP -> 12. Embedded Multipliers in Cyclone II Devices

????????? 和?? quartusii_handbook 之 Volume 1: Design and Synthesis -> 6. Recommended HDL Coding Styles ->

??????????????? Inferring Multiplier and DSP Functions from HDL Code? 6-7

?這兩篇文檔)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

????? @ 為何 諸如 同為EP2C5系列 又有EP2C5Q208C8型號的,又有EP2C5T144C8型號的?兩者有什么區別?ok

????????? 好像同系列的 形如EP2C5T144C8型號的要比EP2C5Q208C8型號的要便宜,兩者在資源上有什么差異?ok

??? ??? A: 差別見圖可知(此圖在datasheet, section I->第6節->Figure 6–1):???

?????? ? ?? 同是EP2C5,出了封裝、管腳和可用I/O口上的差別,內部資源沒差別。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

?????? @? 器件型號最后的C8、C7、C6代表speed grades,但這個speed是個什么速度,grades等級又是怎么分得???? ok

??????????? 要在datasheet中 第5章 “DC Characteristics and Timing Specifications”中尋找答案。 ok

?????? A:? Cyclone II Device Handbook中 第5章 “DC Characteristics and Timing Specifications”看過了,其文中雖多次提到speed grades,但并沒有解釋speed grades的具體意義。

??????????? 網上一搜FPGA speed grade,果然也有其他人對這個概念有疑惑,在網上收集了兩篇文章:

??????????? ”Speed Grade——芯片的“速度等級”初探“?? 和

??????????? ”FPGA的速度等級(speed grade)“

?????????? 解釋了speed grade的意義,特別是”Speed Grade——芯片的“速度等級”初探“這一篇對speed grade的本質意義做了解釋探討。

?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~????

????? @像EP1C6Q240C8這種資源較少的FPGA能不能裝下Nios,裝下之后,剩下的資源做其他的邏輯電路應用夠不夠???? 差不多ok

???????????????? NiosII 所消耗的邏輯單元數Les


??

各型號核心板FPGA資源統計表








型號

EP1C6

EP1C12

EP2C5

EP2C8

EP2C20








Les

5,980

12,060

4,608

8,256

18,752








RAM bits

92,160

239,616

119,808

165,888

240,000








內嵌乘法器

13

18

26








PLLs

2

2

2

2

4








IO

185

173

143

139

142










?

?????

總結

以上是生活随笔為你收集整理的这一两天要做的事--关于Altera FPGA首先要搞清楚的几个问题 以及解答的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。