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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

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


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

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

? ??? @ FPGA的片內(nèi)存儲(chǔ)器??? ok

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

? ? ? @ 有些人說(shuō)的“你的RAM存儲(chǔ)器空間不夠了,裝不下你的程序了”到底是個(gè)怎么回事?這個(gè)程序是DHL編譯出來(lái)的程序還是在NIOS處理器中運(yùn)行的程序。??? ok

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

???? 而DHL編譯出來(lái)的程序是下載到配置芯片中的,上電時(shí)再傳入FPGA芯片中,配置FPGA網(wǎng)絡(luò)。

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

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

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

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

???????? 可詳見(jiàn)”config_handbook.pdf“文檔

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

A: 下面搜集了一些關(guān)于乘法器的一些 只言片語(yǔ) 的集錦,綜合集結(jié)起來(lái)看,可以很好得回答上面的問(wèn)題:


如果FPGA有內(nèi)嵌乘法器,可以用乘號(hào);否則就要設(shè)計(jì)乘法器或使用IP core。

1.加法、減法現(xiàn)在可以綜合,乘法、除法現(xiàn)在還不能綜合,只能仿真。
2.無(wú)論是加法、減法電路,都是有很多種電路結(jié)構(gòu)的,光加法器就不
下5、6種這些電路結(jié)構(gòu)有不同的特征,比如速度快或者面積小。而且
有時(shí)候還需要多時(shí)鐘周期的運(yùn)算單元。
所以,有時(shí)候是要自己來(lái)設(shè)計(jì)運(yùn)算單元的。
補(bǔ)充一點(diǎn),現(xiàn)在乘法器和除法器在dc中是可以綜合的,但這是調(diào)用DC中的DW中的現(xiàn)有IP來(lái)實(shí)現(xiàn)的.
如果你的要求比較特殊當(dāng)然需要自己寫(xiě)了,但一般情況下這個(gè)IP還是可以的!

一 般 來(lái) 說(shuō) 現(xiàn) 在 的 綜 合 器 都 能 對(duì) 加 減 乘 除 進(jìn)行 綜合。
比如D C,一般如果你本人對(duì)乘法器沒(méi)有相當(dāng)?shù)牧私?#xff0c;
或沒(méi)有獨(dú)特的算法來(lái)實(shí)現(xiàn),那么建議直接調(diào)用,就是直接寫(xiě) A * B
因?yàn)楦鶕?jù)你綜合時(shí)約束條件的不同,綜合器能調(diào)用你所想要的乘法器了。

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

SE自帶的IP核調(diào)乘法器還比較好用,但除法器根據(jù)數(shù)據(jù)的位寬不同,輸出有較大的延時(shí)。

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

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

乘法器規(guī)模比加法器大很多。不過(guò)要是乘數(shù)就幾個(gè)bit的話,直接寫(xiě)個(gè)*也沒(méi)有大問(wèn)題

如果FPGA有內(nèi)嵌乘法器,可以用乘號(hào);否則就要設(shè)計(jì)乘法器或使用IP core。

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

直接寫(xiě)的*綜合器會(huì)把它綜合為自帶的乘法器,占用了乘法器資源,自己寫(xiě)乘法器省資源。特別是對(duì)簡(jiǎn)單的幾bit乘法的情況,沒(méi)必要再消耗一個(gè)乘法器。當(dāng)然,不是什么綜合器都能認(rèn)*的,lz最好在代碼內(nèi)不要寫(xiě)*。

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

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

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

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

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

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

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

(可參考: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型號(hào)的,又有EP2C5T144C8型號(hào)的?兩者有什么區(qū)別?ok

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

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

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


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

?????? @? 器件型號(hào)最后的C8、C7、C6代表speed grades,但這個(gè)speed是個(gè)什么速度,grades等級(jí)又是怎么分得???? ok

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

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

??????????? 網(wǎng)上一搜FPGA speed grade,果然也有其他人對(duì)這個(gè)概念有疑惑,在網(wǎng)上收集了兩篇文章:

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

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

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

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

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

???????????????? NiosII 所消耗的邏輯單元數(shù)Les


??

各型號(hào)核心板FPGA資源統(tǒng)計(jì)表








型號(hào)

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








內(nèi)嵌乘法器

無(wú)

無(wú)

13

18

26








PLLs

2

2

2

2

4








IO

185

173

143

139

142










?

?????

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。