一種基于CPLD的聲發(fā)射信號傳輸系統(tǒng)設(shè)計
3.3 控制程序設(shè)計
pci9054單周期讀、寫和dma讀的vhdl語言時序控制狀態(tài)機設(shè)計如圖4所示。圖中,s0為空閑狀態(tài)。當(dāng)本地總線請求信號lhold被置1時轉(zhuǎn)到s1,否則留在s0。s1為總線保持狀態(tài),此狀態(tài)下應(yīng)將本地總線響應(yīng)信號lholda置1。如ads信號為0且lw/r為1則轉(zhuǎn)到s3,如ads信號為1且lw/r和blast為0則轉(zhuǎn)到s4,這種狀態(tài)表明此次讀操作為單周期讀。s2為dma讀狀態(tài),在此狀態(tài)下應(yīng)將ready信號和fifo讀使能信號ren1置0。如blast為1,則表明此次dma讀取還未完成,應(yīng)繼續(xù)留在s2,如blast為0,則表明此次dma讀取完成,可轉(zhuǎn)到s4。s3為單周期寫狀態(tài),此狀態(tài)下也要置ready信號為0以表示寫數(shù)據(jù)有效,并在blast為0時轉(zhuǎn)到s4。s4為讀寫操作完成狀態(tài),當(dāng)lhold被置0時,表明pci9054不再請求本地總線,此時應(yīng)轉(zhuǎn)到s0,當(dāng)blast為0且lhold為1時,表明pci9054還要進行數(shù)據(jù)讀寫,故應(yīng)轉(zhuǎn)到s1繼續(xù)操作。
3.4 控制程序邏輯的仿真結(jié)果
max+plusⅱ是開發(fā)aletra公司的fpga/CPLD系列產(chǎn)品的軟件工具,本設(shè)計利用此工具提供的設(shè)計環(huán)境和設(shè)計工具來對cpld控制程序進行開發(fā)和調(diào)試。其功能時序如圖5所示。
cpld的設(shè)計是用vhdl編程實現(xiàn)的。本設(shè)計的操作代碼都已經(jīng)過仿真,并在實際調(diào)試中得到應(yīng)用。
評論