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