欧美日韩亚州综合,国产一区二区三区影视,欧美三级三级三级爽爽爽,久久中文字幕av一区二区不卡

你的位置:首頁 > 測試測量 > 正文

博客分享:詳解FPGA四大設(shè)計(jì)要點(diǎn)

發(fā)布時(shí)間:2015-01-06 責(zé)任編輯:sherryyu

【導(dǎo)讀】FPGA的用處比我們平時(shí)想象的用處更廣泛,原因在于其中集成的模塊種類更多,而不僅僅是原來的簡單邏輯單元本文敘述概括了FPGA應(yīng)用設(shè)計(jì)中的要點(diǎn),包括,時(shí)鐘樹、FSM、latch、邏輯仿真四個(gè)部分。
 
FPGA的用處比我們平時(shí)想象的用處更廣泛,原因在于其中集成的模塊種類更多,而不僅僅是原來的簡單邏輯單元(LE)。
 
早期的FPGA相對比較簡單,所有的功能單元僅僅由管腳、內(nèi)部buffer、LE、RAM構(gòu)建而成,LE由LUT(查找表)和D觸發(fā)器構(gòu)成,RAM也往往容量非常小。
 
現(xiàn)在的FPGA不僅包含以前的LE,RAM也更大更快更靈活,管教IOB也更加的復(fù)雜,支持的IO類型也更多,而且內(nèi)部還集成了一些特殊功能單元,包括:
 
DSP:實(shí)際上就是乘加器,F(xiàn)PGA內(nèi)部可以集成多個(gè)乘加器,而一般的DSP芯片往往每個(gè)core只有一個(gè)。換言之,F(xiàn)PGA可以更容易實(shí)現(xiàn)多個(gè)DSP core功能。在某些需要大量乘加計(jì)算的場合,往往多個(gè)乘加器并行工作的速度可以遠(yuǎn)遠(yuǎn)超過一個(gè)高速乘加器。
 
SERDES:高速串行接口。將來PCI-E、XAUI、HT、S-ATA等高速串行接口會(huì)越來越多。有了SERDES模塊,F(xiàn)PGA可以很容易將這些高速串行接口集成進(jìn)來,無需再購買專門的接口芯片。
 
CPU core:分為2種,軟core和硬core。軟core是用邏輯代碼寫的CPU模塊,可以在任何資源足夠的FPGA中實(shí)現(xiàn),使用非常靈活。而且在大容量的FPGA中還可以集成多個(gè)軟core,實(shí)現(xiàn)多核并行處理。硬core是在特定的FPGA內(nèi)部做好的CPU core,優(yōu)點(diǎn)是速度快、性能好,缺點(diǎn)是不夠靈活。
 
不過,F(xiàn)PGA還是有缺點(diǎn)。對于某些高主頻的應(yīng)用,F(xiàn)PGA就無能為力了。現(xiàn)在雖然理論上FPGA可以支持的500MHz,但在實(shí)際設(shè)計(jì)中,往往200MHz以上工作頻率就很難實(shí)現(xiàn)了。
 
FPGA設(shè)計(jì)要點(diǎn)之一:時(shí)鐘樹
 
對于FPGA來說,要盡可能避免異步設(shè)計(jì),盡可能采用同步設(shè)計(jì)。
 
同步設(shè)計(jì)的第一個(gè)關(guān)鍵,也是關(guān)鍵中的關(guān)鍵,就是時(shí)鐘樹。
 
一個(gè)糟糕的時(shí)鐘樹,對FPGA設(shè)計(jì)來說,是一場無法彌補(bǔ)的災(zāi)難,是一個(gè)沒有打好地基的大樓,崩潰是必然的。
 
具體一些的設(shè)計(jì)細(xì)則:
 
1)盡可能采用單一時(shí)鐘;
 
2)如果有多個(gè)時(shí)鐘域,一定要仔細(xì)劃分,千萬小心;
 
3)跨時(shí)鐘域的信號一定要做同步處理。對于控制信號,可以采用雙采樣;對于數(shù)據(jù)信號,可以采用異步fifo。需要注意的是,異步fifo不是萬能的,一個(gè)異步fifo也只能解決一定范圍內(nèi)的頻差問題。
 
