松耦合式可編程復雜SoC的設計實(shí)現
用戶(hù)在C編程時(shí),只需要按照Speed所需的啟動(dòng)方式,先設置控制字、再輸入濾波系數、然后啟動(dòng)DMA輸入原始數據。值得注意的地方是,為了實(shí)現Speed的運算與DMA中原始數據輸入同步,需要在C代碼的不同指令間插入一定的延遲指令,此延遲間隔可根據軟硬件的響應速度來(lái)計算。
Gaisler Research公司提供完整的LEON3開(kāi)發(fā)套件,包括C代碼編譯器sparc-elf-gcc,大大方便了軟硬件開(kāi)發(fā)和聯(lián)合調試。 將LEON3和Speed的SoC硬件HDL描述,及編譯后的二進(jìn)制指令調入Modelsim進(jìn)行軟件仿真,再利用FPGA進(jìn)行硬件仿真,其結果如圖8、9、10所示。

圖8 從C語(yǔ)言控制字產(chǎn)生的配置時(shí)序

圖9 觸發(fā)中斷響應的zero_flag信號

圖10 在A(yíng)ltera StratixII 2S180中的仿真結果
結語(yǔ)
本項目利用LEON3的高性能、易編程、開(kāi)源等優(yōu)點(diǎn),開(kāi)發(fā)了AHB總線(xiàn)接口和DMA控制器,實(shí)現了Speed專(zhuān)用信號處理器的軟件可編程,大大簡(jiǎn)化了Speed用戶(hù)的開(kāi)發(fā)過(guò)程。有待改進(jìn)之處是,1)當前Speed可處理40bit數據,而Leon3是32bit,沒(méi)有最大限度發(fā)揮Speed的運算能力;2)如果在LEON3上運行RTEMS (Real Time Executive for MultiProcessor Systems) 操作系統,將進(jìn)一步方便用戶(hù)擴展LEON3的利用價(jià)值。
評論