松耦合式可編程復雜SoC的設計實現(xiàn)
用戶在C編程時,只需要按照Speed所需的啟動方式,先設置控制字、再輸入濾波系數(shù)、然后啟動DMA輸入原始數(shù)據(jù)。值得注意的地方是,為了實現(xiàn)Speed的運算與DMA中原始數(shù)據(jù)輸入同步,需要在C代碼的不同指令間插入一定的延遲指令,此延遲間隔可根據(jù)軟硬件的響應速度來計算。
Gaisler Research公司提供完整的LEON3開發(fā)套件,包括C代碼編譯器sparc-elf-gcc,大大方便了軟硬件開發(fā)和聯(lián)合調(diào)試。 將LEON3和Speed的SoC硬件HDL描述,及編譯后的二進制指令調(diào)入Modelsim進行軟件仿真,再利用FPGA進行硬件仿真,其結(jié)果如圖8、9、10所示。
圖8 從C語言控制字產(chǎn)生的配置時序
圖9 觸發(fā)中斷響應的zero_flag信號
圖10 在Altera StratixII 2S180中的仿真結(jié)果
結(jié)語
本項目利用LEON3的高性能、易編程、開源等優(yōu)點,開發(fā)了AHB總線接口和DMA控制器,實現(xiàn)了Speed專用信號處理器的軟件可編程,大大簡化了Speed用戶的開發(fā)過程。有待改進之處是,1)當前Speed可處理40bit數(shù)據(jù),而Leon3是32bit,沒有最大限度發(fā)揮Speed的運算能力;2)如果在LEON3上運行RTEMS (Real Time Executive for MultiProcessor Systems) 操作系統(tǒng),將進一步方便用戶擴展LEON3的利用價值。
評論