4)盡可能將FPGA內(nèi)部的PLL、DLL利用起來,這會(huì)給你的設(shè)計(jì)帶來大量的好處。
 
5)對于特殊的IO接口,需要仔細(xì)計(jì)算Tsu、Tco、Th,并利用PLL、DLL、DDIO、管腳可設(shè)置的delay等多種工具來實(shí)現(xiàn)。簡單對管腳進(jìn)行Tsu、Tco、Th的約束往往是不行的。
 
可能說的不是很確切。這里的時(shí)鐘樹實(shí)際上泛指時(shí)鐘方案,主要是時(shí)鐘域和PLL等的規(guī)劃,一般情況下不牽扯到走線時(shí)延的詳細(xì)計(jì)算(一般都走全局時(shí)鐘網(wǎng)絡(luò)和局部時(shí)鐘網(wǎng)絡(luò),時(shí)延固定),和ASIC中的時(shí)鐘樹不一樣。對于ASIC,就必須對時(shí)鐘網(wǎng)絡(luò)的設(shè)計(jì)、布線、時(shí)延計(jì)算進(jìn)行仔細(xì)的分析計(jì)算才行。
[page]

FPGA設(shè)計(jì)要點(diǎn)之二:FSM
 
FSM:有限狀態(tài)機(jī)。這個(gè)可以說時(shí)邏輯設(shè)計(jì)的基礎(chǔ)。幾乎稍微大一點(diǎn)的邏輯設(shè)計(jì),幾乎都能看得到FSM。
 
FSM分為moore型和merly型,moore型的狀態(tài)遷移和變量無關(guān),merly型則有關(guān)。實(shí)際使用中大部分都采用merly型。
 
FSM通常有2種寫法:單進(jìn)程、雙進(jìn)程。
 
初學(xué)者往往喜歡單進(jìn)程寫法,格式如下:
 
always @( posedge clk or posedge rst )
 
begin
 
if ( rst == 1''b1 )
 
FSM_status <= ......;
 
else
 
case ( FSM_status )
 
......;
 
endcase
 
end
 
簡單的說,單進(jìn)程FSM就是把所有的同步、異步處理都放入一個(gè)always中。
 
優(yōu)點(diǎn):
 
1)看起來比較簡單明了,寫起來也不用在每個(gè)case分支或者if分支中寫全對各個(gè)信號和狀態(tài)信號的處理。也可以簡單在其中加入一些計(jì)數(shù)器進(jìn)行計(jì)數(shù)處理。
 
2)所有的輸出信號都已經(jīng)是經(jīng)過D觸發(fā)器鎖存了。
 
缺點(diǎn):
 
1)優(yōu)化效果不佳。由于同步、異步放在一起,編譯器一般對異步邏輯的優(yōu)化效果最好。單進(jìn)程FSM把同步、異步混雜在一起的結(jié)果就是導(dǎo)致編譯器優(yōu)化效果差,往往導(dǎo)致邏輯速度慢、資源消耗多。
 
2)某些時(shí)候需要更快的信號輸出,不必經(jīng)過D觸發(fā)器鎖存,這時(shí)單進(jìn)程FSM的處理就比較麻煩了。
 
雙進(jìn)程FSM,格式如下:
 
always @( posedge clk or posedge rst )
 
begin
 
if ( rst == 1''b1 )
 
FSM_status_current <= ...;
 
else
 
FSM_status_current <= FSM_status_next;
 
always @(*)
 
begin
 
case ( FSM_status_current )
 
FSM_status_next = ......;
 
endcase
 
end
 
從上面可以看到,同步處理和異步處理分別放到2個(gè)always中。其中FSM狀態(tài)變量也采用2個(gè)來進(jìn)行控制。雙進(jìn)程FSM的原理我這里就不多說了,在很多邏輯設(shè)計(jì)書中都有介紹。這里描述起來太費(fèi)勁。
 
優(yōu)點(diǎn):
 
1)編譯器優(yōu)化效果明顯,可以得到很理想的速度和資源占用率。
 
