查找表(Look-Up-Table)
LUT就是查找表,對于4輸入的LUT而言,實際上就是4位地址位,一位數(shù)據(jù)位的存儲器,能夠存儲16位數(shù)據(jù),所以我們在FPGA設(shè)計中可以用LUT組建分布式的RAM。
LUT的一個重要功能是邏輯函數(shù)發(fā)生器。本質(zhì)上,邏輯函數(shù)發(fā)生器存儲的是真值表(Truth Table)的內(nèi)容,而真值表則是通過布爾表達式獲得。在vivado中,打開網(wǎng)表文件,選擇相應(yīng)的LUT,在property窗口中可以看到真值表。
如果用6輸入的LUT實現(xiàn)4輸入LUT的功能,那么就浪費了1-16/64=75%的資源,所以采用少輸入的LUT可以更好的節(jié)省面積和資源
因為當輸入數(shù)據(jù)的位數(shù)遠大于一個LUT的輸入時,就需要用多個LUT級聯(lián)來實現(xiàn)邏輯,那么級聯(lián)產(chǎn)生的延時也就不可避免了,這樣就會制約系統(tǒng)的運行頻率。那么為了避免級聯(lián)數(shù)過于多,就采用插入寄存器的方法來實現(xiàn)
通過LUT代替組合邏輯,而LUT中的值只和輸入有關(guān),因此組合邏輯的功能由輸入決定,不在和復雜度有關(guān);
CLB可配置邏輯快
CLB是xilinx基本邏輯單元,每個CLB包含兩個slices,每個slices由4個(A,B,C,D)6輸入LUT和8個寄存器組成(中間應(yīng)該還有一些選擇器、與非門、或非門之類的東西)。
”logic cells” 是 Xilinx 創(chuàng)造出來的一個市場用的刻度,可以用來衡量不同內(nèi)部結(jié)構(gòu)甚至不同廠商的資源情況。
LC邏輯單元
“l(fā)ogic cells”代表的是一個沒有其他任何功能的4輸入LUT,在老一些的Xilinx的FPGA中,他們使用LUT的數(shù)目乘以1.2來計算LC的數(shù)目,因為一個LUT中還有一個進位鏈和MUX。
在較新的FPGA中,Xilinx采用了6輸入LUT,這時他們采用系數(shù)1.6。
FDR : D Flip-Flop with Synchronous Rsest
同步清除D觸發(fā)器。FDR 擁有一個時鐘輸入接口,一個D觸發(fā)器數(shù)據(jù)接口,一個同步復位接口和一個觸發(fā)器輸出接口,當同步復位接口為高電平時,時鐘的上升沿觸發(fā)寄存器復位(置0);當同步時鐘接口為低電平時,時鐘的上升沿觸發(fā)寄存器裝載數(shù)據(jù)接口的數(shù)據(jù)。
FDRE:D Flip-Flop with Clock Enable and Synchronous Reset 帶使能功能的同步清除D觸發(fā)器,相比與FDR多了一個使能接口,當同步復位接口為高電平時覆蓋所有其他輸出,時鐘的上升沿觸發(fā)寄存器復位(置0);當同步時鐘接口為低電平且使能接口為高電平時,時鐘的上升沿觸發(fā)寄存器裝載數(shù)據(jù)接口的數(shù)據(jù)。
FDC :: D Flip-Flop with Asynchronous Clear 帶異步清除D觸發(fā)器 ,與 FDR的區(qū)別是。當CLR置為高電平時,不需要等到下一個時鐘的上升沿就可以復位寄存器。
FDCE:D Flip-Flop with Clock Enable and AsynchronousReset 帶使能功能的異步清除D觸發(fā)器,相比與FDRE將同步復位變化成異步復位,當同步復位接口為高電平時,直接觸發(fā)寄存器復位(置0);當同步時鐘接口為低電平且使能接口為高電平時,時鐘的上升沿觸發(fā)寄存器裝載數(shù)據(jù)接口的數(shù)據(jù)。
FDS:D Flip-Flop with Synchronous Set 帶同步置位的D觸發(fā)器 當置為端為低電平時,在時鐘的上升沿觸發(fā)數(shù)據(jù)保存在觸發(fā)器中,當置位端為低電平時,在一個時鐘的上升沿觸發(fā)導致觸發(fā)器清0
FDSE:D Flip-Flop with Clock Enable and Synchronous Set 帶時鐘使能和同步置位的D觸發(fā)器。當置位端為高電平是覆蓋所有輸出,一個時鐘的上升沿觸發(fā)導致寄存器置位,當置位端為低電平和時鐘使能位為高電平時,在一個時鐘的上升沿觸發(fā)導致寄存器裝載數(shù)據(jù)口的數(shù)據(jù)。
FDP:D Flip-Flop with Asynchronous Preset 帶有異步預置的D觸發(fā)器 相比FDS不需要等到時鐘的上升沿,即刻可進行置位。
FDPE:D Flip-Flop with Clock Enable and Asynchronous Preset 帶有時鐘使能和異步置位的D觸發(fā)器 相比于FDSE不需要等到時鐘的上升沿,即刻可進行置位。
使用always塊綜合實現(xiàn)各種觸發(fā)器
module exp(
input clk,
input rst,
input A,
input B,
output reg Q,
output reg Q1,
output reg Q2,
output reg Q3
);
//or posedge rst
always @(posedge clk or posedge rst) begin //異步復位 綜合出FDCE
if(rst)
Q<=0;
else begin
Q<=A|B;
end
end
always @(posedge clk ) begin //同步復位 綜合出FDRE
if(rst)
Q1<=1;
else begin
Q1<=A|B;
end
end
always @(posedge clk or posedge rst) begin//異步置位 綜合出FDPE
if(rst)
Q2<=1;
else begin
Q2<=A|B;
end
end
always @(posedge clk) begin//同步置位 綜合出FDSE
if(rst)
Q3<=1;
else begin
Q3<=A|B;
end
end
endmodule
審核編輯 :李倩
-
FPGA
+關(guān)注
關(guān)注
1630文章
21796瀏覽量
606011 -
存儲器
+關(guān)注
關(guān)注
38文章
7528瀏覽量
164344 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2003瀏覽量
61347
原文標題:FPGA——LUT/FDRE/FDCE/FDSE/FDPE
文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論