基于LEON3處理器和Speed協(xié)處理器的復雜SoC設計實現*
本文引用地址:http://m.butianyuan.cn/article/94563.htm
圖7 Speed core所需的配置時序
同理于控制字,濾波系數和原始數據的輸入亦需要一定的HDL代碼來實現指令或數據向時序圖的轉化,其本質相當于譯碼,實現起來難度不大,此處就不再累述。Speed處理后數據通過狀態(tài)信號(zero_flag)下降沿觸發(fā)LEON3的中斷響應,實現向外部存儲器的輸出,此過程和數據輸入類似。
編程、編譯及仿真
用戶在C編程時,只需要按照Speed所需的啟動方式,先設置控制字、再輸入濾波系數、然后啟動DMA輸入原始數據。值得注意的地方是,為了實現Speed的運算與DMA中原始數據輸入同步,需要在C代碼的不同指令間插入一定的延遲指令,此延遲間隔可根據軟硬件的響應速度來計算。
Gaisler Research公司提供完整的LEON3開發(fā)套件,包括C代碼編譯器sparc-elf-gcc,大大方便了軟硬件開發(fā)和聯(lián)合調試。 將LEON3和Speed的SoC硬件HDL描述,及編譯后的二進制指令調入Modelsim進行軟件仿真,再利用FPGA進行硬件仿真,其結果如圖8、9、10所示。
圖8 從C語言控制字產生的配置時序
評論