多狀態(tài)機協(xié)同設(shè)計論文

時間:2023-05-04 00:04:42 論文范文 我要投稿
  • 相關(guān)推薦

多狀態(tài)機協(xié)同設(shè)計論文

  隨著微電子技術(shù)的迅速發(fā)展,人們對數(shù)字系統(tǒng)的需求也在提高[ 1 ]。不僅要有完善的功能,而且對速度也提出了很高的要求。對于大部分數(shù)字系統(tǒng),都可以劃分為控制單元和數(shù)據(jù)單元兩個組成部分。通常,控制單元的主體是一個有限狀態(tài)機 ,它接收外部信號以及數(shù)據(jù)單元產(chǎn)生的狀態(tài),產(chǎn)生控制信號序列。有限狀態(tài)機設(shè)計的關(guān)鍵是如何把一個實際的時序邏輯關(guān)系抽象成一個時序邏輯函數(shù),傳統(tǒng)的電路圖輸入法通過直接設(shè)計寄存器組來實現(xiàn)各個狀態(tài)之間的轉(zhuǎn)換, 而用硬件描述語言來描述有限狀態(tài)機, 往往是通過充分發(fā)揮硬件描述語言的抽象建模能力,通過對系統(tǒng)在系統(tǒng)級或寄存器傳輸級進行描述來建立有限狀態(tài)機。eda 工具的快速發(fā)展,使通過cad快速設(shè)計有限狀態(tài)機自動化成為可能。

多狀態(tài)機協(xié)同設(shè)計論文

  傳統(tǒng)上在系統(tǒng)級和寄存器傳輸級完成vhdl 的描述主要分以下幾步:

  (1) 分析控制器設(shè)計指標, 建立系統(tǒng)算法模型圖;

  (2) 分析被控對象的時序狀態(tài), 確定控制器有限狀態(tài)機的各個狀態(tài)及輸入.輸出條件;

  (3) 應用vhdl 語言完成描述。

  使用xilinx的ise6.1軟件包的輔助工具statecad能加速有限狀態(tài)機設(shè)計,大大簡化狀態(tài)機的設(shè)計過程,實現(xiàn)狀態(tài)機設(shè)計的自動化。使用statecad進行狀態(tài)機設(shè)計的流程如下:

  (1) 分析控制器設(shè)計指標, 建立系統(tǒng)算法模型圖;

  (2) 分析被控對象的時序狀態(tài), 確定控制器有限狀態(tài)機的各個狀態(tài)及輸入.輸出條件;

  (3) 在statecad中輸入有限狀態(tài)機狀態(tài)圖,自動產(chǎn)生vhdl模型描述,使用statebench進行狀態(tài)轉(zhuǎn)移分析,分析無誤后使用導出vhdl模型塊到ise中進行仿真后綜合,實現(xiàn)到cpld或fpga的映射。

  設(shè)計人員的主要工作在第一步。第二步,第三步基本上可以通過statecad完成有限狀態(tài)機的自動生成和分析,還可以利用分析結(jié)果來對被控對象的邏輯進行分析,改進,完善系統(tǒng)控制邏輯。

  在需要并行處理的場合,往往需要采用多狀態(tài)機來完成系統(tǒng)的控制任務,這時狀態(tài)機之間的同步問題往往是設(shè)計者需要仔細考慮的問題。如果采用完全人工輸入代碼的方法來設(shè)計,往往力不從心。采用statecad完成整個控制邏輯的設(shè)計并對設(shè)計結(jié)果進行驗證更能體現(xiàn)cad設(shè)計方法的優(yōu)勢,加速產(chǎn)品開發(fā)進度,提高設(shè)計生產(chǎn)率。

  下面以一個雙狀態(tài)機設(shè)計過程來介紹如何使用statecad進行多狀態(tài)機的協(xié)同設(shè)計。

  有二個狀態(tài)機,一個負責對m0寫,一個負責對m0讀操作,為了簡單起見,系統(tǒng)已經(jīng)盡量簡化了。

  負責對m0寫的狀態(tài)機包括四個狀態(tài):

  state0:寫狀態(tài)機復位后初始化;

  write0:對m0寫,寫滿4個轉(zhuǎn)到m0full;

  m0full:m0滿狀態(tài);

  m0writewait:等待。m0滿時轉(zhuǎn)入write0狀態(tài)。

  負責對m0讀的狀態(tài)機包括四個狀態(tài):

  state1:讀狀態(tài)機復位后初始化

  read0:對m0讀,讀4個轉(zhuǎn)到m0empty

  m0empty:m0空狀態(tài)

  m0readwait:等待。m0空時轉(zhuǎn)入read0狀態(tài)

  負責對m0寫的狀態(tài)機必須知道m(xù)0是空的,而負責對m0讀的狀態(tài)機必須知道m(xù)0是滿的才能讀。讀完了通知負責對m0寫的狀態(tài)機m0是空的,可以寫了。二個狀態(tài)機同時并行工作。m0寫的狀態(tài)機在寫操作完了,就等待m0空。m0讀的狀態(tài)機在讀操作完了,就等待m0滿。在statecad中,狀態(tài)本身可以作為其他狀態(tài)機的轉(zhuǎn)移條件。這也正是在進行多狀態(tài)機的協(xié)同設(shè)計中最需要的功能,能大大方便多狀態(tài)機的設(shè)計。

  輸入完狀態(tài)圖,就基本完成了狀態(tài)機的設(shè)計過程。進行邏輯優(yōu)化(工具自動進行邏輯優(yōu)化)后,使用statebench進行狀態(tài)轉(zhuǎn)移分析。以下是自動狀態(tài)轉(zhuǎn)移模擬波形。

【多狀態(tài)機協(xié)同設(shè)計論文】相關(guān)文章:

文獻資料管理在協(xié)同設(shè)計平臺的作用論文05-01

路線與橋梁的協(xié)同設(shè)計04-26

多機協(xié)同攻擊中的目標分配研究04-26

多機協(xié)同攻擊邏輯的蟻群算法研究04-30

多機協(xié)同多目標攻擊系統(tǒng)研究04-30

讓學生多設(shè)計04-30

彈著時間可控的機動目標多彈協(xié)同制導律05-01

協(xié)同努力鞏固學校家庭學習鏈論文05-02

設(shè)計指標最優(yōu)分配的協(xié)同方法05-02

飛機設(shè)計制造協(xié)同流程的研究04-30