什么是同步有限狀態(tài)機?
同步:所有的狀態(tài)跳轉(zhuǎn)都是在時鐘的作用下進行
有限:狀態(tài)的個數(shù)是有限的
為什么要用狀態(tài)機?
FPGA是并行處理的,如果我們想要處理具有前后順序的事件時,就需要引入狀態(tài)機。狀態(tài)機的每一個狀態(tài)代表一個事件,從執(zhí)行當前事件到執(zhí)行另一事件我們稱之為狀態(tài)的跳轉(zhuǎn)或狀態(tài)的轉(zhuǎn)移。
狀態(tài)機特別適合描述那些發(fā)生有先后順序或時序規(guī)律的事情。小到計數(shù)器大到微處理器都適合用狀態(tài)機描述。
怎么表示狀態(tài)機?
狀態(tài)機需要具備什么?
- 輸入:根據(jù)輸入確定是否需要進行狀態(tài)跳轉(zhuǎn)
- 輸出:當前時刻狀態(tài)要做的事情是什么
- 狀態(tài):要處理的事情
狀態(tài)機的設計步驟是怎么樣的?
- 首先分析輸入、輸出有哪些,需要多少個狀態(tài)
- 其次根據(jù)分析繪制狀態(tài)轉(zhuǎn)移圖
- 設計實現(xiàn)的模塊
- 狀態(tài)機代碼的編寫
FIFO的使用
什么是FIFO?
FIFO(First In First Out)即先入先出,是一種數(shù)據(jù)緩沖器,用來實現(xiàn)數(shù)據(jù)先入先出的讀/寫方式。FIFO有一個寫端口和一個讀端口外部無需使用者控制地址,使用方便。
根據(jù)FIFO工作的時鐘域可以將FIFO分為同步FIFO和異步FIFO。同步FIFO是指讀時鐘和寫時鐘為同一個時鐘。異步FIFO是指讀/寫時鐘不一致,是相互獨立的。
FIFO的作用是什么?
- 用于緩存數(shù)據(jù)
- 用于做多bit數(shù)據(jù)的跨時鐘域處理
- 用于做時鐘、位寬不匹配問題的接口
如何使用FIFO?
- 在一定時間內(nèi),寫數(shù)據(jù)的總帶寬一定要小于等于讀數(shù)據(jù)的總帶寬
- 控制好FIFO的關鍵信號,讀寫時鐘、讀寫使能、空滿標志信號
- FIFO一定不能寫滿、也不能讀空,要考慮FIFO的背靠背問題,設置好存儲深度
FPGA設計中的技巧
一、使能信號(en)、標志信號(flag)、計數(shù)器(cnt)
二、模塊框圖設計——方案的確定
三、波形設計——代碼的實現(xiàn)
四、代碼規(guī)范——可復用性和效率
五、仿真調(diào)試——修改查錯
-
FPGA設計
+關注
關注
9文章
429瀏覽量
27859 -
有限狀態(tài)機
+關注
關注
0文章
52瀏覽量
10621 -
狀態(tài)機
+關注
關注
2文章
495瀏覽量
28657 -
FIFO存儲
+關注
關注
0文章
103瀏覽量
6259 -
數(shù)據(jù)緩沖器
+關注
關注
1文章
11瀏覽量
1915
發(fā)布評論請先 登錄
SaberRD狀態(tài)機建模工具介紹(一)什么是狀態(tài)機建模

有限狀態(tài)機有什么類型?
什么是有限狀態(tài)機呢
有限狀態(tài)機的建模與優(yōu)化設計
VHDL有限狀態(tài)機設計-ST
初學者對有限狀態(tài)機(FSM)的設計的認識

如何使用FPGA實現(xiàn)序列檢測有限狀態(tài)機

基于事件驅(qū)動的有限狀態(tài)機介紹
如何以面向?qū)ο蟮乃枷朐O計有限狀態(tài)機

評論