基于FPGA的仿真系統(tǒng)數(shù)據(jù)采集控制器IP核設(shè)計
3 系統(tǒng)實(shí)現(xiàn)
本IP 核功能邏輯的設(shè)計基于其任務(wù)邏輯定制的基本功能和技術(shù)指標(biāo)。本設(shè)計的任務(wù)邏輯主要完成對模擬仿真系統(tǒng)前端模擬設(shè)備發(fā)送指令以及采集前端模擬設(shè)備狀態(tài)量數(shù)據(jù)。其功能邏輯也基于發(fā)送指令和接收數(shù)據(jù)兩個數(shù)據(jù)流來設(shè)計,如圖4所示。
為避免高速、高頻系統(tǒng)時序中常存在的競爭、毛刺危險以及建立與保持時間相抵觸等問題,本IP核采用同步設(shè)計的方案。同時,為解決實(shí)際中仍會經(jīng)常出現(xiàn)系統(tǒng)產(chǎn)生毛刺和時鐘偏斜等問題。本IP核中擬將時鐘控制改為觸發(fā)器輸入允許,將時鐘選擇改為獨(dú)立的時鐘分析[7]。
為加快本設(shè)計的運(yùn)行速度及處理效率,本IP核的設(shè)計以功能邏輯處理機(jī)制為基礎(chǔ),分別對發(fā)送流程和接收流程設(shè)計狀態(tài)機(jī)并實(shí)現(xiàn)[8]。
在發(fā)送流程的狀態(tài)轉(zhuǎn)換過程中,共有6個狀態(tài),如圖5所示。IP核的控制邏輯判斷來自主機(jī)的發(fā)送數(shù)據(jù)命令后,首先檢查其各功能模塊的準(zhǔn)備情況,如果準(zhǔn)備好,即開始發(fā)送數(shù)據(jù),從寄存器單元中取出待發(fā)送數(shù)據(jù)并送至網(wǎng)絡(luò)通信模塊,由其發(fā)送至前端模擬設(shè)備。在此過程中,不斷檢測發(fā)送完成標(biāo)志位DataEND,如果該標(biāo)志位變?yōu)橛行t表示發(fā)送成功,將此信息反饋給主機(jī)并進(jìn)入下一工作周期等待狀態(tài);如果超時該標(biāo)志位仍未變化,則反饋回主機(jī)發(fā)送失敗的信息,并請求重發(fā)。
相應(yīng)地,如圖6所示,接收流程的狀態(tài)轉(zhuǎn)換過程有7個狀態(tài)。其工作大致與發(fā)送流程相同,只是接收數(shù)據(jù)從寄存器單元讀出后,要先經(jīng)過數(shù)據(jù)模式的轉(zhuǎn)換后,再發(fā)送給主機(jī)使用。
評論