2)所有的輸出信號(除了FSM_status_current)都是組合輸出的,比單進(jìn)程FSM快。
 
缺點(diǎn):
 
1)所有的輸出信號(除了FSM_status_current)都是組合輸出的,在某些場合需要額外寫代碼來進(jìn)行鎖存。
 
2)在異步處理的always中,所有的if、case分支必須把所有的輸出信號都賦值,而且不能出現(xiàn)在FSM中的輸出信號回送賦值給本FSM中的其他信號的情況,否則會(huì)出現(xiàn) latch。
 
latch會(huì)導(dǎo)致如下問題:
 
1)功能仿真結(jié)果和后仿不符;
 
2)出現(xiàn)無法測試的邏輯;
 
3)邏輯工作不穩(wěn)定,特別是latch部分對毛刺異常敏感;
 
4)某些及其特殊的情況下,如果出現(xiàn)正反饋,可能會(huì)導(dǎo)致災(zāi)難性的后果。
 
這不是恐嚇也不是開玩笑,我就親眼見過一個(gè)小伙把他做的邏輯加載上去后,整個(gè)FPGA給炸飛了。后來懷疑可能是出現(xiàn)正反饋導(dǎo)致高頻振蕩,最后導(dǎo)致芯片過熱炸掉(這個(gè)FPGA芯片沒有安裝散熱片)。
[page]

FPGA設(shè)計(jì)要點(diǎn)之三:latch
 
首先回答一下:
 
1)stateCAD沒有用過,不過我感覺用這個(gè)東東在構(gòu)建大的系統(tǒng)的時(shí)候似乎不是很方便。也許用system C或者system Verilog更好一些。
 
2)同步、異步的叫法是我所在公司的習(xí)慣叫法,不太對,不過已經(jīng)習(xí)慣了,呵呵。
 
這次講一下latch。
 
latch的危害已經(jīng)說過了,這里不再多說,關(guān)鍵講一下如何避免。
 
1)在組合邏輯進(jìn)程中,if語句一定要有else!并且所有的信號都要在if的所有分支中被賦值。
 
always @( * ) begin
 
if ( sig_a == 1''b1 ) sig_b = sig_c;
 
end
 
這個(gè)是絕對會(huì)產(chǎn)生latch的。
 
正確的應(yīng)該是
 
always @( * ) begin
 
if ( sig_a == 1''b1 ) sig_b = sig_c;
 
else sig_b = sig_d;
 
end
 
另外需要注意,下面也會(huì)產(chǎn)生latch。也就是說在組合邏輯進(jìn)程中不能出現(xiàn)自己賦值給自己或者間接出現(xiàn)自己賦值給自己的情況。
 
always @( * ) begin
 
if ( rst == 1''b1 ) counter = 32''h00000000;
 
else counter = counter + 1;
 
end
 
但如果是時(shí)序邏輯進(jìn)程,則不存在該問題。
 
2)case語句的default一定不能少!
 
原因和if語句相同,這里不再多說了。
 
需要提醒的是,在時(shí)序邏輯進(jìn)程中,default語句也一定要加上,這是一個(gè)很好的習(xí)慣。
 
3)組合邏輯進(jìn)程敏感變量不能少也不能多。
 
這個(gè)問題倒不是太大,verilog2001語法中可以直接用 * 搞定了。
 
順便提一句,latch有弊就一定有利。在FPGA的LE中,總存在一個(gè)latch和一個(gè)D觸發(fā)器,在支持DDR的IOE(IOB)中也存在著一個(gè)latch來實(shí)現(xiàn)DDIO。不過在我們平時(shí)的設(shè)計(jì)中,對latch還是要盡可能的敬而遠(yuǎn)之。
 
FPGA設(shè)計(jì)要點(diǎn)之四:邏輯仿真
 
仿真是FPGA設(shè)計(jì)中必不可少的一步。沒有仿真,就沒有一切。
 
仿真是一個(gè)單調(diào)而繁瑣的工作,很容易讓人產(chǎn)生放棄或者偷工減料的念頭。這時(shí)一定要挺住!
 
