国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

FPGA實戰(zhàn)演練邏輯篇45:減少關鍵路徑的邏輯等級

發(fā)布時間:2015-7-2 21:58    發(fā)布者:rousong1989
減少關鍵路徑的邏輯等級
本文節(jié)選自特權(quán)同學的圖書《FPGA設計實戰(zhàn)演練(邏輯篇)》
配套例程下載鏈接:http://pan.baidu.com/s/1pJ5bCtt
         下面要列舉的代碼示例是一些能夠起到系統(tǒng)性能提升的代碼風格。在邏輯電路的設計過程中,同樣的功能,可以由多種不同的邏輯電路來可以實現(xiàn),那么就存在這些電路中孰優(yōu)孰劣的討論。因此,帶著這樣的疑問,我們也一同來探討一下幾種常見的能夠提升系統(tǒng)性能的編碼技巧。請注意,本知識點所涉及的代碼更多的是希望能夠授人以“漁”而非授人以“魚”,大家重點掌握前后不同代碼所實現(xiàn)出來的邏輯結(jié)構(gòu),在不用的應用場合下,可能會有不同的邏輯結(jié)構(gòu)需求,那么大家就要學會靈活應變并寫出適合需求的代碼。(特權(quán)同學,版權(quán)所有)
① 減少關鍵路徑的邏輯等級
         在時序設計過程中遇到一些無法收斂(即時序達不到要求)的情況,很多時候只是某一兩條關鍵路徑(這些路徑在器件內(nèi)部的走線或邏輯門延時太長)太糟糕。因此,設計者往往只要通過優(yōu)化這些關鍵路徑就可以改善時序性能。而這些關鍵路徑所經(jīng)過的邏輯門過多往往是設計者在代碼編寫時誤導綜合工具所導致的,那么,舉一個簡單的例子,看看兩段不同的代碼,關鍵路徑是如何明顯得到改善的。(特權(quán)同學,版權(quán)所有)
這個一個簡單的例子要實現(xiàn)如下的邏輯運算:
y = ((~a & b& c) | ~d) & ~e;
他們的運算真值表如表5.2所示。(特權(quán)同學,版權(quán)所有)
表5.2 運算真值表
  
輸入
  
輸出
a
b
c
d
e
y
x
x
x
x
1
0
x
x
X
0
0
1
1
x
x
1
0
0
x
0
x
1
0
0
x
x
0
1
0
0
0
1
1
1
0
1
注:x表示可以任意取0或1。(特權(quán)同學,版權(quán)所有)
         按照常規(guī)的思路,我們可能會寫出如下的代碼:
// Verilog例程
module example(a, b, c, d, e, y);
input a,b,c,d,e;
output y;
wire m,n;
assign m = ~a & b & c;
assign n = m | ~d;
assign y = n & ~e;
endmodule
         使用Quartus II自帶的綜合工具,我們可以看到它的RTL視圖如圖5.10所示,和我們的代碼相吻合。(特權(quán)同學,版權(quán)所有)
圖5.10 未優(yōu)化前綜合結(jié)果
         而現(xiàn)在假定輸入a到輸出y的路徑是關鍵路徑,影響了整個邏輯的時序性能。那么,下面我們就要想辦法從這條路徑著手做一些優(yōu)化的工作。很簡單,我們的目標是減少輸入a到輸出y之間的邏輯等級,目前是3級,我們可以想辦法減少到2級甚至1級。(特權(quán)同學,版權(quán)所有)
         我們來分析公式“y = ((~a & b & c) | ~d)& ~e;”,把~a從最里面的括號往外提取一級就等于減少了一級邏輯。我們簡單的分析,當a=0時,y = ((b & c) | ~d) & ~e;當a=1時,y = ~d & ~e。由此我們不難得到“y = ((~a | ~d) & ((b &c) | ~d)) & ~e;”與前式是等價的。我們可以修改前面的代碼如下:
// Verilog例程
module example(a, b, c, d, e, y);
input a,b,c,d,e;
output y;
wire m,n;
assign m = ~a | ~d;
assign n = (b & c) | ~d;
assign y = m & n & ~e;
endmodule
         經(jīng)過修改后的代碼綜合結(jié)果如圖5.11所示,雖然b和c到y(tǒng)的邏輯等級還是3,但是關鍵路徑a到y(tǒng)的邏輯等級已經(jīng)優(yōu)化到了2級。與前面不同的是,優(yōu)化后的d信號多了一級的負載,也多了一個邏輯門,這其實也是一種“面積換速度”思想的體現(xiàn)。正可謂“魚和熊掌不可兼得”,在邏輯設計中我們往往需要在“魚和熊掌”間做抉擇。(特權(quán)同學,版權(quán)所有)
圖5.11 優(yōu)化后綜合結(jié)果
         上面的這個實例,只是一個也許未必非常恰當?shù)摹棒~”的例子。在前面的章節(jié)里已經(jīng)介紹過,在實際工程應用中,類似的邏輯關系可能在映射到最終器件結(jié)構(gòu)時并非以邏輯門的方式來表現(xiàn),通常是四輸入查找表來實現(xiàn),那么它的優(yōu)化可能和單純簡單邏輯等級的優(yōu)化又有些不同,不過希望大家能在這個小例子中學到“漁”的技巧。(特權(quán)同學,版權(quán)所有)

本文地址:http://m.4huy16.com/thread-151104-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • Microchip第22屆中國技術(shù)精英年會上海首站開幕
  • 電動兩輪車設計生態(tài)系統(tǒng)
  • 常見深度學習模型介紹及應用培訓教程
  • Microchip第22屆中國技術(shù)精英年會——采訪篇
  • 貿(mào)澤電子(Mouser)專區(qū)
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表