勇敢的芯伴你玩轉Altera FPGA連載90:FPGA片內ROM FIFO RAM聯(lián)合實(shí)例 特權同學(xué),版權所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1i5LMUUD ![]() 該工程實(shí)例內部系統功能框圖如圖9.89所示。我們通過(guò)IP核分別例化了ROM、FIFO和RAM,ROM有預存儲的數據可供讀取,將其放入FIFO中,隨后再讀出送到RAM供讀取。通過(guò)Quartus II集成的在線(xiàn)邏輯分析儀SignalTapII,我們可以觀(guān)察FPGA片內ROM、FIFO和RAM的讀寫(xiě)時(shí)序,也可以只比較ROM預存儲的數據和RAM最后讀出的數據,確認整個(gè)讀寫(xiě)緩存過(guò)程中,數據的一致性是否實(shí)現。 ![]() 圖9.89 存儲器聯(lián)合實(shí)例功能框圖 本實(shí)例工程模塊層次如圖9.90所示。 ![]() 圖9.90 存儲器聯(lián)合實(shí)例模塊層次 Quartus II中,點(diǎn)擊菜單“Tools à Run Simulation Tool à RTL Simulation”進(jìn)行仿真。接著(zhù),Modelsim中我們可以查看讀FIFO的波形。 ROM、FIFO和RAM讀寫(xiě)波形如圖9.92所示。 ![]() 圖9.92 ROM、FIFO和RAM讀寫(xiě)波形 ROM讀數據波形如圖9.93所示。 ![]() 圖9.93 ROM讀數據波形 FIFO第一次讀波形如圖9.94所示。 ![]() 圖9.94 第一次FIFO讀數據波形 FIFO第二次讀波形如圖9.95所示。 ![]() 圖9.95 第二次FIFO讀數據波形 FIFO第三次讀波形如圖9.96所示。 ![]() 圖9.96 第三次FIFO讀數據波形 FIFO第四次讀波形如圖9.97所示。 ![]() 圖9.97 第四次FIFO讀數據波形 RAM讀數據波形如圖9.98所示。 ![]() 圖9.98 RAM讀數據波形 連接好下載線(xiàn),給CY4開(kāi)發(fā)板供電。 點(diǎn)擊菜單“Tools à SignalTap II Logic Analyzer”,進(jìn)入邏輯分析儀主頁(yè)面。 在右側的“JTAG ChinaConfiguration”窗口中,建立好USB Blaster的連接后,點(diǎn)擊“SOF Manager”后面的Programmer按鈕進(jìn)行下載。 如圖9.99所示,在“trigger”下面羅列了我們已經(jīng)添加好的需要觀(guān)察的信號,尤其是在almost_full信號的TriggerConditions一列,我們設置了值上升沿,表示almost_full上升沿(FIFO快要滿(mǎn)了)時(shí)我們將觸發(fā)采集。另外,我們用鼠標點(diǎn)擊選中Instance下面的唯一一個(gè)選項,然后單擊InstanceManager后面的運行按鈕,執行一次觸發(fā)采集。 ![]() 圖9.99 波形采樣觸發(fā)設置 波形如圖9.100所示。這里包括了ROM的讀取操作、FIFO的寫(xiě)和讀操作、RAM的寫(xiě)和讀操作。 ![]() 圖9.100 ROM、FIFO和RAM讀寫(xiě)波形 |