新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于Verilog的FPGA與USB 2.0高速接口設(shè)計(jì)

基于Verilog的FPGA與USB 2.0高速接口設(shè)計(jì)

作者: 時(shí)間:2009-04-23 來(lái)源:網(wǎng)絡(luò) 收藏

2.2 控制程序設(shè)計(jì)
CY7C68013A提供的端口FIFO的讀寫(xiě)操作,與普通FIFO讀寫(xiě)操作方式一樣。CY7C68013A為每個(gè)端口提供了“空”標(biāo)志、“滿”標(biāo)志和“ 可編程級(jí)”標(biāo)志。檢測(cè)這些信號(hào),用于控制讀寫(xiě)的過(guò)程。在完成這些端口FIFO的操作時(shí),采用 HDL硬件描述語(yǔ)言實(shí)現(xiàn)了FIFO的讀寫(xiě)時(shí)序,并在ALTERA公司提供的QuartusⅡ8.O開(kāi)發(fā)工具中綜合編譯并映射到FPGA中運(yùn)行。
2.2.1 從屬FIFO異步“讀”操作
實(shí)現(xiàn)異步從屬FIFO“讀”的狀態(tài)機(jī)如圖3所示。其狀態(tài)轉(zhuǎn)移進(jìn)程如下:

IDLE:當(dāng)“寫(xiě)”事件發(fā)生時(shí),轉(zhuǎn)到狀態(tài)1。
狀態(tài)1:指向OUT FIFO,激活FIFOADR[1:O],轉(zhuǎn)向狀態(tài)2。
狀態(tài)2:激活SLOE,如果FIFO空標(biāo)志為“假”(FIFO不空),則轉(zhuǎn)向狀態(tài)3;否則停留在狀態(tài)2。
狀態(tài)3:激活SLOE,SLRD,傳送總線采樣數(shù)據(jù);撤銷激活SLRD(指針加1)和SLOE,轉(zhuǎn)向狀態(tài)4。
狀態(tài)4:如果有更多的數(shù)據(jù)要求,則轉(zhuǎn)向狀態(tài)2;否則轉(zhuǎn)向IDLE。
實(shí)現(xiàn)以上狀態(tài)機(jī)的仿真波形如圖4所示。
2.2.2 從屬FIFO異步“寫(xiě)”操作
實(shí)現(xiàn)異步從屬FIFO“寫(xiě)”的狀態(tài)機(jī)如圖5所示。其狀態(tài)轉(zhuǎn)移進(jìn)程如下:



關(guān)鍵詞: Verilog FPGA USB 高速接口

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