新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种基于FPGA的栈空间管理器的研究和设计

一种基于FPGA的栈空间管理器的研究和设计

作者: 时间:2010-09-21 来源:网络 收藏

  
  2器总体结构
  
  为了节约RAM开销,从总体结构上构建了一款具有LIFO及自检功能的器。器结构包括一个双端口存储单元、状态控制逻辑模块、地址产生逻辑模块、中断判断逻辑。其中状态控制逻辑模块由空/满标志产生逻辑、二进制运算逻辑和标志寄存器组3部分组成;地址产生逻辑模块由读/写地址逻辑、中断栈逻辑和地址寄存器组3部分组成。
  
  由图2可知,状态控制逻辑模块的工作过程为:从标志寄存器组中读出当前的使用量fcount信号值,fcount信号值传送至二进制运算逻辑。在读/写控制信号有效的情况下,二进制运算逻辑有效,修改fcount信号值,修改后的值作为USED的输出值,同时写回到标志寄存器的对应fcount位中。修改后的信号值也作为空/满标志产生逻辑的输入信号,空/满标志产生逻辑生成Full/Empty标志,并把该标志位写回到标志寄存器对应位Full/Empty中。其中标志寄存器freg的结构如图3所示,初始值为0000001000000000B。

一种基于FPGA的栈空间管理器的研究和设计


  
  中断判断逻辑由输入信号INT与标志寄存器位IntNesting值决定是否有效。如果有中断发生,则中断栈逻辑有效,中断栈逻辑生成读/写地址,否则读/写地址逻辑有效,生成相应的读/写地址。
  
  在读/写控制信号有效的情况下,从堆栈地址寄存器组中读出当前任务的地址,经过读/写地址逻辑或中断栈逻辑产生堆栈地址指针,作为HOS堆栈空间的入栈/出栈地址。执行入栈时,在同步时钟和入栈控制信号有效的情况下,中断判断逻辑判断是否存在中断或中断嵌套,如果没有,则由写地址逻辑生成入栈地址;否则由中断栈逻辑生成写地址。同理,执行出栈时,在同步时钟和出栈控制信号有效的情况下,中断判断逻辑判断是否存在中断或中断嵌套,如果没有,则读地址逻辑生成出栈地址;否则中断栈逻辑生成出栈地址。



评论


相关推荐

技术专区

关闭