基于LEON3处理器和Speed协处理器的复杂SoC设计实现*
本文引用地址:https://www.eepw.com.cn/article/94563.htm
图7 Speed core所需的配置时序
同理于控制字,滤波系数和原始数据的输入亦需要一定的HDL代码来实现指令或数据向时序图的转化,其本质相当于译码,实现起来难度不大,此处就不再累述。Speed处理后数据通过状态信号(zero_flag)下降沿触发LEON3的中断响应,实现向外部存储器的输出,此过程和数据输入类似。
编程、编译及仿真
用户在C编程时,只需要按照Speed所需的启动方式,先设置控制字、再输入滤波系数、然后启动DMA输入原始数据。值得注意的地方是,为了实现Speed的运算与DMA中原始数据输入同步,需要在C代码的不同指令间插入一定的延迟指令,此延迟间隔可根据软硬件的响应速度来计算。
Gaisler Research公司提供完整的LEON3开发套件,包括C代码编译器sparc-elf-gcc,大大方便了软硬件开发和联合调试。 将LEON3和Speed的SoC硬件HDL描述,及编译后的二进制指令调入Modelsim进行软件仿真,再利用FPGA进行硬件仿真,其结果如图8、9、10所示。

图8 从C语言控制字产生的配置时序
评论