• 沒有找到結果。

Sw/Hw Interface Modeling

System FFT Accelerator

3.3 Sw/Hw Interface Modeling

在有限狀態機(FSM)模型中,我們以一組可能的狀態來描述系

統行為,系統在任一時間只能處於一狀態;我們也描述可能的狀態 轉移,這些轉移取決於輸入值,最後我們描述可能的狀態轉移時所 發生的動作。由圖 3.7 和 3.8 中,我們藉由四種不同的硬體狀態及硬 體暫存器,來描述我們軟硬體(SW/HW)溝通方式。首先我們設計了一 個軟硬體溝通介面,並利用狀態機運行來詮釋其軟硬體間溝通的模 式。在此軟硬體運作模型中,圖 3.7 左側為 FFT 軟體模型,圖型右

側是硬體加速器模型。軟體系統第一個狀態為系統等待狀態 (idle state),第二個為系統傳輸狀態(transmit state),第三個為系統接收狀 態(receive state);右側硬體系統第一個狀態為系統等待狀態 (idle state),第二個為系統接收狀態(receive state),第三個為系統運算狀 態(compute state) ,第四個為系統傳輸狀態(transmit state)。兩者由 Idle 狀態開始進行初始化動作,接下來軟體系統進入傳輸狀態,在 這個狀態軟體會傳送資料給硬體 FFT 加速器,當軟體系統傳完資料 後直接切入 receive 狀態,而且硬體 FFT 加速器在接收完資料後開始 進行計算,等計算完畢,會通知軟體系統去抓取計算好的結果,軟 體系統接收完資料後,就會通知硬體 FFT 加速器一起恢復至 Idle 狀 態,整個系統即自動運行到下一個運算週期。

圖 3.8 為硬體 FFT 加速器狀態機描述,起始狀態為 Idle 狀態,此 時 control 與 status 位元皆設為 0,FFT 加速器停留在 Idle 狀態;當 軟體系統開始傳送資料時 control 位元會被軟體設定為’1’;硬體 FFT 加速器於是進入 receive 狀態並開始進行資料接收及進入 Compute 狀 態進行運算,然後我們在硬體加速器內部有一個點數計數器,會根 據軟體系統傳送過來的點數資料進行計算,當硬體加速器計算完 畢,硬體加速器會將 status 位元設定為’1’ ;而軟體系統偵測 status 訊號為’1’ 時,軟體系統即到暫存器內去抓取計算好的結果;抓完後

control 位元會被清除為’0’ ;此時硬體加速器轉移到 Idle 狀態並將 status 位元設為 0;而整個軟硬體且自動運行到下一個週期的運算;

以上說明為軟硬體(SW/HW) 狀態機動作描述。這個詳細的暫存器配 置說明如下:我們在加速器內動態配置有 2*4*N 個位元組大小的暫 存器,做為計算及輸出輸入資料的暫存區,其暫存器配置區分為實 數及虛數部分,每筆資料需使用 4 個位元組,舉例而言如果有 1024 筆資料則需要 2*4*1024 個位元組,去做為資料暫存區,其中包含有 實數及虛數部分,另外有控制位元及狀態位元暫存器 (register) 被用 於軟硬體間的溝通,也就是說當兩個系統建立連絡時,就交換預設 控制信號或字元程序 (handshaking) 。

Figure 3.7 FFT SW/HW Model

Figure 3.8 FFT Accelerator Register/State Machine Model

相關文件