一种基于FPGA的栈空间管理器的研究和设计
时间:11-09
来源:互联网
点击:
4 仿真结果分析
本栈空间管理器容量为10KB,宽度为16bit。在ISE8.2i开发软件中进行了综合和仿真,设计中使用了294个Slices芯片、396个触发器芯片、274个inputLUTs、60个boundedIOBs、1个块BRAMs。
仿真时,输入十进制数的数据,图6为系统时序仿真波形图。
(1)当INT无效时,即系统中不存在中断或中断嵌套。在push有效的情况下,置prio信号值为2,data_in信号值分别为32768、57908。仿真时,输出结果为:used信号值分别为1、2,而ostcbstkptr信号值分别为128、129;同理,在pop有效情况下,置prio信号值为2,观察仿真结果为:dout_out信号值分别为32768、57908,used的信号值分别为1、0,ostcbstkptr信号值分别为129、128。由此可得,在无中断处理的条件下,根据任务的优先级prio,按LIFO原则在任务栈中写入和读出数据,并且每次的有效操作同时修改当前任务的used和ostcbstkptr信号值。
(2)当INT有效时,即系统中产生中断或存在中断嵌套。在push有效的情况下,置prio信号值为6及data_in信号值为8192,观察仿真结果为:used信号值依次为1、2、3、4,ostcbstkptr信号值依次为576、577、578、579;同理,在pop有效情况下,置prio为6,此时的仿真结果:data_out信号值为8192,used信号值依次输出4、3、2、1,ostcbstkptr信号值依次输出579、578、577、576。由此可得,当系统中产生中断或存在中断嵌套,按LIFO原则在中断嵌套栈中写入和读出数据,并且每次有效操作同时修改中断嵌套栈的used和ostcbstkptr的值。
由以上结果分析可知,该实验验证了栈空间管理器的正确性,符合系统设计的要求。
本文分析了堆栈空间结构及对被切换任务相应数据信息的保护,并对堆栈空间进行了合理的结构划分。实验数据表明了该系统的可行性和稳定性。栈空间管理器能有效节约硬实时操作系统分配堆栈空间的时间,减少RAM存储空间。从硬件角度上看,简化了设计,降低了成本,具有一定的使用价值。目前只在实验平台上仿真,下一步拟将栈空间管理器的IP核应用于硬实时操作系统,以提高操作系统的运行效率。
本栈空间管理器容量为10KB,宽度为16bit。在ISE8.2i开发软件中进行了综合和仿真,设计中使用了294个Slices芯片、396个触发器芯片、274个inputLUTs、60个boundedIOBs、1个块BRAMs。
仿真时,输入十进制数的数据,图6为系统时序仿真波形图。
(1)当INT无效时,即系统中不存在中断或中断嵌套。在push有效的情况下,置prio信号值为2,data_in信号值分别为32768、57908。仿真时,输出结果为:used信号值分别为1、2,而ostcbstkptr信号值分别为128、129;同理,在pop有效情况下,置prio信号值为2,观察仿真结果为:dout_out信号值分别为32768、57908,used的信号值分别为1、0,ostcbstkptr信号值分别为129、128。由此可得,在无中断处理的条件下,根据任务的优先级prio,按LIFO原则在任务栈中写入和读出数据,并且每次的有效操作同时修改当前任务的used和ostcbstkptr信号值。
(2)当INT有效时,即系统中产生中断或存在中断嵌套。在push有效的情况下,置prio信号值为6及data_in信号值为8192,观察仿真结果为:used信号值依次为1、2、3、4,ostcbstkptr信号值依次为576、577、578、579;同理,在pop有效情况下,置prio为6,此时的仿真结果:data_out信号值为8192,used信号值依次输出4、3、2、1,ostcbstkptr信号值依次输出579、578、577、576。由此可得,当系统中产生中断或存在中断嵌套,按LIFO原则在中断嵌套栈中写入和读出数据,并且每次有效操作同时修改中断嵌套栈的used和ostcbstkptr的值。
由以上结果分析可知,该实验验证了栈空间管理器的正确性,符合系统设计的要求。
本文分析了堆栈空间结构及对被切换任务相应数据信息的保护,并对堆栈空间进行了合理的结构划分。实验数据表明了该系统的可行性和稳定性。栈空间管理器能有效节约硬实时操作系统分配堆栈空间的时间,减少RAM存储空间。从硬件角度上看,简化了设计,降低了成本,具有一定的使用价值。目前只在实验平台上仿真,下一步拟将栈空间管理器的IP核应用于硬实时操作系统,以提高操作系统的运行效率。
汽车电子 嵌入式 FPGA Xilinx VHDL 仿真 相关文章:
- 初学者如何学习FPGA(08-06)
- 在汽车娱乐电子中采用FPGA推动的参考设计(07-17)
- 基于改进型二步索引算法OSD电路的FPGA(08-01)
- 基于CPLD的VGA视频显示系统的设计应用(08-09)
- 基于ARM9和Linux的FPGA驱动设计(08-20)
- 利用FPGA实现低成本汽车多总线桥接(08-30)