每個slice有8個存儲元素,每個存儲元素如下圖所示:
?其中四個為DFF/LATCH,可以配置為邊沿觸發(fā)D型觸發(fā)器或電平敏感鎖存器輸入上圖。D輸入可以通過AFFMUX, BFFMUX, CFFMUX或DFFMUX的LUT輸出直接驅(qū)動,也可以通過AX, BX, CX或DX輸入繞過函數(shù)發(fā)生器的 BYPASS slice輸入直接驅(qū)動。當配置為鎖存器時,當CLK 為低電平時,鎖存器是透明的。
另外四個為僅為DFF,它們只能配置為邊沿觸發(fā)的D型觸發(fā)器。D輸入可以由LUT的O5輸出驅(qū)動,也可以由AX, BX, CX或DX輸入的BYPASS slice輸入驅(qū)動。當原始的四個存儲單元配置為閂鎖時,這四個附加的存儲單元將無法使用。觸發(fā)器代碼如下,當敏感型號 CLK 上升沿到來把 B 值賦給
Aalways@(posedge CLK)
A<=B;
鎖存器代碼如下,當C為1 時候把 B 賦值給 A,鎖存器應該盡力避免,因為會影響到電路時序收斂,對毛刺敏感,容易導致意想不到的錯誤。
always@(*)
if(C==1'bl)
A<=B;
避免鎖存器的代碼
always@(*)
if(C==1'bl)
A<=B;
else文章來源:http://www.zghlxwxcb.cn/news/detail-801554.html
A<=1'b0;文章來源地址http://www.zghlxwxcb.cn/news/detail-801554.html
到了這里,關(guān)于FPGA之 寄存器、觸發(fā)器、鎖存器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!