微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于LEON3处理器和Speed协处理器的复杂SoC设计实现

基于LEON3处理器和Speed协处理器的复杂SoC设计实现

时间:06-01 来源:互联网 点击:

图6 C语言描述的Speed控制字



  图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语言控制字产生的配置时序



  图9 触发中断响应的zero_flag信号  


  图10 在Altera StratixII 2S180中的仿真结果

  结语
  本项目利用LEON3的高性能、易编程、开源等优点,开发了AHB总线接口和DMA控制器,实现了Speed专用信号处理器的软件可编程,大大简化了Speed用户的开发过程。有待改进之处是,1)当前Speed可处理40bit数据,而Leon3是32bit,没有最大限度发挥Speed的运算能力;2)如果在LEON3上运行RTEMS (Real Time Executive for Multiprocessor Systems) 操作系统,将进一步方便用户扩展LEON3的利用价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top