同步和異步電路
在學習一門技術之前往往應該從它的編程語言入手,比如學習單片機時,往往從匯編或者C語言入門。所以不少開始接觸FPGA的開發人員,往往是從VHDL或者Verilog開始入手學習的。但小編認為,若能先結合《數字電路基礎》系統學習各種74系列邏輯電路,深刻理解邏輯功能,對於學習HDL語言大有裨益,往往會起到事半功倍的效果。
當然,任何編程語言的學習都不是一朝一夕的事,經驗技巧的積累都是在點滴中完成,FPGA設計也無例外。下面繼續分享一些FPGA經驗。
FPGA中的Block RAM:
3種塊RAM結構,M512 RAM(512bit)、M4K RAM(4Kbit)、M-RAM(64Kbit)。
M512 RAM:適合做一些小的Buffer、FIFO、DPRAM、SPRAM、ROM等;
M4K RAM: 適用於一般的需求;
M-RAM: 適合做大塊數據的緩沖區。
Xlinx 和 LatTIce FPGA的LUT可以靈活配置成小的RAM、ROM、FIFO等存儲結構,這種技術被稱為分布式RAM。
補充:但是在一般的設計中,不提倡用FPGA/CPLD的片內資源配置成大量的存儲器,這是處於成本的考慮。所以盡量采用外接存儲器。
善用芯片內部的PLL或DLL資源完成時鐘的分頻、倍頻率、移相等操作不僅簡化了設計,並且能有效地提高系統的精度和工作穩定性。
異步電路和同步時序電路的區別。
異步電路:
電路核心邏輯有用組合電路實現;
異步時序電路的最大缺點是容易產生毛刺;
不利於器件移植;
不利於靜態時序分析(STA)、驗證設計時序性能。
同步時序電路:
電路核心邏輯是用各種觸發器實現;
電路主要信號、輸出信號等都是在某個時鐘沿驅動觸發器產生的;
同步時序電路可以很好的避免毛刺;
利於器件移植;
利於靜態時序分析(STA)、驗證設計時序性能。
同步設計中,穩定可靠的數據采樣必須遵從以下兩個基本原則:
(1)在有效時鐘沿到達前,數據輸入至少已經穩定了采樣寄存器的Setup時間之久,這條原則簡稱滿足Setup時間原則;
(2)在有效時鐘沿到達後,數據輸入至少還將穩定保持采樣寄存器的Hold時鐘之久,這條原則簡稱滿足Hold時間原則。
版權所有權歸卿萃科技 杭州FPGA事業部,轉載請註明出處
作者:杭州卿萃科技ALIFPGA
原文地址:杭州卿萃科技FPGA極客空間 微信公眾號
掃描二維碼關註杭州卿萃科技FPGA極客空間
同步和異步電路