仿真分為單元仿真、集成仿真、系統(tǒng)仿真。
 
單元仿真:針對每一個(gè)最小基本模塊的仿真。單元仿真要求代碼行覆蓋率、條件分支覆蓋率、表達(dá)式覆蓋率必須達(dá)到100%!這三種覆蓋率都可以通過MODELSIM來查看,不過需要在編譯該模塊時(shí)要在Compile option中設(shè)置好。
 
集成仿真:將多個(gè)大模塊合在一起進(jìn)行仿真。覆蓋率要求盡量高。
 
系統(tǒng)仿真:將整個(gè)硬件系統(tǒng)合在一起進(jìn)行仿真。此時(shí)整個(gè)仿真平臺包含了邏輯周邊芯片接口的仿真模型,以及BFM、Testbench等。系統(tǒng)仿真需要根據(jù)被仿真邏輯的功能、性能需求仔細(xì)設(shè)計(jì)仿真測試?yán)头抡鏈y試平臺。系統(tǒng)仿真是邏輯設(shè)計(jì)的一個(gè)大分支,是一門需要專門學(xué)習(xí)的學(xué)科。
要采購觸發(fā)器么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉

欧美日韩亚州综合,国产一区二区三区影视,欧美三级三级三级爽爽爽,久久中文字幕av一区二区不卡
韩国三级在线一区| 国产日韩亚洲欧美综合| 日韩理论电影院| 99久久精品一区| 一区二区三区四区精品在线视频| 欧美在线视频你懂得| 污片在线观看一区二区| 欧美肥胖老妇做爰| 国内精品在线播放| 国产欧美一区二区在线观看| av综合在线播放| 亚洲一卡二卡三卡四卡| 欧美一级二级三级蜜桃| 国产乱子伦一区二区三区国色天香| 国产亚洲污的网站| 91老司机福利 在线| 日韩在线一区二区三区| 久久久久久免费网| 91成人在线精品| 老司机精品视频在线| 日本一区二区动态图| 91国偷自产一区二区三区成为亚洲经典 | 91香蕉视频mp4| 亚洲妇熟xx妇色黄| 国产午夜精品福利| 91成人在线精品| 国产福利精品一区二区| 夜色激情一区二区| 2020国产成人综合网| 91麻豆国产福利在线观看| 美国十次综合导航| 亚洲青青青在线视频| 91精品国产色综合久久不卡蜜臀| 成人伦理片在线| 免费观看30秒视频久久| 亚洲男人的天堂在线观看| 精品少妇一区二区| 色婷婷久久久久swag精品| 精品在线播放午夜| 一区二区三区在线视频播放| 久久网站热最新地址| 91国偷自产一区二区三区成为亚洲经典| 麻豆精品在线视频| 亚洲综合激情另类小说区| 久久精品水蜜桃av综合天堂| 欧美日韩夫妻久久| 91丨porny丨蝌蚪视频| 国产麻豆精品久久一二三| 亚洲大片精品永久免费| 国产农村妇女毛片精品久久麻豆 | 国产精品麻豆网站| 精品国产乱码久久久久久免费| 欧美三电影在线| 99精品视频免费在线观看| 国产河南妇女毛片精品久久久| 天天综合天天做天天综合| 亚洲精品国产无天堂网2021 | 国产激情一区二区三区| 日本在线不卡视频| 亚洲午夜久久久久久久久电影院 | 国产伦精品一区二区三区视频青涩| 亚洲成av人片一区二区| 亚洲精品免费在线播放| 综合久久给合久久狠狠狠97色| 中文字幕免费在线观看视频一区| 久久久青草青青国产亚洲免观| 欧美一区二区三区视频在线| 在线播放中文字幕一区| 欧美另类z0zxhd电影| 欧美体内she精高潮| 一本大道av伊人久久综合| 99国产精品久久久久久久久久| 国产成人一区在线| 成人一区在线看| 成人激情午夜影院| 成人性生交大合| 成人国产视频在线观看| 国产成人超碰人人澡人人澡| 国产精品乡下勾搭老头1| 国产一区二区三区高清播放| 国产麻豆成人传媒免费观看| 国产一区二区三区四| 国产成人免费xxxxxxxx| 成人免费视频播放| 91麻豆精品一区二区三区| 91福利在线免费观看| 欧美午夜不卡视频| 欧美一区二区三区免费大片| 欧美tk丨vk视频| 国产欧美1区2区3区| 自拍偷拍亚洲综合| 亚洲一二三区在线观看| 天天操天天干天天综合网| 麻豆成人免费电影| 国产高清无密码一区二区三区| 成人听书哪个软件好| 91视频免费观看| 欧美日韩高清在线播放| 欧美第一区第二区| 国产精品色在线观看| 亚洲欧美日韩一区| 五月天亚洲婷婷| 精品在线播放午夜| av成人老司机| 欧美一级免费大片| 欧美韩国日本综合| 一区二区在线免费| 欧美96一区二区免费视频| 国产一区在线不卡| 日本高清不卡视频| 久久综合五月天婷婷伊人| 国产精品久久久一本精品| 天堂av在线一区| 成人小视频在线观看| 欧美久久久久久久久中文字幕| 26uuu亚洲综合色欧美| 亚洲同性同志一二三专区| 久久精品噜噜噜成人88aⅴ| 91免费看片在线观看| 欧美zozo另类异族| 一区二区三区精品视频在线| 激情综合色播激情啊| 在线免费亚洲电影| 国产香蕉久久精品综合网| 一区二区三区成人| 国模一区二区三区白浆| 欧美色图在线观看| 国产精品丝袜91| 久久超碰97人人做人人爱| 色综合久久综合网97色综合| 2024国产精品| 日韩一区精品字幕| 色综合久久中文综合久久97| 国产亚洲一区二区在线观看| 天涯成人国产亚洲精品一区av| 99久久婷婷国产| 国产日韩成人精品| 国内精品免费在线观看| 欧美日韩免费在线视频| 亚洲男人的天堂在线aⅴ视频| 国产精品一区二区在线观看不卡| 91精品一区二区三区久久久久久 | 国产精品乱码一区二三区小蝌蚪| 捆绑调教美女网站视频一区| 欧洲一区二区三区在线| 日韩理论片在线| 成人小视频免费在线观看| 日韩精品专区在线影院重磅| 亚洲一区二区成人在线观看| 成人av在线网| 欧美激情在线一区二区三区| 国产乱码精品一区二区三| 日韩精品一区二区三区在线播放| 亚洲成人7777| 欧美日韩日日骚| 亚洲成人精品影院| 欧美日韩在线播放一区| 亚洲一区二区偷拍精品| 欧美在线一区二区| 香蕉加勒比综合久久| 91国产丝袜在线播放| 亚洲综合偷拍欧美一区色| 91久久国产最好的精华液| 一区二区日韩电影| 欧美三区在线观看| 首页国产欧美久久| 日韩美女视频在线| 国产精品自在在线| 国产欧美一区视频| 成人性色生活片免费看爆迷你毛片| 国产精品理论片| 日本乱人伦aⅴ精品| 亚洲午夜久久久久久久久久久 | 国产精品国产三级国产aⅴ原创| 国产成人精品网址| 亚洲人精品午夜| 欧美欧美欧美欧美首页| 久久精品国产一区二区| 久久先锋影音av| kk眼镜猥琐国模调教系列一区二区| 亚洲欧洲美洲综合色网| 91老师国产黑色丝袜在线| 午夜精品久久久久久久久久| 正在播放一区二区| 国产一区二区三区| 国产精品美女一区二区在线观看| 一本色道a无线码一区v| 视频一区在线视频| 国产三级三级三级精品8ⅰ区| 成人综合日日夜夜| 亚洲高清中文字幕| 久久色在线视频| av一区二区不卡| 天堂成人免费av电影一区| 久久亚洲精华国产精华液 | 国产一区在线视频| 亚洲人成人一区二区在线观看 | 欧美一区午夜视频在线观看| 国产精品亚洲一区二区三区妖精| 一区二区三区蜜桃|